diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/global.h | 21 | ||||
-rw-r--r-- | include/pokemon.h | 28 |
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); |