#ifndef POKEPLATINUM_OV16_0225177C_H
#define POKEPLATINUM_OV16_0225177C_H

#include "struct_defs/pokemon.h"
#include "struct_decls/struct_0207ADB4_decl.h"
#include "battle/battle_context.h"
#include "battle/battle_mon.h"
#include "battle/battle_message.h"

void ov16_0225177C(UnkStruct_0207ADB4 * param0, BattleContext * param1, int param2, int param3);
void ov16_02251C94(UnkStruct_0207ADB4 * param0, BattleContext * param1, int param2, int param3);
void ov16_02251E1C(BattleContext * param0, int param1, int param2);
void ov16_02251E5C(BattleContext * param0, int param1, int param2);
BOOL ov16_02251EF4(BattleContext * param0);
void ov16_02251F44(BattleContext * param0, int param1, int param2, int param3);
void ov16_02251F80(BattleContext * param0, int param1, int param2, int param3);
BOOL ov16_02251FC8(BattleContext * param0);
void ov16_0225201C(BattleContext * param0);
void ov16_02252040(BattleContext * param0, int param1);
int ov16_02252060(BattleContext * param0, int param1, int param2, void * param3);
void ov16_022523E8(BattleContext * param0, int param1, int param2, const void * param3);
void ov16_02252A14(BattleContext * param0, int param1, int param2, int param3);
void ov16_02252A2C(BattleMon * param0, int param1, int param2);
u8 ov16_02252EC8(UnkStruct_0207ADB4 * param0, BattleContext * param1, int param2, int param3, int param4);
void ov16_022535E0(BattleContext * param0, int param1);
void ov16_022535F0(UnkStruct_0207ADB4 * param0, BattleContext * param1, int param2);
BOOL ov16_0225366C(UnkStruct_0207ADB4 * param0, BattleContext * param1, int * param2);
BOOL ov16_02253710(UnkStruct_0207ADB4 * param0, BattleContext * param1, int * param2);
int ov16_02253954(UnkStruct_0207ADB4 * param0, BattleContext * param1, int param2, u16 param3, int param4, int param5);
void ov16_02253C98(UnkStruct_0207ADB4 * param0, BattleContext * param1, int param2, u16 param3);
BOOL ov16_02253E3C(UnkStruct_0207ADB4 * param0, BattleContext * param1);
void ov16_02253EC0(UnkStruct_0207ADB4 * param0, BattleContext * param1, int param2);
void ov16_02253EF0(UnkStruct_0207ADB4 * param0, BattleContext * param1, int param2);
void ov16_02253F20(UnkStruct_0207ADB4 * param0, BattleContext * param1, int param2);
int ov16_02253F7C(BattleContext * param0, int param1);
BOOL ov16_02253FCC(UnkStruct_0207ADB4 * param0, BattleContext * param1);
void ov16_022541C4(BattleContext * param0);
void ov16_022542B8(UnkStruct_0207ADB4 * param0, BattleContext * param1);
void ov16_0225433C(UnkStruct_0207ADB4 * param0, BattleContext * param1, int param2);
void ov16_02254744(UnkStruct_0207ADB4 * param0, BattleContext * param1, int param2);
void ov16_02254990(UnkStruct_0207ADB4 * param0, BattleContext * param1);
int ov16_02254A6C(UnkStruct_0207ADB4 * param0, BattleContext * param1, int param2, int param3, int param4);
BOOL ov16_02254CA8(UnkStruct_0207ADB4 * param0, BattleContext * param1, int param2, int param3, BattleMessage * param4);
int ov16_02254EE0(BattleMon * param0, u16 param1);
int ov16_02254FA8(UnkStruct_0207ADB4 * param0, BattleContext * param1, int param2, int param3, int param4, int param5, int param6, u32 * param7);
void ov16_022552D4(BattleContext * param0, int param1, int param2, int param3, int param4, int param5, int param6, int param7, u32 * param8);
BOOL ov16_02255498(BattleContext * param0, int param1);
u8 ov16_022554E0(UnkStruct_0207ADB4 * param0, BattleContext * param1, int param2, int param3);
int ov16_02255560(BattleContext * param0, int param1);
u16 ov16_02255570(BattleContext * param0, int param1);
int ov16_022555A4(UnkStruct_0207ADB4 * param0, BattleContext * param1, int param2, int param3, int param4);
BOOL ov16_0225582C(BattleContext * param0, int param1);
BOOL ov16_0225588C(UnkStruct_0207ADB4 * param0, int param1, u8 * param2, u8 * param3, u8 * param4);
int ov16_022558CC(u8 param0, u8 param1, u8 param2);
BOOL ov16_02255918(u16 param0);
BOOL ov16_02255950(BattleContext * param0, u16 param1, int param2);
BOOL ov16_02255980(UnkStruct_0207ADB4 * param0, BattleContext * param1, int param2);
BOOL ov16_022559DC(BattleContext * param0, int param1);
BOOL ov16_022559FC(UnkStruct_0207ADB4 * param0, BattleContext * param1);
u8 ov16_02255A4C(BattleContext * param0, int param1);
BOOL ov16_02255AB4(BattleContext * param0, int param1, int param2, int param3);
BOOL ov16_02255B10(UnkStruct_0207ADB4 * param0, BattleContext * param1, int param2);
BOOL ov16_02255C00(UnkStruct_0207ADB4 * param0, BattleContext * param1, int param2, BattleMessage * param3);
BOOL ov16_02255DE8(UnkStruct_0207ADB4 * param0, BattleContext * param1, int param2);
BOOL ov16_02255EC0(BattleContext * param0, int param1);
BOOL ov16_02255EF4(UnkStruct_0207ADB4 * param0, BattleContext * param1, int param2, int param3);
BOOL ov16_02255F68(UnkStruct_0207ADB4 * param0, BattleContext * param1, int param2);
void ov16_02255F94(UnkStruct_0207ADB4 * param0, BattleContext * param1);
void ov16_02255FBC(UnkStruct_0207ADB4 * param0, BattleContext * param1);
BOOL ov16_02256044(UnkStruct_0207ADB4 * param0, BattleContext * param1, int param2, int param3);
BOOL ov16_02256078(UnkStruct_0207ADB4 * param0, BattleContext * param1, int param2, int param3);
void ov16_022560B0(UnkStruct_0207ADB4 * param0, BattleContext * param1);
int ov16_02256128(UnkStruct_0207ADB4 * param0, BattleContext * param1, int param2);
int ov16_02256148(BattleContext * param0, int param1, int param2);
BOOL ov16_022562E8(UnkStruct_0207ADB4 * param0, BattleContext * param1, int param2);
int ov16_022563F8(int param0, int param1);
int ov16_02256414(UnkStruct_0207ADB4 * param0, BattleContext * param1);
int ov16_02257028(UnkStruct_0207ADB4 * param0, BattleContext * param1, int param2);
BOOL ov16_0225708C(UnkStruct_0207ADB4 * param0, BattleContext * param1, int * param2);
BOOL ov16_02257628(UnkStruct_0207ADB4 * param0, BattleContext * param1, int param2, int param3);
BOOL ov16_022577A4(BattleContext * param0, int param1, int param2);
BOOL ov16_02257808(UnkStruct_0207ADB4 * param0, BattleContext * param1, int param2);
BOOL ov16_022579A4(UnkStruct_0207ADB4 * param0, BattleContext * param1, int param2);
BOOL ov16_02258008(UnkStruct_0207ADB4 * param0, BattleContext * param1, int param2);
BOOL ov16_02258104(UnkStruct_0207ADB4 * param0, BattleContext * param1, int param2, int * param3);
BOOL ov16_022587A4(UnkStruct_0207ADB4 * param0, BattleContext * param1, int param2);
u16 ov16_02258874(BattleContext * param0, int param1);
BOOL ov16_022588A4(BattleContext * param0, int param1);
BOOL ov16_022588BC(UnkStruct_0207ADB4 * param0, BattleContext * param1, int * param2);
s32 ov16_02258AB8(BattleContext * param0, int param1);
s32 ov16_02258ACC(BattleContext * param0, int param1, int param2);
s32 ov16_02258B18(BattleContext * param0, int param1);
s32 ov16_02258B2C(BattleContext * param0, int param1);
s32 ov16_02258B40(BattleContext * param0, int param1);
s32 ov16_02258B58(BattleContext * param0, int param1);
s32 ov16_02258B80(BattleContext * param0, int param1);
int ov16_02258BA8(UnkStruct_0207ADB4 * param0, BattleContext * param1, int param2);
BOOL ov16_02258CB4(UnkStruct_0207ADB4 * param0, BattleContext * param1, int param2);
BOOL ov16_02259204(UnkStruct_0207ADB4 * param0, BattleContext * param1, int param2);
void ov16_02259868(UnkStruct_0207ADB4 * param0, BattleContext * param1);
void ov16_0225991C(UnkStruct_0207ADB4 * param0, BattleContext * param1);
int ov16_022599D0(BattleContext * param0, int param1, int param2, int param3);
BOOL ov16_02259A28(BattleContext * param0, int param1);
void ov16_02259A5C(UnkStruct_0207ADB4 * param0, BattleContext * param1, Pokemon * param2);
u8 ov16_02259AB4(BattleContext * param0, int param1);
BOOL ov16_02259AC0(BattleContext * param0, int param1);
BOOL ov16_02259ADC(UnkStruct_0207ADB4 * param0, BattleContext * param1);
BOOL ov16_02259B38(UnkStruct_0207ADB4 * param0, Pokemon * param1);
BOOL ov16_02259B9C(UnkStruct_0207ADB4 * param0, BattleContext * param1, int * param2);
void ov16_0225A1B0(UnkStruct_0207ADB4 * param0, BattleContext * param1);
void ov16_0225A200(UnkStruct_0207ADB4 * param0, BattleContext * param1, int param2, int param3);
int ov16_0225A280(UnkStruct_0207ADB4 * param0, BattleContext * param1, int param2, u32 param3, u32 param4, u16 param5, u8 param6, u8 param7, u8 param8, u8 param9);
int ov16_0225AEB8(UnkStruct_0207ADB4 * param0, BattleContext * param1, int param2);
int ov16_0225AEE4(UnkStruct_0207ADB4 * param0, BattleContext * param1, int param2, int param3, int param4, u32 param5);
BOOL ov16_0225AFF4(u16 param0);
BOOL ov16_0225B02C(UnkStruct_0207ADB4 * param0, BattleContext * param1, int param2, u16 param3);
BOOL ov16_0225B084(BattleContext * param0, u16 param1);
BOOL ov16_0225B0C0(BattleContext * param0, u16 param1);
s32 ov16_0225B0FC(BattleContext * param0, u16 param1, u16 param2);
int ov16_0225B120(UnkStruct_0207ADB4 * param0, BattleContext * param1, int param2);
void ov16_0225B148(UnkStruct_0207ADB4 * param0, BattleContext * param1);
BOOL ov16_0225B1DC(BattleContext * param0, int param1, int param2);
BOOL ov16_0225B228(UnkStruct_0207ADB4 * param0, BattleContext * param1, int * param2);
void ov16_0225B408(BattleContext * param0, int param1, int param2);
BOOL ov16_0225B444(UnkStruct_0207ADB4 * param0, BattleContext * param1);
int ov16_0225B45C(UnkStruct_0207ADB4 * param0, BattleContext * param1, int param2, int param3);
void ov16_0225B540(UnkStruct_0207ADB4 * param0, BattleContext * param1, int param2, int param3, int param4);
int ov16_0225BA88(UnkStruct_0207ADB4 * param0, int param1);
int ov16_0225BE28(UnkStruct_0207ADB4 * param0, int param1);
int ov16_0225BE3C(UnkStruct_0207ADB4 * param0, BattleContext * param1, Pokemon * param2, int param3);

#endif // POKEPLATINUM_OV16_0225177C_H
