pokeplatinum/include/overlay006/npc_trade.h
2025-02-13 16:03:24 +08:00

48 lines
1.2 KiB
C

#ifndef POKEPLATINUM_NPC_TRADE_H
#define POKEPLATINUM_NPC_TRADE_H
#include "field/field_system_decl.h"
#include "overlay006/struct_ov6_02246254.h"
#include "pokemon.h"
typedef struct NpcTradeMon {
u32 species;
u32 hpIV;
u32 atkIV;
u32 defIV;
u32 speedIV;
u32 spAtkIV;
u32 spDefIV;
u32 unused1;
u32 otID;
u32 cool;
u32 beauty;
u32 cute;
u32 smart;
u32 tough;
u32 personality;
u32 heldItem;
u32 otGender;
u32 unused2;
u32 language;
u32 requestedSpecies;
} NpcTradeMon;
typedef struct NpcTradeData {
NpcTradeMon *npcTradeMon;
Pokemon *mon;
TrainerInfo *trainerInfo;
u32 npcTradeID;
u32 heapID;
} NpcTradeData;
NpcTradeData *NpcTrade_Init(u32 heapID, u32 entryID);
void NpcTrade_Free(NpcTradeData *data);
u32 NpcTrade_GetSpecies(const NpcTradeData *data);
u32 NpcTrade_GetRequestedSpecies(const NpcTradeData *data);
void NpcTrade_ReceiveMon(FieldSystem *fieldSystem, NpcTradeData *data, int slot);
void ov6_02246254(FieldSystem *fieldSystem, NpcTradeData *data, int slot, UnkStruct_ov6_02246254 *param3, Pokemon *givingMon, Pokemon *receivingMon);
#endif // POKEPLATINUM_NPC_TRADE_H