Adds config to show target of ingame partner (#5307)
* Adds config to show chosen move and target of ingame partner, `#define B_SHOW_PARTNER_TARGET`, default `FALSE` --------- Co-authored-by: Hedara <hedara90@gmail.com>
This commit is contained in:
parent
de242c8a29
commit
04b5c013a9
6 changed files with 41 additions and 2 deletions
|
@ -45,6 +45,7 @@ SUPER_ER = 2C
|
||||||
LV = 34
|
LV = 34
|
||||||
'=' = 35
|
'=' = 35
|
||||||
';' = 36
|
';' = 36
|
||||||
|
V_D_ARROW = 38
|
||||||
'¿' = 51
|
'¿' = 51
|
||||||
'¡' = 52
|
'¡' = 52
|
||||||
PK = 53
|
PK = 53
|
||||||
|
|
|
@ -53,6 +53,7 @@
|
||||||
#define CHAR_EQUALS 0x35
|
#define CHAR_EQUALS 0x35
|
||||||
#define CHAR_SEMICOLON 0x36
|
#define CHAR_SEMICOLON 0x36
|
||||||
#define CHAR_BARD_WORD_DELIMIT 0x37 // Empty space to separate words in Bard's song
|
#define CHAR_BARD_WORD_DELIMIT 0x37 // Empty space to separate words in Bard's song
|
||||||
|
#define CHAR_V_D_ARROW 0x38
|
||||||
#define CHAR_INV_QUESTION_MARK 0x51
|
#define CHAR_INV_QUESTION_MARK 0x51
|
||||||
#define CHAR_INV_EXCL_MARK 0x52
|
#define CHAR_INV_EXCL_MARK 0x52
|
||||||
#define CHAR_PK 0x53
|
#define CHAR_PK 0x53
|
||||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 3.5 KiB After Width: | Height: | Size: 4.6 KiB |
|
@ -203,6 +203,9 @@
|
||||||
// Flag and Var settings
|
// Flag and Var settings
|
||||||
#define B_RESET_FLAGS_VARS_AFTER_WHITEOUT TRUE // If TRUE, Overworld_ResetBattleFlagsAndVars will reset battle-related Flags and Vars when the player whites out.
|
#define B_RESET_FLAGS_VARS_AFTER_WHITEOUT TRUE // If TRUE, Overworld_ResetBattleFlagsAndVars will reset battle-related Flags and Vars when the player whites out.
|
||||||
|
|
||||||
|
// Ingame partner flag
|
||||||
|
#define B_SHOW_PARTNER_TARGET FALSE // Shows the battler partner will target.
|
||||||
|
|
||||||
// Terrain settings
|
// Terrain settings
|
||||||
#define B_TERRAIN_BG_CHANGE TRUE // If set to TRUE, terrain moves permanently change the default battle background until the effect fades.
|
#define B_TERRAIN_BG_CHANGE TRUE // If set to TRUE, terrain moves permanently change the default battle background until the effect fades.
|
||||||
#define B_THUNDERSTORM_TERRAIN TRUE // If TRUE, overworld Thunderstorm generates Rain and Electric Terrain as in Gen 8.
|
#define B_THUNDERSTORM_TERRAIN TRUE // If TRUE, overworld Thunderstorm generates Rain and Electric Terrain as in Gen 8.
|
||||||
|
|
|
@ -2053,8 +2053,42 @@ static void PlayerHandleChooseAction(u32 battler)
|
||||||
ActionSelectionCreateCursorAt(gActionSelectionCursor[battler], 0);
|
ActionSelectionCreateCursorAt(gActionSelectionCursor[battler], 0);
|
||||||
PREPARE_MON_NICK_BUFFER(gBattleTextBuff1, battler, gBattlerPartyIndexes[battler]);
|
PREPARE_MON_NICK_BUFFER(gBattleTextBuff1, battler, gBattlerPartyIndexes[battler]);
|
||||||
BattleStringExpandPlaceholdersToDisplayedString(gText_WhatWillPkmnDo);
|
BattleStringExpandPlaceholdersToDisplayedString(gText_WhatWillPkmnDo);
|
||||||
|
|
||||||
|
if (B_SHOW_PARTNER_TARGET && gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER && IsBattlerAlive(B_POSITION_PLAYER_RIGHT))
|
||||||
|
{
|
||||||
|
StringCopy(gStringVar1, COMPOUND_STRING("Partner will use:\n"));
|
||||||
|
u32 move = gBattleMons[B_POSITION_PLAYER_RIGHT].moves[*(gBattleStruct->chosenMovePositions + B_POSITION_PLAYER_RIGHT)];
|
||||||
|
StringAppend(gStringVar1, gMovesInfo[move].name);
|
||||||
|
if (gMovesInfo[move].target == MOVE_TARGET_SELECTED)
|
||||||
|
{
|
||||||
|
if (gBattleStruct->aiChosenTarget[B_POSITION_PLAYER_RIGHT] == B_POSITION_OPPONENT_LEFT)
|
||||||
|
StringAppend(gStringVar1, COMPOUND_STRING(" -{UP_ARROW}"));
|
||||||
|
else if (gBattleStruct->aiChosenTarget[B_POSITION_PLAYER_RIGHT] == B_POSITION_OPPONENT_RIGHT)
|
||||||
|
StringAppend(gStringVar1, COMPOUND_STRING(" {UP_ARROW}-"));
|
||||||
|
else if (gBattleStruct->aiChosenTarget[B_POSITION_PLAYER_RIGHT] == B_POSITION_PLAYER_LEFT)
|
||||||
|
StringAppend(gStringVar1, COMPOUND_STRING(" {DOWN_ARROW}-"));
|
||||||
|
else if (gBattleStruct->aiChosenTarget[B_POSITION_PLAYER_RIGHT] == B_POSITION_PLAYER_RIGHT)
|
||||||
|
StringAppend(gStringVar1, COMPOUND_STRING(" {DOWN_ARROW}-"));
|
||||||
|
}
|
||||||
|
else if (gMovesInfo[move].target == MOVE_TARGET_BOTH)
|
||||||
|
{
|
||||||
|
StringAppend(gStringVar1, COMPOUND_STRING(" {UP_ARROW}{UP_ARROW}"));
|
||||||
|
}
|
||||||
|
else if (gMovesInfo[move].target == MOVE_TARGET_FOES_AND_ALLY)
|
||||||
|
{
|
||||||
|
StringAppend(gStringVar1, COMPOUND_STRING(" {V_D_ARROW}{UP_ARROW}"));
|
||||||
|
}
|
||||||
|
else if (gMovesInfo[move].target == MOVE_TARGET_ALL_BATTLERS)
|
||||||
|
{
|
||||||
|
StringAppend(gStringVar1, COMPOUND_STRING(" {V_D_ARROW}{V_D_ARROW}"));
|
||||||
|
}
|
||||||
|
BattlePutTextOnWindow(gStringVar1, B_WIN_ACTION_PROMPT);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
BattlePutTextOnWindow(gDisplayedStringBattle, B_WIN_ACTION_PROMPT);
|
BattlePutTextOnWindow(gDisplayedStringBattle, B_WIN_ACTION_PROMPT);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static void PlayerHandleYesNoBox(u32 battler)
|
static void PlayerHandleYesNoBox(u32 battler)
|
||||||
{
|
{
|
||||||
|
|
|
@ -149,7 +149,7 @@ ALIGNED(4) const u8 gFontNormalLatinGlyphWidths[] = {
|
||||||
3, 6, 6, 6, 6, 6, 6, 6, 6, 6, 3, 6, 6, 6, 6, 6,
|
3, 6, 6, 6, 6, 6, 6, 6, 6, 6, 3, 6, 6, 6, 6, 6,
|
||||||
8, 6, 6, 6, 6, 6, 6, 6, 3, 6, 6, 6, 6, 6, 6, 3,
|
8, 6, 6, 6, 6, 6, 6, 6, 3, 6, 6, 6, 6, 6, 6, 3,
|
||||||
6, 6, 6, 6, 6, 8, 6, 6, 6, 6, 6, 6, 9, 7, 6, 3,
|
6, 6, 6, 6, 6, 8, 6, 6, 6, 6, 6, 6, 9, 7, 6, 3,
|
||||||
3, 3, 3, 3, 10, 8, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
|
3, 3, 3, 3, 10, 8, 3, 3, 7, 3, 3, 3, 3, 3, 3, 3,
|
||||||
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
|
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
|
||||||
6, 6, 4, 8, 8, 8, 7, 8, 8, 4, 6, 6, 4, 4, 3, 3,
|
6, 6, 4, 8, 8, 8, 7, 8, 8, 4, 6, 6, 4, 4, 3, 3,
|
||||||
3, 3, 3, 3, 3, 3, 3, 3, 6, 3, 3, 3, 3, 3, 3, 6,
|
3, 3, 3, 3, 3, 3, 3, 3, 6, 3, 3, 3, 3, 3, 3, 6,
|
||||||
|
|
Loading…
Reference in a new issue