1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
|
#ifndef GUARD_PARTY_MENU_H
#define GUARD_PARTY_MENU_H
#include "main.h"
#include "task.h"
enum
{
AILMENT_NONE,
AILMENT_PSN,
AILMENT_PRZ,
AILMENT_SLP,
AILMENT_FRZ,
AILMENT_BRN,
AILMENT_PKRS,
AILMENT_FNT
};
enum
{
PARTY_CHOOSE_MON,
PARTY_MUST_CHOOSE_MON,
PARTY_CANT_SWITCH,
PARTY_USE_ITEM_ON,
PARTY_ABILITY_PREVENTS,
PARTY_GIVE_ITEM,
};
enum
{
TUTOR_MOVE_MEGA_PUNCH,
TUTOR_MOVE_SWORDS_DANCE,
TUTOR_MOVE_MEGA_KICK,
TUTOR_MOVE_BODY_SLAM,
TUTOR_MOVE_DOUBLE_EDGE,
TUTOR_MOVE_COUNTER,
TUTOR_MOVE_SEISMIC_TOSS,
TUTOR_MOVE_MIMIC,
TUTOR_MOVE_METRONOME,
TUTOR_MOVE_SOFT_BOILED,
TUTOR_MOVE_DREAM_EATER,
TUTOR_MOVE_THUNDER_WAVE,
TUTOR_MOVE_EXPLOSION,
TUTOR_MOVE_ROCK_SLIDE,
TUTOR_MOVE_SUBSTITUTE,
TUTOR_MOVE_DYNAMIC_PUNCH,
TUTOR_MOVE_ROLLOUT,
TUTOR_MOVE_PSYCH_UP,
TUTOR_MOVE_SNORE,
TUTOR_MOVE_ICY_WIND,
TUTOR_MOVE_ENDURE,
TUTOR_MOVE_MUD_SLAP,
TUTOR_MOVE_ICE_PUNCH,
TUTOR_MOVE_SWAGGER,
TUTOR_MOVE_SLEEP_TALK,
TUTOR_MOVE_SWIFT,
TUTOR_MOVE_DEFENSE_CURL,
TUTOR_MOVE_THUNDER_PUNCH,
TUTOR_MOVE_FIRE_PUNCH,
TUTOR_MOVE_FURY_CUTTER,
TUTOR_MOVE_COUNT
};
struct Struct203CEC8
{
MainCallback exitCallback;
TaskFunc unk4;
u8 unk8_0:4;
u8 mode:2;
u8 unk8_2:2;
s8 slotId;
s8 unkA;
u8 unkB;
u16 unkC;
s16 unkE;
s16 unk10;
};
extern struct Struct203CEC8 gUnknown_0203CEC8;
extern u8 gUnknown_0203CEE8;
extern u8 gUnknown_0203CEE9;
extern MainCallback gPostMenuFieldCallback;
extern u8 gSelectedOrderFromParty[4];
extern u8 gUnknown_0203CF00[3];
extern void (*gUnknown_03006328)(u8, TaskFunc);
extern const u16 gTutorMoves[];
void sub_81B0FCC(u8 slot, u8 b);
bool8 IsMultiBattle(void);
u8 GetCursorSelectionMonId(void);
u8 sub_81B1360(void);
void sub_81B1370(u8 taskId);
u8* GetMonNickname(struct Pokemon *mon, u8 *dest);
u8 sub_81B1B5C(const u8* str, u8 b);
bool8 sub_81B1BD4(void);
void sub_81B1F18(u8 taskId, u8 slot, s8 c, s16 HPDifference, TaskFunc func);
u8 pokemon_ailments_get_primary(u32 status);
u8 GetMonAilment(struct Pokemon *mon);
void display_pokemon_menu_message(u32 stringID);
void sub_81B47E0(u8 taskId);
bool8 FieldCallback_PrepareFadeInFromMenu(void);
void sub_81B58A8(void);
void LoadHeldItemIcons(void);
void sub_81B5D4C(u8 *a, u8 *b, u8 c);
void sub_81B617C(void);
void ItemUseCB_Medicine(u8 taskId, TaskFunc task);
void sub_81B67C8(u8 taskId, TaskFunc task);
void dp05_ether(u8 taskId, TaskFunc task);
void dp05_pp_up(u8 taskId, TaskFunc task);
u16 ItemIdToBattleMoveId(u16 item);
bool8 IsMoveHm(u16 move);
bool8 MonKnowsMove(struct Pokemon *mon, u16 move);
void sub_81B6DC4(u8 taskId, TaskFunc task);
void dp05_rare_candy(u8 taskId, TaskFunc task);
void sub_81B79E8(u8 taskId, TaskFunc task);
void sub_81B7C74(u8 taskId, TaskFunc task);
u8 GetItemEffectType(u16 item);
void CB2_PartyMenuFromStartMenu(void);
void sub_81B7F60(void);
void sub_81B8448(void);
void InitChooseHalfPartyForBattle(u8 unused);
void sub_81B8558(void);
void sub_81B8904(u8 initArg, MainCallback callback);
void sub_81B892C(void);
void sub_81B8958(void);
void OpenPartyMenuInBattle(u8 arg);
void sub_81B89F0(void);
void sub_81B8C68(void);
void sub_81B8D64(u8 battlerId, u8 multiplayerFlag);
void sub_81B8E80(u8 battlerId, u8 unk, u8 arrayIndex);
void sub_81B8FB0(u8 slot, u8 slot2);
u8 pokemon_order_func(u8 slot);
void sub_81B9150(void);
void sub_81B9328(void);
bool8 hm_add_c3_without_phase_2(void);
void sub_81B9404(void);
void sub_81B94B0(void);
void sub_81B951C(void);
void sub_81B9620(void);
void sub_81B95E0(void);
void sub_81B98DC(void);
void sub_81B9918(void);
void sub_81B9770(void);
void sub_81B9718(void);
void sub_81B96D0(void);
void sub_81B968C(void);
#endif // GUARD_PARTY_MENU_H
|