summaryrefslogtreecommitdiff
path: root/include/battle_main.h
diff options
context:
space:
mode:
authorPikalaxALT <PikalaxALT@users.noreply.github.com>2019-09-25 13:56:50 -0400
committerGitHub <noreply@github.com>2019-09-25 13:56:50 -0400
commit1d4234bd7e295c553485b7d676d42c838e4762c4 (patch)
tree67ac4179d9978baf4e989ef55245e4be0d777c04 /include/battle_main.h
parent7f6d86a8bf2afe349135d502debc2237bafafff5 (diff)
parent931bf4ce4b4fd7ea63d00f36adfd2bf720831a80 (diff)
Merge branch 'master' into PIE2
Diffstat (limited to 'include/battle_main.h')
-rw-r--r--include/battle_main.h103
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