diff options
author | PikalaxALT <PikalaxALT@users.noreply.github.com> | 2019-09-25 13:56:50 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-09-25 13:56:50 -0400 |
commit | 1d4234bd7e295c553485b7d676d42c838e4762c4 (patch) | |
tree | 67ac4179d9978baf4e989ef55245e4be0d777c04 /include/battle_main.h | |
parent | 7f6d86a8bf2afe349135d502debc2237bafafff5 (diff) | |
parent | 931bf4ce4b4fd7ea63d00f36adfd2bf720831a80 (diff) |
Merge branch 'master' into PIE2
Diffstat (limited to 'include/battle_main.h')
-rw-r--r-- | include/battle_main.h | 103 |
1 files changed, 103 insertions, 0 deletions
diff --git a/include/battle_main.h b/include/battle_main.h new file mode 100644 index 000000000..27aae9970 --- /dev/null +++ b/include/battle_main.h @@ -0,0 +1,103 @@ +#ifndef GUARD_BATTLE_MAIN_H +#define GUARD_BATTLE_MAIN_H + +struct TrainerMoney +{ + u8 classId; + u8 value; +}; + +struct UnknownPokemonStruct4 +{ + /*0x00*/ u16 species; + /*0x02*/ u16 heldItem; + /*0x04*/ u8 nickname[POKEMON_NAME_LENGTH + 1]; + /*0x0F*/ u8 level; + /*0x10*/ u16 hp; + /*0x12*/ u16 maxhp; + /*0x14*/ u32 status; + /*0x18*/ u32 personality; + /*0x1C*/ u8 gender; + /*0x1D*/ u8 language; +}; + +#define TYPE_NAME_LENGTH 6 +#define ABILITY_NAME_LENGTH 12 + +// defines for the u8 array gTypeEffectiveness +#define TYPE_EFFECT_ATK_TYPE(i)((gTypeEffectiveness[i + 0])) +#define TYPE_EFFECT_DEF_TYPE(i)((gTypeEffectiveness[i + 1])) +#define TYPE_EFFECT_MULTIPLIER(i)((gTypeEffectiveness[i + 2])) + +// defines for the gTypeEffectiveness multipliers +#define TYPE_MUL_NO_EFFECT 0 +#define TYPE_MUL_NOT_EFFECTIVE 5 +#define TYPE_MUL_NORMAL 10 +#define TYPE_MUL_SUPER_EFFECTIVE 20 + +// special type table Ids +#define TYPE_FORESIGHT 0xFE +#define TYPE_ENDTABLE 0xFF + +// defines for the 'DoBounceEffect' function +#define BOUNCE_MON 0x0 +#define BOUNCE_HEALTHBOX 0x1 + +void CB2_InitBattle(void); +void BattleMainCB2(void); +void CB2_QuitRecordedBattle(void); +void sub_8038528(struct Sprite* sprite); +void sub_8038A04(void); // unused +void VBlankCB_Battle(void); +void sub_8038B74(struct Sprite *sprite); +void sub_8011A1C(void); +u32 sub_80391E0(u8 arrayId, u8 caseId); +u32 sub_80397C4(u32 setId, u32 tableId); +void oac_poke_opponent(struct Sprite *sprite); +void SpriteCallbackDummy_2(struct Sprite *sprite); +void sub_8039934(struct Sprite *sprite); +void sub_8012098(struct Sprite *sprite); +void sub_8012044(struct Sprite *sprite); +void sub_8039B58(struct Sprite *sprite); +void sub_8039BB4(struct Sprite *sprite); +void sub_80105DC(struct Sprite *sprite); +void sub_8012110(struct Sprite *sprite); +void DoBounceEffect(u8 bank, u8 b, s8 c, s8 d); +void EndBounceEffect(u8 bank, bool8 b); +void sub_8039E44(struct Sprite *sprite); +void sub_8039E60(struct Sprite *sprite); +void sub_8039E84(struct Sprite *sprite); +void sub_8039E9C(struct Sprite *sprite); +void BeginBattleIntro(void); +void SwitchInClearSetData(void); +void FaintClearSetData(void); +void sub_803B3AC(void); // unused +void sub_803B598(void); // unused +void BattleTurnPassed(void); +u8 IsRunningFromBattleImpossible(void); +void sub_8013F6C(u8 battlerId); +void SwapTurnOrder(u8 id1, u8 id2); +u8 GetWhoStrikesFirst(u8 bank1, u8 bank2, bool8 ignoreChosenMoves); +void RunBattleScriptCommands_PopCallbacksStack(void); +void RunBattleScriptCommands(void); +bool8 TryRunFromBattle(u8 bank); +void sub_800FD9C(void); +void sub_80120C4(struct Sprite *); +void sub_8012100(struct Sprite *); +void nullsub_12(void); +void SpriteCB_FaintOpponentMon(struct Sprite *sprite); + +extern const u8 gStatusConditionString_PoisonJpn[8]; +extern const u8 gStatusConditionString_SleepJpn[8]; +extern const u8 gStatusConditionString_ParalysisJpn[8]; +extern const u8 gStatusConditionString_BurnJpn[8]; +extern const u8 gStatusConditionString_IceJpn[8]; +extern const u8 gStatusConditionString_ConfusionJpn[8]; +extern const u8 gStatusConditionString_LoveJpn[8]; + +extern const u8 * const gStatusConditionStringsTable[7][2]; + +extern const u8 gTypeEffectiveness[336]; +extern const struct TrainerMoney gTrainerMoneyTable[]; + +#endif // GUARD_BATTLE_MAIN_H |