pmd-red/include/moves.h
2023-07-15 13:49:36 -04:00

62 lines
2.8 KiB
C

#ifndef GUARD_MOVES_H
#define GUARD_MOVES_H
#include "constants/move.h"
#include "constants/move_id.h"
void LoadWazaParameters(void);
u8 sub_809287C(struct Move *move);
void InitPokemonMove(struct Move *move, u16 moveID);
void sub_8092AA8(struct Move *move, u16 moveID);
void InitZeroedPPPokemonMove(struct Move *move, u16 moveID);
s16 GetMoveTargetAndRange(struct Move *move, u32 isAI);
u8 GetMoveType(struct Move *move);
u8* GetLevelUpMoves(s16 species);
u8* GetHMTMMoves(s16 species);
u8 GetMoveAIWeight(struct Move *move);
u32 GetMoveNumberOfChainedHits(struct Move *move);
s32 GetMoveBasePower(struct Move *move);
s32 GetMoveAccuracyOrAIChance(struct Move *move, u32 accuracyType);
u32 GetMoveBasePP(struct Move *move);
u32 GetMoveMaxUpgradeLevel(struct Move *move);
u32 GetMoveCritChance(struct Move *move);
bool8 MoveCannotHitFrozen(struct Move *move);
bool8 MovesIgnoresTaunted(struct Move *move);
u32 GetMoveRangeID(struct Move *move);
void sub_8092C84(u8 *buffer, u16 moveID);
u8 *GetMoveUseText(u16 moveID);
bool8 IsReflectedByMagicCoat(u16 moveID);
bool8 CanBeSnatched(u16 moveID);
bool8 FailsWhileMuzzled(u16 moveID);
bool8 IsSoundMove(struct Move *move);
bool8 DoesMoveCharge(u16 move);
bool8 IsAnyMoveLinked(int unused, struct Move* moves);
bool8 IsNextMoveLinked(int index, struct Move* moves);
void RemoveLinkSequenceFromMoves8(struct Move* moves, int index);
int GetLinkedSequence(int index, struct Move* moves, u16* sequenceMoveIDs);
void unk_CopyMoves4To8(struct Move* destMoves, struct Move* srcMoves);
void sub_8094060(struct Move* srcMoves, struct Move* destMoves);
void unk_FixLinkedMovesSetEnabled8_v2(struct Move* move);
void sub_8092D54(u8 *buffer, struct Move *move);
extern void CopyAndResetMove(struct Move *, struct Move *);
void unk_GetLinkedSequences4(struct Move* moves, struct Move linkedSequences[4][4]);
void unk_LinkedSequencesToMoves4(struct Move* moves, struct Move linkedSequences[4][4]);
void unk_GetLinkedSequences8(struct Move* moves, struct Move linkedSequences[8][8]);
void unk_LinkedSequencesToMoves8(struct Move* moves, struct Move linkedSequences[8][8]);
void unk_GetLinkedSequences8_v2(struct Move* moves, struct Move linkedSequences[8][8]);
void unk_LinkedSequencesToMoves8_v2(struct Move* moves, struct Move linkedSequences[8][8]);
int unk_FindMarkedMoveInLinkedSequences44(struct Move linkedSequences[4][4]);
void unk_LinkedSequencesToMoves4(struct Move* moves, struct Move linkedSequences[4][4]);
int unk_FindMarkedMoveInLinkedSequences88(struct Move linkedSequences[8][8]);
void unk_LinkedSequencesToMoves8(struct Move* moves, struct Move linkedSequences[8][8]);
int unk_FindMarkedMoveInLinkedSequences88_v2(struct Move linkedSequences[8][8]);
void unk_LinkedSequencesToMoves8_v2(struct Move* moves, struct Move linkedSequences[8][8]);
#endif // GUARD_MOVES_H