summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/global.h21
-rw-r--r--include/pokemon.h28
2 files changed, 39 insertions, 10 deletions
diff --git a/include/global.h b/include/global.h
index e42684b58..e7e828aec 100644
--- a/include/global.h
+++ b/include/global.h
@@ -51,6 +51,27 @@ struct Coords16
s16 y;
};
+struct SecretBaseRecord
+{
+ u8 sbr_field_0; // ID?
+ u8 sbr_field_1_0:4;
+ u8 gender:1;
+ u8 sbr_field_1_5:1;
+ u8 sbr_field_2[7]; // 0xFF bytes?
+ u8 trainerId[4]; // byte 0 is used for determining trainer class
+ u16 sbr_field_e;
+ u8 sbr_field_10;
+ u8 sbr_field_11;
+ u8 decorations[16];
+ u8 sbr_field_22[16];
+ u32 partyPersonality[6];
+ u16 partyMoves[6 * 4];
+ u16 partySpecies[6];
+ u16 partyHeldItems[6];
+ u8 partyLevels[6];
+ u8 partyEVs[6];
+};
+
struct Time
{
s16 days;
diff --git a/include/pokemon.h b/include/pokemon.h
index 9b5a1c1bb..bed60925b 100644
--- a/include/pokemon.h
+++ b/include/pokemon.h
@@ -255,14 +255,9 @@ struct BattlePokemon
u32 speedIV:5;
u32 spAttackIV:5;
u32 spDefenseIV:5;
- u8 hpStage; // not used
- u8 attackStage;
- u8 defenseStage;
- u8 speedStage;
- u8 spAttackStage;
- u8 spDefenseStage;
- u8 accuracyStage;
- u8 evasionStage;
+ u32 isEgg:1;
+ u32 altAbility:1;
+ u8 statStages[8];
u8 ability;
u8 type1, type2;
u8 unknown;
@@ -273,9 +268,9 @@ struct BattlePokemon
u16 maxHP;
u16 item;
u8 nickname[POKEMON_NAME_LENGTH + 1];
- u8 unknown2;
+ u8 ppBonuses;
u8 otName[8];
- u32 unknown3;
+ u32 experience;
u32 personality;
u32 status1;
u32 status2;
@@ -389,6 +384,19 @@ u8 GiveMonToPlayer(struct Pokemon *mon);
u8 SendMonToPC(struct Pokemon *mon);
u8 CalculatePlayerPartyCount(void);
u8 CalculateEnemyPartyCount(void);
+u8 sub_803DAA0(void);
+u8 GetAbilityBySpecies(u16 species, bool8 altAbility);
+u8 GetMonAbility(struct Pokemon *mon);
+void CreateSecretBaseEnemyParty(struct SecretBaseRecord *secretBaseRecord);
+u8 GetSecretBaseTrainerPicIndex(void);
+u8 GetSecretBaseTrainerNameIndex(void);
+u8 PlayerPartyAndPokemonStorageFull(void);
+u8 PokemonStorageFull(void);
+void GetSpeciesName(u8 *name, u16 species);
+u8 CalculatePPWithBonus(u16 move, u8 ppBonuses, u8 moveIndex);
+void RemoveMonPPBonus(struct Pokemon *mon, u8 moveIndex);
+void RemoveBattleMonPPBonus(struct BattlePokemon *mon, u8 moveIndex);
+void CopyPlayerPartyMonToBattleData(u8 battleIndex, u8 partyIndex);
u8 GetNature(struct Pokemon *mon);
u8 GetNatureFromPersonality(u32 personality);