Review changes from pokefirered #524

This commit is contained in:
Eduardo Quezada
2022-07-29 17:00:07 -04:00
parent 9dc64b67cd
commit 5d4b76c0ba
6 changed files with 85 additions and 65 deletions
+1 -1
View File
@@ -92,7 +92,7 @@ enum {
LINK_STANDBY_MSG_ONLY, LINK_STANDBY_MSG_ONLY,
}; };
#define INSTANT_HP_BAR_DROP 32767 #define INSTANT_HP_BAR_DROP 0x7FFF
#define PARTY_SUMM_SKIP_DRAW_DELAY (1 << 7) #define PARTY_SUMM_SKIP_DRAW_DELAY (1 << 7)
+1 -1
View File
@@ -17,7 +17,7 @@ int GetUnionRoomTradeMessageId(struct RfuGameCompatibilityData player, struct Rf
int CanSpinTradeMon(struct Pokemon *, u16); int CanSpinTradeMon(struct Pokemon *, u16);
void InitTradeSequenceBgGpuRegs(void); void InitTradeSequenceBgGpuRegs(void);
void LinkTradeDrawWindow(void); void LinkTradeDrawWindow(void);
void InitTradeBg(void); void LoadTradeAnimGfx(void);
void DrawTextOnTradeWindow(u8, const u8 *, u8); void DrawTextOnTradeWindow(u8, const u8 *, u8);
#endif //GUARD_TRADE_H #endif //GUARD_TRADE_H
+1 -1
View File
@@ -1010,7 +1010,7 @@ const u16 gStatUpStringIds[] =
[B_MSG_STAT_WONT_INCREASE] = STRINGID_STATSWONTINCREASE, [B_MSG_STAT_WONT_INCREASE] = STRINGID_STATSWONTINCREASE,
[B_MSG_STAT_ROSE_EMPTY] = STRINGID_EMPTYSTRING3, [B_MSG_STAT_ROSE_EMPTY] = STRINGID_EMPTYSTRING3,
[B_MSG_STAT_ROSE_ITEM] = STRINGID_USINGITEMSTATOFPKMNROSE, [B_MSG_STAT_ROSE_ITEM] = STRINGID_USINGITEMSTATOFPKMNROSE,
[B_MSG_USED_DIRE_HIT] = STRINGID_PKMNUSEDXTOGETPUMPED, [B_MSG_USED_DIRE_HIT] = STRINGID_PKMNUSEDXTOGETPUMPED,
}; };
const u16 gStatDownStringIds[] = const u16 gStatDownStringIds[] =
+80 -60
View File
@@ -1176,8 +1176,8 @@ static void Cmd_accuracycheck(void)
if ((Random() % 100 + 1) > calc) if ((Random() % 100 + 1) > calc)
{ {
gMoveResultFlags |= MOVE_RESULT_MISSED; gMoveResultFlags |= MOVE_RESULT_MISSED;
if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE
(gBattleMoves[move].target == MOVE_TARGET_BOTH || gBattleMoves[move].target == MOVE_TARGET_FOES_AND_ALLY)) && (gBattleMoves[move].target == MOVE_TARGET_BOTH || gBattleMoves[move].target == MOVE_TARGET_FOES_AND_ALLY))
gBattleCommunication[MISS_TYPE] = B_MSG_AVOIDED_ATK; gBattleCommunication[MISS_TYPE] = B_MSG_AVOIDED_ATK;
else else
gBattleCommunication[MISS_TYPE] = B_MSG_MISSED; gBattleCommunication[MISS_TYPE] = B_MSG_MISSED;
@@ -1498,7 +1498,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; gBattleMoveDamage = gBattleMoveDamage * multiplier / 10;
if (gBattleMoveDamage == 0 && multiplier != 0) if (gBattleMoveDamage == 0 && multiplier != 0)
@@ -1696,7 +1697,8 @@ static void Cmd_adjustnormaldamage(void)
gBattlescriptCurrInstr++; 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; u8 holdEffect, param;
@@ -2717,20 +2719,20 @@ void SetMoveEffect(bool8 primary, u8 certain)
side = GetBattlerSide(gBattlerAttacker); side = GetBattlerSide(gBattlerAttacker);
if (GetBattlerSide(gBattlerAttacker) == B_SIDE_OPPONENT if (GetBattlerSide(gBattlerAttacker) == B_SIDE_OPPONENT
&& !(gBattleTypeFlags & && !(gBattleTypeFlags &
(BATTLE_TYPE_EREADER_TRAINER (BATTLE_TYPE_EREADER_TRAINER
| BATTLE_TYPE_FRONTIER | BATTLE_TYPE_FRONTIER
| BATTLE_TYPE_LINK | BATTLE_TYPE_LINK
| BATTLE_TYPE_RECORDED_LINK | BATTLE_TYPE_RECORDED_LINK
| BATTLE_TYPE_SECRET_BASE))) | BATTLE_TYPE_SECRET_BASE)))
{ {
gBattlescriptCurrInstr++; gBattlescriptCurrInstr++;
} }
else if (!(gBattleTypeFlags & else if (!(gBattleTypeFlags &
(BATTLE_TYPE_EREADER_TRAINER (BATTLE_TYPE_EREADER_TRAINER
| BATTLE_TYPE_FRONTIER | BATTLE_TYPE_FRONTIER
| BATTLE_TYPE_LINK | BATTLE_TYPE_LINK
| BATTLE_TYPE_RECORDED_LINK | BATTLE_TYPE_RECORDED_LINK
| BATTLE_TYPE_SECRET_BASE)) | BATTLE_TYPE_SECRET_BASE))
&& (gWishFutureKnock.knockedOffMons[side] & gBitTable[gBattlerPartyIndexes[gBattlerAttacker]])) && (gWishFutureKnock.knockedOffMons[side] & gBitTable[gBattlerPartyIndexes[gBattlerAttacker]]))
{ {
gBattlescriptCurrInstr++; gBattlescriptCurrInstr++;
@@ -3931,7 +3933,8 @@ static void Cmd_end2(void)
gCurrentActionFuncId = B_ACTION_TRY_FINISH; 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(); BattleScriptPop();
if (gBattleResources->battleCallbackStack->size != 0) if (gBattleResources->battleCallbackStack->size != 0)
@@ -5824,7 +5827,8 @@ static void Cmd_cancelallactions(void)
gBattlescriptCurrInstr++; 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; u8 holdEffect, param;
@@ -6462,7 +6466,8 @@ static void Cmd_various(void)
gBattlescriptCurrInstr += 3; gBattlescriptCurrInstr += 3;
} }
static void Cmd_setprotectlike(void) // protect and endure // Protect and Endure
static void Cmd_setprotectlike(void)
{ {
bool8 notLastTurn = TRUE; bool8 notLastTurn = TRUE;
u16 lastMove = gLastResultingMoves[gBattlerAttacker]; u16 lastMove = gLastResultingMoves[gBattlerAttacker];
@@ -7036,12 +7041,9 @@ static u8 ChangeStatBuffs(s8 statValue, u8 statId, u8 flags, const u8 *BS_ptr)
gBattleTextBuff2[3] = STRINGID_STATSHARPLY >> 8; gBattleTextBuff2[3] = STRINGID_STATSHARPLY >> 8;
index = 4; index = 4;
} }
gBattleTextBuff2[index] = B_BUFF_STRING; gBattleTextBuff2[index++] = B_BUFF_STRING;
index++; gBattleTextBuff2[index++] = STRINGID_STATROSE;
gBattleTextBuff2[index] = STRINGID_STATROSE; gBattleTextBuff2[index++] = STRINGID_STATROSE >> 8;
index++;
gBattleTextBuff2[index] = STRINGID_STATROSE >> 8;
index++;
gBattleTextBuff2[index] = B_BUFF_EOS; gBattleTextBuff2[index] = B_BUFF_EOS;
if (gBattleMons[gActiveBattler].statStages[statId] == MAX_STAT_STAGE) if (gBattleMons[gActiveBattler].statStages[statId] == MAX_STAT_STAGE)
@@ -7072,7 +7074,8 @@ static void Cmd_statbuffchange(void)
gBattlescriptCurrInstr += 6; gBattlescriptCurrInstr += 6;
} }
static void Cmd_normalisebuffs(void) // haze // Haze
static void Cmd_normalisebuffs(void)
{ {
s32 i, j; s32 i, j;
@@ -7175,15 +7178,15 @@ static void Cmd_forcerandomswitch(void)
{ {
if ((gBattlerTarget & BIT_FLANK) != B_FLANK_LEFT) if ((gBattlerTarget & BIT_FLANK) != B_FLANK_LEFT)
{ {
firstMonId = 3; firstMonId = PARTY_SIZE / 2;
lastMonId = 6; lastMonId = PARTY_SIZE;
} }
else else
{ {
firstMonId = 0; firstMonId = 0;
lastMonId = 3; lastMonId = PARTY_SIZE / 2;
} }
monsCount = 3; monsCount = PARTY_SIZE / 2;
minNeeded = 1; minNeeded = 1;
battler2PartyId = gBattlerPartyIndexes[gBattlerTarget]; battler2PartyId = gBattlerPartyIndexes[gBattlerTarget];
battler1PartyId = gBattlerPartyIndexes[gBattlerTarget ^ BIT_FLANK]; battler1PartyId = gBattlerPartyIndexes[gBattlerTarget ^ BIT_FLANK];
@@ -7193,15 +7196,15 @@ static void Cmd_forcerandomswitch(void)
{ {
if (GetLinkTrainerFlankId(GetBattlerMultiplayerId(gBattlerTarget)) == B_FLANK_RIGHT) if (GetLinkTrainerFlankId(GetBattlerMultiplayerId(gBattlerTarget)) == B_FLANK_RIGHT)
{ {
firstMonId = 3; firstMonId = PARTY_SIZE / 2;
lastMonId = 6; lastMonId = PARTY_SIZE;
} }
else else
{ {
firstMonId = 0; firstMonId = 0;
lastMonId = 3; lastMonId = PARTY_SIZE / 2;
} }
monsCount = 3; monsCount = PARTY_SIZE / 2;
minNeeded = 1; minNeeded = 1;
battler2PartyId = gBattlerPartyIndexes[gBattlerTarget]; battler2PartyId = gBattlerPartyIndexes[gBattlerTarget];
battler1PartyId = gBattlerPartyIndexes[gBattlerTarget ^ BIT_FLANK]; battler1PartyId = gBattlerPartyIndexes[gBattlerTarget ^ BIT_FLANK];
@@ -7211,23 +7214,23 @@ static void Cmd_forcerandomswitch(void)
if (GetBattlerSide(gBattlerTarget) == B_SIDE_PLAYER) if (GetBattlerSide(gBattlerTarget) == B_SIDE_PLAYER)
{ {
firstMonId = 0; firstMonId = 0;
lastMonId = 6; lastMonId = PARTY_SIZE;
monsCount = 6; monsCount = PARTY_SIZE;
minNeeded = 2; // since there are two opponents, it has to be a double battle minNeeded = 2; // since there are two opponents, it has to be a double battle
} }
else else
{ {
if ((gBattlerTarget & BIT_FLANK) != B_FLANK_LEFT) if ((gBattlerTarget & BIT_FLANK) != B_FLANK_LEFT)
{ {
firstMonId = 3; firstMonId = PARTY_SIZE / 2;
lastMonId = 6; lastMonId = PARTY_SIZE;
} }
else else
{ {
firstMonId = 0; firstMonId = 0;
lastMonId = 3; lastMonId = PARTY_SIZE / 2;
} }
monsCount = 3; monsCount = PARTY_SIZE / 2;
minNeeded = 1; minNeeded = 1;
} }
battler2PartyId = gBattlerPartyIndexes[gBattlerTarget]; battler2PartyId = gBattlerPartyIndexes[gBattlerTarget];
@@ -7236,8 +7239,8 @@ static void Cmd_forcerandomswitch(void)
else if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) else if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)
{ {
firstMonId = 0; firstMonId = 0;
lastMonId = 6; lastMonId = PARTY_SIZE;
monsCount = 6; monsCount = PARTY_SIZE;
minNeeded = 2; minNeeded = 2;
battler2PartyId = gBattlerPartyIndexes[gBattlerTarget]; battler2PartyId = gBattlerPartyIndexes[gBattlerTarget];
battler1PartyId = gBattlerPartyIndexes[gBattlerTarget ^ BIT_FLANK]; battler1PartyId = gBattlerPartyIndexes[gBattlerTarget ^ BIT_FLANK];
@@ -7245,8 +7248,8 @@ static void Cmd_forcerandomswitch(void)
else else
{ {
firstMonId = 0; firstMonId = 0;
lastMonId = 6; lastMonId = PARTY_SIZE;
monsCount = 6; monsCount = PARTY_SIZE;
minNeeded = 1; minNeeded = 1;
battler2PartyId = gBattlerPartyIndexes[gBattlerTarget]; // there is only one pokemon out in single battles battler2PartyId = gBattlerPartyIndexes[gBattlerTarget]; // there is only one pokemon out in single battles
battler1PartyId = gBattlerPartyIndexes[gBattlerTarget]; battler1PartyId = gBattlerPartyIndexes[gBattlerTarget];
@@ -7306,7 +7309,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 validMoves = 0;
u8 moveChecked; u8 moveChecked;
@@ -7493,7 +7497,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; gBattleMoveDamage = gBattleMons[gBattlerTarget].hp / 2;
if (gBattleMoveDamage == 0) if (gBattleMoveDamage == 0)
@@ -7875,7 +7880,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 with the physical -> special field changes
static void Cmd_mirrorcoatdamagecalculator(void)
{ {
u8 sideAttacker = GetBattlerSide(gBattlerAttacker); u8 sideAttacker = GetBattlerSide(gBattlerAttacker);
u8 sideTarget = GetBattlerSide(gProtectStructs[gBattlerAttacker].specialBattlerId); u8 sideTarget = GetBattlerSide(gProtectStructs[gBattlerAttacker].specialBattlerId);
@@ -7979,7 +7985,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 if (gLastLandedMoves[gBattlerAttacker] == MOVE_NONE
|| gLastLandedMoves[gBattlerAttacker] == MOVE_UNAVAILABLE) || gLastLandedMoves[gBattlerAttacker] == MOVE_UNAVAILABLE)
@@ -8047,7 +8054,8 @@ static void Cmd_setalwayshitflag(void)
gBattlescriptCurrInstr++; gBattlescriptCurrInstr++;
} }
static void Cmd_copymovepermanently(void) // sketch // Sketch
static void Cmd_copymovepermanently(void)
{ {
gChosenMove = MOVE_UNAVAILABLE; gChosenMove = MOVE_UNAVAILABLE;
@@ -8677,7 +8685,8 @@ static void Cmd_setsunny(void)
gBattlescriptCurrInstr++; gBattlescriptCurrInstr++;
} }
static void Cmd_maxattackhalvehp(void) // belly drum // Belly Drum
static void Cmd_maxattackhalvehp(void)
{ {
u32 halfHp = gBattleMons[gBattlerAttacker].maxHP / 2; u32 halfHp = gBattleMons[gBattlerAttacker].maxHP / 2;
@@ -8700,7 +8709,8 @@ static void Cmd_maxattackhalvehp(void) // belly drum
} }
} }
static void Cmd_copyfoestats(void) // psych up // Psych Up
static void Cmd_copyfoestats(void)
{ {
s32 i; s32 i;
@@ -8978,7 +8988,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)].followmeTimer = 1;
gSideTimers[GetBattlerSide(gBattlerAttacker)].followmeTarget = gBattlerAttacker; gSideTimers[GetBattlerSide(gBattlerAttacker)].followmeTarget = gBattlerAttacker;
@@ -8993,7 +9004,8 @@ static void Cmd_setcharge(void)
gBattlescriptCurrInstr++; gBattlescriptCurrInstr++;
} }
static void Cmd_callterrainattack(void) // nature power // Nature Power
static void Cmd_callterrainattack(void)
{ {
gHitMarker &= ~HITMARKER_ATTACKSTRING_PRINTED; gHitMarker &= ~HITMARKER_ATTACKSTRING_PRINTED;
gCurrentMove = sNaturePowerMoves[gBattleTerrain]; gCurrentMove = sNaturePowerMoves[gBattleTerrain];
@@ -9002,7 +9014,8 @@ static void Cmd_callterrainattack(void) // nature power
gBattlescriptCurrInstr++; 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)) if (gBattleMons[gBattlerAttacker].status1 & (STATUS1_POISON | STATUS1_BURN | STATUS1_PARALYSIS | STATUS1_TOXIC_POISON))
{ {
@@ -9071,7 +9084,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 // opponent can't swap items with player in regular battles
if (gBattleTypeFlags & BATTLE_TYPE_TRAINER_HILL if (gBattleTypeFlags & BATTLE_TYPE_TRAINER_HILL
@@ -9158,7 +9172,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 if (gBattleMons[gBattlerTarget].ability != ABILITY_NONE
&& gBattleMons[gBattlerTarget].ability != ABILITY_WONDER_GUARD) && gBattleMons[gBattlerTarget].ability != ABILITY_WONDER_GUARD)
@@ -9206,7 +9221,8 @@ static void Cmd_trywish(void)
} }
} }
static void Cmd_trysetroots(void) // ingrain // Ingrain
static void Cmd_trysetroots(void)
{ {
if (gStatuses3[gBattlerAttacker] & STATUS3_ROOTED) if (gStatuses3[gBattlerAttacker] & STATUS3_ROOTED)
{ {
@@ -9271,7 +9287,8 @@ static void Cmd_scaledamagebyhealthratio(void)
gBattlescriptCurrInstr++; gBattlescriptCurrInstr++;
} }
static void Cmd_tryswapabilities(void) // skill swap // Skill Swap
static void Cmd_tryswapabilities(void)
{ {
if ((gBattleMons[gBattlerAttacker].ability == ABILITY_NONE if ((gBattleMons[gBattlerAttacker].ability == ABILITY_NONE
&& gBattleMons[gBattlerTarget].ability == ABILITY_NONE) && gBattleMons[gBattlerTarget].ability == ABILITY_NONE)
@@ -9431,7 +9448,8 @@ static void Cmd_trysetmagiccoat(void)
} }
} }
static void Cmd_trysetsnatch(void) // snatch // Snatch
static void Cmd_trysetsnatch(void)
{ {
gSpecialStatuses[gBattlerAttacker].ppNotAffectedByPressure = 1; gSpecialStatuses[gBattlerAttacker].ppNotAffectedByPressure = 1;
if (gCurrentTurnActionNumber == gBattlersCount - 1) // moves last turn if (gCurrentTurnActionNumber == gBattlersCount - 1) // moves last turn
@@ -9635,7 +9653,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; bool8 worked = FALSE;
@@ -9648,7 +9667,7 @@ static void Cmd_settypebasedhalvers(void) // water and mud sport
worked = TRUE; worked = TRUE;
} }
} }
else // water sport else // Water Sport
{ {
if (!(gStatuses3[gBattlerAttacker] & STATUS3_WATERSPORT)) if (!(gStatuses3[gBattlerAttacker] & STATUS3_WATERSPORT))
{ {
@@ -9759,7 +9778,8 @@ static void Cmd_snatchsetbattlers(void)
gBattlescriptCurrInstr++; gBattlescriptCurrInstr++;
} }
static void Cmd_removelightscreenreflect(void) // brick break // Brick Break
static void Cmd_removelightscreenreflect(void)
{ {
u8 opposingSide = GetBattlerSide(gBattlerAttacker) ^ BIT_SIDE; u8 opposingSide = GetBattlerSide(gBattlerAttacker) ^ BIT_SIDE;
+1 -1
View File
@@ -410,7 +410,7 @@ static void CB2_TradeEvolutionSceneLoadGraphics(void)
gMain.state++; gMain.state++;
break; break;
case 2: case 2:
InitTradeBg(); LoadTradeAnimGfx();
gMain.state++; gMain.state++;
break; break;
case 3: case 3:
+1 -1
View File
@@ -4821,7 +4821,7 @@ static void CheckPartnersMonForRibbons(void)
FlagSet(FLAG_SYS_RIBBON_GET); FlagSet(FLAG_SYS_RIBBON_GET);
} }
void InitTradeBg(void) void LoadTradeAnimGfx(void)
{ {
InitTradeBgInternal(); InitTradeBgInternal();
} }