pokefirered/include/constants/trade.h
2026-03-26 12:33:08 -06:00

85 lines
2.8 KiB
C

#ifndef GUARD_CONSTANTS_TRADE_H
#define GUARD_CONSTANTS_TRADE_H
// TODO: document trade.c and trade_scene.c with corresponding macros
// and examine if these are correct
#define TRADE_PLAYER 0
#define TRADE_PARTNER 1
#define LINK_TRADE_TIMEOUT 300
// In-game Trade IDs
#define INGAME_TRADE_MR_MIME 0
#define INGAME_TRADE_JYNX 1
#define INGAME_TRADE_NIDORAN 2 // M or F depending on version
#define INGAME_TRADE_FARFETCHD 3
#define INGAME_TRADE_NIDORINOA 4 // Nidorino or Nidorina depending on version
#define INGAME_TRADE_LICKITUNG 5
#define INGAME_TRADE_ELECTRODE 6
#define INGAME_TRADE_TANGELA 7
#define INGAME_TRADE_SEEL 8
#define INGAME_TRADE_CHIKORITA 9
#define INGAME_TRADE_CYNDAQUIL 10
#define INGAME_TRADE_TOTODILE 11
#define INGAME_TRADE_TREECKO 12
#define INGAME_TRADE_TORCHIC 13
#define INGAME_TRADE_MUDKIP 14
#define INGAME_TRADE_CASTFORM 15
#define INGAME_TRADE_KECLEON 16
#define INGAME_TRADE_RAIKOU 17
#define INGAME_TRADE_ENTEI 18
#define INGAME_TRADE_SUICUNE 19
#define INGAME_TRADE_HO_OH 20
#define INGAME_TRADE_DUSKULL 21
#define INGAME_TRADE_MURKROW 22
#define INGAME_TRADE_BAGON 23
#define INGAME_TRADE_MEW 24
#define INGAME_TRADE_CELEBI 25
#define INGAME_TRADE_REGIROCK 26
#define INGAME_TRADE_REGICE 27
#define INGAME_TRADE_REGISTEEL 28
#define INGAME_TRADE_KYOGRE 29
#define INGAME_TRADE_GROUDON 30
#define INGAME_TRADE_RAYQUAZA 31
#define INGAME_TRADE_LATIAS 32
#define INGAME_TRADE_LATIOS 33
#define INGAME_TRADE_JIRACHI 34
// Return values for CanTradeSelectedMon and CanSpinTradeMon
#define CAN_TRADE_MON 0
#define CANT_TRADE_LAST_MON 1
#define CANT_TRADE_NATIONAL 2
#define CANT_TRADE_EGG_YET 3
#define CANT_TRADE_INVALID_MON 4
#define CANT_TRADE_PARTNER_EGG_YET 5
// Return values for CheckValidityOfTradeMons
#define PLAYER_MON_INVALID 0
#define BOTH_MONS_VALID 1
#define PARTNER_MON_INVALID 2
// Return values for GetGameProgressForLinkTrade
#define TRADE_BOTH_PLAYERS_READY 0
#define TRADE_PLAYER_NOT_READY 1
#define TRADE_PARTNER_NOT_READY 2
// Message indexes for sUnionRoomTradeMessages
#define UR_TRADE_MSG_NONE 0
#define UR_TRADE_MSG_NOT_MON_PARTNER_WANTS 1
#define UR_TRADE_MSG_NOT_EGG 2
#define UR_TRADE_MSG_MON_CANT_BE_TRADED_1 3
#define UR_TRADE_MSG_MON_CANT_BE_TRADED_2 4
#define UR_TRADE_MSG_PARTNERS_MON_CANT_BE_TRADED 5
#define UR_TRADE_MSG_EGG_CANT_BE_TRADED 6
#define UR_TRADE_MSG_PARTNER_CANT_ACCEPT_MON 7
#define UR_TRADE_MSG_CANT_TRADE_WITH_PARTNER_1 8
#define UR_TRADE_MSG_CANT_TRADE_WITH_PARTNER_2 9
// Return values for CanRegisterMonForTradingBoard
#define CAN_REGISTER_MON 0
#define CANT_REGISTER_MON 1
#define CANT_REGISTER_EGG 2
#endif // GUARD_CONSTANTS_TRADE_H