summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/battle.h9
-rw-r--r--include/battle_util.h29
-rw-r--r--include/constants/battle_constants.h13
3 files changed, 43 insertions, 8 deletions
diff --git a/include/battle.h b/include/battle.h
index 4bcdfa6a9..27ed57045 100644
--- a/include/battle.h
+++ b/include/battle.h
@@ -549,7 +549,7 @@ extern u8 gBattleTextBuff1[];
//function declarations of buffer emits
void EmitGetAttributes(u8 buffID, u8 request, u8 c); //0x0
void Emitcmd1(u8 a, u8 b, u8 c); //0x1
-void EmitSetAttributes(u8 a, u8 request, u8 c, u8 bytes, void *data); //0x2
+void EmitSetMonData(u8 a, u8 request, u8 c, u8 bytes, void *data); //0x2
void EmitSendOutPoke(u8 a, u8 b, u8 c); //0x5
void EmitReturnPokeToBall(u8 a, u8 b); //0x6
void EmitTrainerSlide(u8 a); //0x8
@@ -644,21 +644,14 @@ bool8 TryRunFromBattle(u8 bank);
void sub_8012324(void);
void SwapTurnOrder(u8, u8);
u8 GetWhoStrikesFirst(u8, u8, u8);
-void sub_80155A4();
-void CancelMultiTurnMoves(u8 bank);
-void PrepareStringBattle();
-void sub_80156DC();
-void sub_80157C4(u8 index);
// asm/battle_3.o
u8 CheckMoveLimitations(u8 bank, u8 unusableMoves, u8 check);
u8 UpdateTurnCounters(void);
u8 TurnBasedEffects(void);
-u8 sub_80170DC();
u8 HandleFaintedMonActions();
u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 move);
u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn);
-void b_clear_atk_up_if_hit_flag_unless_enraged(void);
u8 GetMoveTarget(u16 move, u8 useMoveTarget);
// asm/battle_4.o
diff --git a/include/battle_util.h b/include/battle_util.h
new file mode 100644
index 000000000..f47b00b2c
--- /dev/null
+++ b/include/battle_util.h
@@ -0,0 +1,29 @@
+#ifndef GUARD_BATTLE_UTIL_H
+#define GUARD_BATTLE_UTIL_H
+
+#define BS_GET_TARGET 0
+#define BS_GET_ATTACKER 1
+#define BS_GET_EFFECT_BANK 2
+#define BS_GET_SCRIPTING_BANK 10
+#define BS_GET_PLAYER1 11
+#define BS_GET_OPPONENT1 12
+#define BS_GET_PLAYER2 13
+#define BS_GET_OPPONENT2 14
+
+void TryClearRageStatuses(void);
+void BattleScriptPush(u8* BS_ptr);
+void PressurePPLoseOnUsingImprision(u8 bankAtk);
+void PressurePPLoseOnUsingPerishSong(u8 bankAtk);
+void sub_80155A4(u8);
+void CancelMultiTurnMoves(u8 bank);
+bool8 WasUnableToUseMove(u8 bank);
+void PrepareStringBattle(u16 stringId, u8 bank);
+void ResetSentPokesToOpponentValue(void);
+void sub_8015740(u8 bank);
+void sub_80157C4(u8 bank);
+bool8 HandleWishPerishSongOnTurnEnd(void);
+void BattleScriptExecute(u8* BS_ptr);
+void BattleScriptPushCursorAndCallback(u8* BS_ptr);
+u8 IsMonDisobedient(void);
+
+#endif // GUARD_BATTLE_UTIL_H
diff --git a/include/constants/battle_constants.h b/include/constants/battle_constants.h
index 2b973b4d9..49768f33e 100644
--- a/include/constants/battle_constants.h
+++ b/include/constants/battle_constants.h
@@ -245,6 +245,19 @@
#define MSG_DISPLAY 0x7
#define BATTLE_COMMUNICATION_ENTRIES_COUNT 0x8
+#define BS_GET_TARGET 0
+#define BS_GET_ATTACKER 1
+#define BS_GET_EFFECT_BANK 2
+#define BS_GET_gBank1 3
+#define BS_GET_BANK_0 7
+#define BS_ATTACKER_WITH_PARTNER 4 // for atk98_status_icon_update
+#define BS_GET_ATTACKER_SIDE 8 // for atk1E_jumpifability
+#define BS_GET_NOT_ATTACKER_SIDE 9 // for atk1E_jumpifability
+#define BS_GET_SCRIPTING_BANK 10
+#define BS_GET_OPPONENT1 12
+#define BS_GET_PLAYER2 13
+#define BS_GET_OPPONENT2 14
+
// status animation table
#define B_ANIM_STATUS_PSN 0x0
#define B_ANIM_STATUS_CONFUSION 0x1