mirror of
https://github.com/pret/pokeplatinum.git
synced 2026-09-07 01:05:53 -05:00
Document BattleSystem_PartyCount
This commit is contained in:
@@ -43,7 +43,24 @@ BattleContext * BattleSystem_Context(BattleSystem * param0);
|
||||
BattlerData * BattleSystem_BattlerData(BattleSystem * param0, int param1);
|
||||
int BattleSystem_MaxBattlers(BattleSystem * param0);
|
||||
Party * BattleSystem_Party(BattleSystem * param0, int param1);
|
||||
int ov16_0223DF60(BattleSystem * param0, int param1);
|
||||
|
||||
/**
|
||||
* @brief Get the party count for a particular battler.
|
||||
*
|
||||
* - If the battle taking place is a 2vs2 battle (player-with-partner vs. two
|
||||
* opponent trainers), then the battler input is not modified.
|
||||
* - If the battle taking place is against two opponents (but the player does
|
||||
* not have a partner) and the requested count is for an enemy party, then the
|
||||
* battler input is not modified.
|
||||
* - If the battle taking place is otherwise a double-battle, then the battler
|
||||
* input will be normalized to 0 or 1.
|
||||
* - Otherwise, the battler input is used to retrieve the particular party.
|
||||
*
|
||||
* @param battleSys
|
||||
* @param battler The battler party to count.
|
||||
* @return Number of Pokemon in the requested battler's party.
|
||||
*/
|
||||
int BattleSystem_PartyCount(BattleSystem *battleSys, int battler);
|
||||
Pokemon * ov16_0223DFAC(BattleSystem * param0, int param1, int param2);
|
||||
UnkStruct_02007768 * ov16_0223E000(BattleSystem * param0);
|
||||
UnkStruct_ov12_0221FCDC * ov16_0223E008(BattleSystem * param0);
|
||||
|
||||
@@ -1335,7 +1335,7 @@ static void ov14_02220D8C (BattleSystem * param0, BattleContext * param1)
|
||||
v4 = v5 = param1->selectedPartySlot[v3];
|
||||
}
|
||||
|
||||
for (v2 = 0; v2 < ov16_0223DF60(param0, v3); v2++) {
|
||||
for (v2 = 0; v2 < BattleSystem_PartyCount(param0, v3); v2++) {
|
||||
v1 = Party_GetPokemonBySlotIndex(v0, v2);
|
||||
|
||||
if ((v2 != v4) && (v2 != v5) && (Pokemon_GetValue(v1, MON_DATA_CURRENT_HP, NULL) != 0) && (Pokemon_GetValue(v1, MON_DATA_SPECIES_EGG, NULL) != 0) && (Pokemon_GetValue(v1, MON_DATA_SPECIES_EGG, NULL) != 494)) {
|
||||
@@ -1553,7 +1553,7 @@ static void ov14_022211AC (BattleSystem * param0, BattleContext * param1)
|
||||
|
||||
v0 = BattleSystem_Party(param0, v3);
|
||||
|
||||
for (v2 = 0; v2 < ov16_0223DF60(param0, v3); v2++) {
|
||||
for (v2 = 0; v2 < BattleSystem_PartyCount(param0, v3); v2++) {
|
||||
v1 = Party_GetPokemonBySlotIndex(v0, v2);
|
||||
|
||||
if ((v2 != v4) && (v2 != v5) && (Pokemon_GetValue(v1, MON_DATA_CURRENT_HP, NULL) != 0) && (Pokemon_GetValue(v1, MON_DATA_SPECIES_EGG, NULL) != 0) && (Pokemon_GetValue(v1, MON_DATA_SPECIES_EGG, NULL) != 494) && (Pokemon_GetValue(v1, MON_DATA_160, NULL) & v7)) {
|
||||
@@ -1590,7 +1590,7 @@ static void ov14_022212A0 (BattleSystem * param0, BattleContext * param1)
|
||||
|
||||
v0 = BattleSystem_Party(param0, v3);
|
||||
|
||||
for (v2 = 0; v2 < ov16_0223DF60(param0, v3); v2++) {
|
||||
for (v2 = 0; v2 < BattleSystem_PartyCount(param0, v3); v2++) {
|
||||
v1 = Party_GetPokemonBySlotIndex(v0, v2);
|
||||
|
||||
if ((v2 != v4) && (v2 != v5) && (Pokemon_GetValue(v1, MON_DATA_CURRENT_HP, NULL) != 0) && (Pokemon_GetValue(v1, MON_DATA_SPECIES_EGG, NULL) != 0) && (Pokemon_GetValue(v1, MON_DATA_SPECIES_EGG, NULL) != 494) && ((Pokemon_GetValue(v1, MON_DATA_160, NULL) & v7) == 0)) {
|
||||
@@ -2232,7 +2232,7 @@ static void ov14_02221D88 (BattleSystem * param0, BattleContext * param1)
|
||||
v2 = ov14_02222CF0(param1);
|
||||
v0 = ov14_02222D34(param1, v1);
|
||||
|
||||
for (v3 = 0; v3 < ov16_0223DF60(param0, v0); v3++) {
|
||||
for (v3 = 0; v3 < BattleSystem_PartyCount(param0, v0); v3++) {
|
||||
v4 = ov16_0223DFAC(param0, v0, v3);
|
||||
|
||||
if (v3 != param1->selectedPartySlot[v0]) {
|
||||
@@ -2258,7 +2258,7 @@ static void ov14_02221E18 (BattleSystem * param0, BattleContext * param1)
|
||||
v2 = ov14_02222CF0(param1);
|
||||
v0 = ov14_02222D34(param1, v1);
|
||||
|
||||
for (v3 = 0; v3 < ov16_0223DF60(param0, v0); v3++) {
|
||||
for (v3 = 0; v3 < BattleSystem_PartyCount(param0, v0); v3++) {
|
||||
v5 = ov16_0223DFAC(param0, v0, v3);
|
||||
|
||||
if (v3 != param1->selectedPartySlot[v0]) {
|
||||
@@ -2403,7 +2403,7 @@ static void ov14_022220CC (BattleSystem * param0, BattleContext * param1)
|
||||
|
||||
v5 = ov14_02222D7C(param0, param1, param1->aiContext.attacker, ¶m1->battleMons[v4].moves[0], &v7[0], param1->battleMons[v4].heldItem, &v9[0], Battler_Ability(param1, v4), param1->battleMons[v4].moveEffectsData.embargoTurns, v2);
|
||||
|
||||
for (v0 = 0; v0 < ov16_0223DF60(param0, v4); v0++) {
|
||||
for (v0 = 0; v0 < BattleSystem_PartyCount(param0, v4); v0++) {
|
||||
if (v0 != param1->selectedPartySlot[v4]) {
|
||||
v10 = ov16_0223DFAC(param0, v4, v0);
|
||||
|
||||
@@ -3421,7 +3421,7 @@ static BOOL ov14_0222342C (BattleSystem * param0, BattleContext * param1, int pa
|
||||
}
|
||||
}
|
||||
|
||||
for (v0 = 0; v0 < ov16_0223DF60(param0, param2); v0++) {
|
||||
for (v0 = 0; v0 < BattleSystem_PartyCount(param0, param2); v0++) {
|
||||
v5 = ov16_0223DFAC(param0, param2, v0);
|
||||
|
||||
if ((Pokemon_GetValue(v5, MON_DATA_CURRENT_HP, NULL) != 0) && (Pokemon_GetValue(v5, MON_DATA_SPECIES_EGG, NULL) != 0) && (Pokemon_GetValue(v5, MON_DATA_SPECIES_EGG, NULL) != 494) && (v0 != param1->selectedPartySlot[param2])) {
|
||||
@@ -3511,7 +3511,7 @@ static BOOL ov14_022235F0 (BattleSystem * param0, BattleContext * param1, int pa
|
||||
}
|
||||
|
||||
v9 = 0;
|
||||
v10 = ov16_0223DF60(param0, param2);
|
||||
v10 = BattleSystem_PartyCount(param0, param2);
|
||||
|
||||
for (v0 = v9; v0 < v10; v0++) {
|
||||
v12 = ov16_0223DFAC(param0, param2, v0);
|
||||
@@ -3706,7 +3706,7 @@ static BOOL ov14_02223C8C (BattleSystem * param0, BattleContext * param1, int pa
|
||||
}
|
||||
|
||||
v6 = 0;
|
||||
v7 = ov16_0223DF60(param0, param2);
|
||||
v7 = BattleSystem_PartyCount(param0, param2);
|
||||
|
||||
for (v0 = v6; v0 < v7; v0++) {
|
||||
v8 = ov16_0223DFAC(param0, param2, v0);
|
||||
@@ -3751,7 +3751,7 @@ static BOOL ov14_02223E10 (BattleSystem * param0, BattleContext * param1, int pa
|
||||
}
|
||||
|
||||
v7 = 0;
|
||||
v8 = ov16_0223DF60(param0, param2);
|
||||
v8 = BattleSystem_PartyCount(param0, param2);
|
||||
|
||||
for (v0 = v7; v0 < v8; v0++) {
|
||||
v9 = ov16_0223DFAC(param0, param2, v0);
|
||||
@@ -3860,7 +3860,7 @@ static BOOL ov14_022241A4 (BattleSystem * param0, BattleContext * param1, int pa
|
||||
}
|
||||
|
||||
v5 = 0;
|
||||
v6 = ov16_0223DF60(param0, param2);
|
||||
v6 = BattleSystem_PartyCount(param0, param2);
|
||||
|
||||
for (v0 = v5; v0 < v6; v0++) {
|
||||
v7 = ov16_0223DFAC(param0, param2, v0);
|
||||
@@ -3936,7 +3936,7 @@ int ov14_022243BC (BattleSystem * param0, int param1)
|
||||
}
|
||||
|
||||
v4 = 0;
|
||||
v5 = ov16_0223DF60(param0, param1);
|
||||
v5 = BattleSystem_PartyCount(param0, param1);
|
||||
|
||||
for (v0 = v4; v0 < v5; v0++) {
|
||||
v6 = ov16_0223DFAC(param0, param1, v0);
|
||||
|
||||
@@ -1278,7 +1278,7 @@ static void ov16_0223C2C0 (BattleSystem * param0, BattleParams * param1)
|
||||
}
|
||||
|
||||
for (v0 = 0; v0 < param0->maxBattlers; v0++) {
|
||||
for (v1 = 0; v1 < ov16_0223DF60(param0, v0); v1++) {
|
||||
for (v1 = 0; v1 < BattleSystem_PartyCount(param0, v0); v1++) {
|
||||
v3 = ov16_0223DFAC(param0, v0, v1);
|
||||
|
||||
if (v0 == 2) {
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
#include <nitro.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "battle/common.h"
|
||||
#include "constants/battle.h"
|
||||
|
||||
#include "struct_decls/struct_02002F38_decl.h"
|
||||
@@ -83,7 +84,7 @@ BattleContext * BattleSystem_Context(BattleSystem * param0);
|
||||
BattlerData * BattleSystem_BattlerData(BattleSystem * param0, int param1);
|
||||
int BattleSystem_MaxBattlers(BattleSystem * param0);
|
||||
Party * BattleSystem_Party(BattleSystem * param0, int param1);
|
||||
int ov16_0223DF60(BattleSystem * param0, int param1);
|
||||
int BattleSystem_PartyCount(BattleSystem *battleSys, int battler);
|
||||
Pokemon * ov16_0223DFAC(BattleSystem * param0, int param1, int param2);
|
||||
UnkStruct_02007768 * ov16_0223E000(BattleSystem * param0);
|
||||
UnkStruct_ov12_0221FCDC * ov16_0223E008(BattleSystem * param0);
|
||||
@@ -271,14 +272,16 @@ Party * BattleSystem_Party (BattleSystem * param0, int param1)
|
||||
}
|
||||
}
|
||||
|
||||
int ov16_0223DF60 (BattleSystem * param0, int param1)
|
||||
int BattleSystem_PartyCount(BattleSystem *battleSys, int battler)
|
||||
{
|
||||
if ((param0->battleType & 0x8) || ((param0->battleType & 0x10) && (BattleSystem_BattlerSlot(param0, param1) & 0x1))) {
|
||||
return Party_GetCurrentCount(param0->parties[param1]);
|
||||
} else if (param0->battleType & 0x2) {
|
||||
return Party_GetCurrentCount(param0->parties[param1 & 1]);
|
||||
if ((battleSys->battleType & BATTLE_TYPE_2vs2)
|
||||
|| ((battleSys->battleType & BATTLE_TYPE_TAG)
|
||||
&& (BattleSystem_BattlerSlot(battleSys, battler) & BATTLER_THEM))) {
|
||||
return Party_GetCurrentCount(battleSys->parties[battler]);
|
||||
} else if (battleSys->battleType & BATTLE_TYPE_DOUBLES) {
|
||||
return Party_GetCurrentCount(battleSys->parties[battler & 1]);
|
||||
} else {
|
||||
return Party_GetCurrentCount(param0->parties[param1]);
|
||||
return Party_GetCurrentCount(battleSys->parties[battler]);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1086,7 +1089,7 @@ void ov16_0223EE70 (BattleSystem * param0)
|
||||
return;
|
||||
}
|
||||
|
||||
for (v0 = 0; v0 < ov16_0223DF60(param0, 0); v0++) {
|
||||
for (v0 = 0; v0 < BattleSystem_PartyCount(param0, 0); v0++) {
|
||||
v2 = ov16_0223DFAC(param0, 0, v0);
|
||||
v3 = Pokemon_GetValue(v2, MON_DATA_SPECIES_EGG, NULL);
|
||||
|
||||
|
||||
@@ -4307,7 +4307,7 @@ static BOOL ov16_02244BC4 (BattleSystem * param0, BattleContext * param1)
|
||||
int v11, v12;
|
||||
|
||||
v2 = BattleSystem_Party(param0, param1->defender);
|
||||
v4 = ov16_0223DF60(param0, param1->defender);
|
||||
v4 = BattleSystem_PartyCount(param0, param1->defender);
|
||||
|
||||
if ((v1 & 0x8) || ((v1 & 0x10) && (Battler_Side(param0, param1->defender)))) {
|
||||
v8 = 0;
|
||||
@@ -4968,7 +4968,7 @@ static BOOL ov16_02245D68 (BattleSystem * param0, BattleContext * param1)
|
||||
|
||||
ov16_02248AF0(param1, 1);
|
||||
|
||||
v1 = ov16_0223DF60(param0, param1->attacker);
|
||||
v1 = BattleSystem_PartyCount(param0, param1->attacker);
|
||||
|
||||
if (param1->multiHitNumHits == 0) {
|
||||
param1->multiHitNumHits = 2;
|
||||
@@ -5138,7 +5138,7 @@ static BOOL ov16_022461F4 (BattleSystem * param0, BattleContext * param1)
|
||||
|
||||
v0 = ov16_02248AD0(param1);
|
||||
v6 = 0;
|
||||
v5 = ov16_0223DF60(param0, param1->attacker);
|
||||
v5 = BattleSystem_PartyCount(param0, param1->attacker);
|
||||
|
||||
for (v3 = 0; v3 < v5; v3++) {
|
||||
if (v3 != param1->selectedPartySlot[param1->attacker]) {
|
||||
@@ -6199,7 +6199,7 @@ static BOOL ov16_022476F8 (BattleSystem * param0, BattleContext * param1)
|
||||
|
||||
ov16_02248AF0(param1, 1);
|
||||
|
||||
for (v1 = 0; v1 < ov16_0223DF60(param0, 0); v1++) {
|
||||
for (v1 = 0; v1 < BattleSystem_PartyCount(param0, 0); v1++) {
|
||||
v8 = ov16_0223DFAC(param0, 0, v1);
|
||||
v4 = Pokemon_GetValue(v8, MON_DATA_SPECIES_EGG, NULL);
|
||||
v5 = Pokemon_GetValue(v8, MON_DATA_HELD_ITEM, NULL);
|
||||
@@ -7375,7 +7375,7 @@ static BOOL ov16_02248944 (BattleSystem * param0, BattleContext * param1)
|
||||
|
||||
v0 = ov16_02248AD0(param1);
|
||||
|
||||
if (((ov16_0223DF60(param0, 0) != 6) || (sub_020799A0(param0->unk_64) != 18)) && (param0->unk_2410)) {
|
||||
if (((BattleSystem_PartyCount(param0, 0) != 6) || (sub_020799A0(param0->unk_64) != 18)) && (param0->unk_2410)) {
|
||||
ov16_02248AF0(param1, v0);
|
||||
}
|
||||
|
||||
@@ -7660,7 +7660,7 @@ static void ov16_02248E74 (UnkStruct_0201CD38 * param0, void * param1)
|
||||
v5 = (v2->unk_04->faintedMon) >> 1 & 1;
|
||||
v6 = 0;
|
||||
|
||||
for (v1 = v2->unk_30[6]; v1 < ov16_0223DF60(v2->unk_00, v6); v1++) {
|
||||
for (v1 = v2->unk_30[6]; v1 < BattleSystem_PartyCount(v2->unk_00, v6); v1++) {
|
||||
v3 = ov16_0223DFAC(v2->unk_00, v6, v1);
|
||||
v9 = Pokemon_GetValue(v3, MON_DATA_HELD_ITEM, NULL);
|
||||
v10 = Item_LoadParam(v9, 1, 5);
|
||||
@@ -7670,7 +7670,7 @@ static void ov16_02248E74 (UnkStruct_0201CD38 * param0, void * param1)
|
||||
}
|
||||
}
|
||||
|
||||
if (v1 == ov16_0223DF60(v2->unk_00, v6)) {
|
||||
if (v1 == BattleSystem_PartyCount(v2->unk_00, v6)) {
|
||||
v2->unk_28 = 38;
|
||||
} else if ((v8 & 0x2) && ((v8 & 0x40) == 0)) {
|
||||
if (v2->unk_04->selectedPartySlot[2] == v1) {
|
||||
@@ -8543,7 +8543,7 @@ static void ov16_02249B80 (UnkStruct_0201CD38 * param0, void * param1)
|
||||
v16 = sub_0208712C(5, 1, Pokemon_GetValue(v3, MON_DATA_SPECIES, NULL), 10, ov16_0223EDA4(v2->unk_00));
|
||||
v2->unk_50[1] = v16;
|
||||
|
||||
if (ov16_0223DF60(v2->unk_00, 0) < 6) {
|
||||
if (BattleSystem_PartyCount(v2->unk_00, 0) < 6) {
|
||||
v16->unk_44 = 0;
|
||||
} else {
|
||||
v16->unk_44 = 1174 + ov16_0223F240(v2->unk_00);
|
||||
|
||||
@@ -3133,7 +3133,7 @@ BOOL BattleSystem_CheckAnySwitches (BattleSystem * param0, BattleContext * param
|
||||
v0 = 0;
|
||||
v12 = BattleSystem_BattleType(param0);
|
||||
v1 = BattleSystem_Party(param0, param2);
|
||||
v3 = ov16_0223DF60(param0, param2);
|
||||
v3 = BattleSystem_PartyCount(param0, param2);
|
||||
|
||||
if ((v12 & 0x8) || ((v12 & 0x10) && (BattleSystem_BattlerSlot(param0, param2) & 0x1))) {
|
||||
v7 = 0;
|
||||
@@ -7795,7 +7795,7 @@ int ov16_0225BA88 (BattleSystem * param0, int param1)
|
||||
|
||||
v2 = BattleSystem_RandomOpponent(param0, v20, param1);
|
||||
v17 = 0;
|
||||
v18 = ov16_0223DF60(param0, param1);
|
||||
v18 = BattleSystem_PartyCount(param0, param1);
|
||||
v10 = 0;
|
||||
|
||||
while (v10 != 0x3f) {
|
||||
|
||||
@@ -673,7 +673,7 @@ static void ov16_0225C5E0 (BattleSystem * param0, BattlerData * param1)
|
||||
u32 v5;
|
||||
|
||||
v5 = 0;
|
||||
v3 = ov16_0223DF60(param0, param1->unk_190);
|
||||
v3 = BattleSystem_PartyCount(param0, param1->unk_190);
|
||||
|
||||
for (v2 = 0; v2 < v3; v2++) {
|
||||
v1 = ov16_0223DFAC(param0, param1->unk_190, v2);
|
||||
|
||||
@@ -4299,14 +4299,14 @@ static void ov16_02261E8C (UnkStruct_0201CD38 * param0, void * param1)
|
||||
|
||||
Heap_FreeToHeap(v9);
|
||||
|
||||
for (v3 = 0; v3 < ov16_0223DF60(v0->unk_00, v6); v3++) {
|
||||
for (v3 = 0; v3 < BattleSystem_PartyCount(v0->unk_00, v6); v3++) {
|
||||
v9 = ov16_0223DFAC(v0->unk_00, v6, v0->unk_1C[v6][v3]);
|
||||
v10 = Party_GetPokemonBySlotIndex(v0->unk_04->unk_00, v3 * 2);
|
||||
Pokemon_Copy(v9, v10);
|
||||
v0->unk_04->unk_2C[v3 * 2] = v0->unk_1C[v6][v3];
|
||||
}
|
||||
|
||||
for (v3 = 0; v3 < ov16_0223DF60(v0->unk_00, v7); v3++) {
|
||||
for (v3 = 0; v3 < BattleSystem_PartyCount(v0->unk_00, v7); v3++) {
|
||||
v9 = ov16_0223DFAC(v0->unk_00, v7, v0->unk_1C[v7][v3]);
|
||||
v10 = Party_GetPokemonBySlotIndex(v0->unk_04->unk_00, v3 * 2 + 1);
|
||||
Pokemon_Copy(v9, v10);
|
||||
|
||||
Reference in New Issue
Block a user