diff options
Diffstat (limited to 'include/trainer_data.h')
-rw-r--r-- | include/trainer_data.h | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/include/trainer_data.h b/include/trainer_data.h new file mode 100644 index 00000000..6a5b69a4 --- /dev/null +++ b/include/trainer_data.h @@ -0,0 +1,79 @@ +#ifndef POKEDIAMOND_TRAINER_DATA_H +#define POKEDIAMOND_TRAINER_DATA_H + +#include "global.h" +#include "constants/pokemon.h" + +struct TrainerMonSpecies +{ + u16 difficulty; + u16 level; + u16 species; +}; + +struct TrainerMonSpeciesMoves +{ + u16 difficulty; + u16 level; + u16 species; + u16 moves[MON_MOVES]; +}; + +struct TrainerMonSpeciesItem +{ + u16 difficulty; + u16 level; + u16 species; + u16 item; +}; + +struct TrainerMonSpeciesItemMoves +{ + u16 difficulty; + u16 level; + u16 species; + u16 item; + u16 moves[MON_MOVES]; +}; + +union TrainerMon +{ + struct TrainerMonSpecies species; + struct TrainerMonSpeciesMoves species_moves; + struct TrainerMonSpeciesItem species_item; + struct TrainerMonSpeciesItemMoves species_item_moves; +}; + +#define TRTYPE_MON 0 +#define TRTYPE_MON_MOVES 1 +#define TRTYPE_MON_ITEM 2 +#define TRTYPE_MON_ITEM_MOVES 3 + +struct TrainerData +{ + u8 trainerType; + u8 trainerClass; + u8 unk_2; + u8 npoke; + u16 items[4]; + u32 unk_C; + u32 unk_10; +}; + +struct TrainerDataLoaded +{ + struct TrainerData data; + u16 name[OT_NAME_LENGTH + 1]; + u8 padding[16]; +}; + +struct EnemyTrainerSet +{ + u32 flags; + struct PlayerParty * parties[4]; + u16 field_14[2]; + u32 trainer_idxs[4]; + struct TrainerDataLoaded datas[4]; +}; + +#endif //POKEDIAMOND_TRAINER_DATA_H |