summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/charge_move.h9
-rw-r--r--include/constants/status.h179
-rw-r--r--include/dungeon_ai.h9
-rw-r--r--include/dungeon_capabilities.h9
-rw-r--r--include/dungeon_capabilities_1.h11
-rw-r--r--include/dungeon_entity.h6
-rw-r--r--include/dungeon_movement.h2
-rw-r--r--include/dungeon_pokemon_attributes.h9
-rw-r--r--include/dungeon_pokemon_attributes_1.h9
-rw-r--r--include/dungeon_util.h2
-rw-r--r--include/dungeon_util_1.h9
11 files changed, 141 insertions, 113 deletions
diff --git a/include/charge_move.h b/include/charge_move.h
new file mode 100644
index 0000000..9d10ac2
--- /dev/null
+++ b/include/charge_move.h
@@ -0,0 +1,9 @@
+#ifndef GUARD_CHARGE_MOVE_H
+#define GUARD_CHARGE_MOVE_H
+
+#include "dungeon_entity.h"
+
+// 0x570F4
+bool8 IsCharging(struct DungeonEntity *pokemon, bool8 checkCharge);
+
+#endif
diff --git a/include/constants/status.h b/include/constants/status.h
index 9fad5b0..229171f 100644
--- a/include/constants/status.h
+++ b/include/constants/status.h
@@ -1,125 +1,88 @@
#ifndef GUARD_CONSTANTS_STATUS_H
#define GUARD_CONSTANTS_STATUS_H
-enum SleepStatus
-{
- SLEEP_STATUS_SLEEP = 1,
- SLEEP_STATUS_SLEEPLESS = 2,
- SLEEP_STATUS_NIGHTMARE = 3,
- SLEEP_STATUS_YAWNING = 4,
- SLEEP_STATUS_NAPPING = 5
-};
+#define SLEEP_STATUS_NONE 0
+#define SLEEP_STATUS_SLEEP 1
+#define SLEEP_STATUS_SLEEPLESS 2
+#define SLEEP_STATUS_NIGHTMARE 3
+#define SLEEP_STATUS_YAWNING 4
+#define SLEEP_STATUS_NAPPING 5
-enum NonVolatileStatus
-{
- NON_VOLATILE_STATUS_BURNED = 1,
- NON_VOLATILE_STATUS_POISONED = 2,
- NON_VOLATILE_STATUS_BADLY_POISONED = 3,
- NON_VOLATILE_STATUS_PARALYZED = 4
-};
+#define NON_VOLATILE_STATUS_BURNED 1
+#define NON_VOLATILE_STATUS_POISONED 2
+#define NON_VOLATILE_STATUS_BADLY_POISONED 3
+#define NON_VOLATILE_STATUS_PARALYZED 4
-enum ImmobilizeStatus
-{
- IMMOBILIZE_STATUS_FROZEN = 1,
- IMMOBILIZE_STATUS_IMMOBILIZED = 2,
- IMMOBILIZE_STATUS_WRAPPED_AROUND_FOE = 3,
- IMMOBILIZE_STATUS_WRAPPED_BY_FOE = 4,
- IMMOBILIZE_STATUS_INGRAIN = 5,
- IMMOBILIZE_STATUS_PETRIFIED = 6,
- IMMOBILIZE_STATUS_SQUEEZED = 7
-};
+#define IMMOBILIZE_STATUS_FROZEN 1
+#define IMMOBILIZE_STATUS_IMMOBILIZED 2
+#define IMMOBILIZE_STATUS_WRAPPED_AROUND_FOE 3
+#define IMMOBILIZE_STATUS_WRAPPED_BY_FOE 4
+#define IMMOBILIZE_STATUS_INGRAIN 5
+#define IMMOBILIZE_STATUS_PETRIFIED 6
+#define IMMOBILIZE_STATUS_SQUEEZED 7
-enum ChargingStatus
-{
- CHARGING_STATUS_BIDE = 0x1,
- CHARGING_STATUS_SOLARBEAM = 0x2,
- CHARGING_STATUS_SKY_ATTACK = 0x3,
- CHARGING_STATUS_RAZOR_WIND = 0x4,
- CHARGING_STATUS_FOCUS_PUNCH = 0x5,
- CHARGING_STATUS_SKULL_BASH = 0x6,
- CHARGING_STATUS_FLY = 0x7,
- CHARGING_STATUS_BOUNCE = 0x8,
- CHARGING_STATUS_DIVE = 0x9,
- CHARGING_STATUS_DIG = 0xA,
- CHARGING_STATUS_CHARGE = 0xB,
- CHARGING_STATUS_RAGE = 0xC
-};
+#define CHARGING_STATUS_NONE 0x0
+#define CHARGING_STATUS_BIDE 0x1
+#define CHARGING_STATUS_SOLARBEAM 0x2
+#define CHARGING_STATUS_SKY_ATTACK 0x3
+#define CHARGING_STATUS_RAZOR_WIND 0x4
+#define CHARGING_STATUS_FOCUS_PUNCH 0x5
+#define CHARGING_STATUS_SKULL_BASH 0x6
+#define CHARGING_STATUS_FLY 0x7
+#define CHARGING_STATUS_BOUNCE 0x8
+#define CHARGING_STATUS_DIVE 0x9
+#define CHARGING_STATUS_DIG 0xA
+#define CHARGING_STATUS_CHARGE 0xB
+#define CHARGING_STATUS_RAGE 0xC
-enum ProtectionStatus
-{
- PROTECTION_STATUS_REFLECT = 0x1,
- PROTECTION_STATUS_SAFEGUARD = 0x2,
- PROTECTION_STATUS_LIGHT_SCREEN = 0x3,
- PROTECTION_STATUS_COUNTER = 0x4,
- PROTECTION_STATUS_MAGIC_COAT = 0x5,
- PROTECTION_STATUS_WISH = 0x6,
- PROTECTION_STATUS_PROTECT = 0x7,
- PROTECTION_STATUS_MIRROR_COAT = 0x8,
- PROTECTION_STATUS_ENDURE = 0x9,
- PROTECTION_STATUS_MINI_COUNTER = 0xA,
- PROTECTION_STATUS_MIRROR_MOVE = 0xB,
- PROTECTION_STATUS_CONVERSION_2 = 0xC,
- PROTECTION_STATUS_VITAL_THROW = 0xD,
- PROTECTION_STATUS_MIST = 0xE
-};
+#define PROTECTION_STATUS_REFLECT 0x1
+#define PROTECTION_STATUS_SAFEGUARD 0x2
+#define PROTECTION_STATUS_LIGHT_SCREEN 0x3
+#define PROTECTION_STATUS_COUNTER 0x4
+#define PROTECTION_STATUS_MAGIC_COAT 0x5
+#define PROTECTION_STATUS_WISH 0x6
+#define PROTECTION_STATUS_PROTECT 0x7
+#define PROTECTION_STATUS_MIRROR_COAT 0x8
+#define PROTECTION_STATUS_ENDURE 0x9
+#define PROTECTION_STATUS_MINI_COUNTER 0xA
+#define PROTECTION_STATUS_MIRROR_MOVE 0xB
+#define PROTECTION_STATUS_CONVERSION_2 0xC
+#define PROTECTION_STATUS_VITAL_THROW 0xD
+#define PROTECTION_STATUS_MIST 0xE
-enum WaitingStatus
-{
- WAITING_STATUS_CURSED = 1,
- WAITING_STATUS_DECOY = 2,
- WAITING_STATUS_SNATCH = 3
-};
+#define WAITING_STATUS_CURSED 1
+#define WAITING_STATUS_DECOY 2
+#define WAITING_STATUS_SNATCH 3
-enum LinkedStatus
-{
- LINKED_STATUS_LEECH_SEED = 1,
- LINKED_STATUS_DESTINY_BOND = 2
-};
+#define LINKED_STATUS_LEECH_SEED 1
+#define LINKED_STATUS_DESTINY_BOND 2
-enum MoveStatus
-{
- MOVE_STATUS_SURE_SHOT = 1,
- MOVE_STATUS_WHIFFER = 2,
- MOVE_STATUS_SET_DAMAGE = 3,
- MOVE_STATUS_FOCUS_ENERGY = 4
-};
+#define MOVE_STATUS_SURE_SHOT 1
+#define MOVE_STATUS_WHIFFER 2
+#define MOVE_STATUS_SET_DAMAGE 3
+#define MOVE_STATUS_FOCUS_ENERGY 4
-enum ItemStatus
-{
- ITEM_STATUS_LONG_TOSS = 1,
- ITEM_STATUS_PIERCE = 2
-};
+#define ITEM_STATUS_LONG_TOSS 1
+#define ITEM_STATUS_PIERCE 2
-enum TransformStatus
-{
- TRANSFORM_STATUS_INVISIBLE = 1,
- TRANSFORM_STATUS_TRANSFORMED = 2,
- TRANSFORM_STATUS_MOBILE = 3
-};
+#define TRANSFORM_STATUS_INVISIBLE 1
+#define TRANSFORM_STATUS_TRANSFORMED 2
+#define TRANSFORM_STATUS_MOBILE 3
-enum EyesightStatus
-{
- EYESIGHT_STATUS_BLINKER = 1,
- EYESIGHT_STATUS_CROSS_EYED = 2,
- EYESIGHT_STATUS_EYEDROPS = 3
-};
+#define EYESIGHT_STATUS_BLINKER 1
+#define EYESIGHT_STATUS_CROSS_EYED 2
+#define EYESIGHT_STATUS_EYEDROPS 3
-enum VolatileStatus
-{
- VOLATILE_STATUS_CRINGING = 1,
- VOLATILE_STATUS_CONFUSED = 2,
- VOLATILE_STATUS_PAUSED = 3,
- VOLATILE_STATUS_COWERING = 4,
- VOLATILE_STATUS_TAUNTED = 5,
- VOLATILE_STATUS_ENCORE = 6,
- VOLATILE_STATUS_INFATUATED = 7
-};
+#define VOLATILE_STATUS_CRINGING 1
+#define VOLATILE_STATUS_CONFUSED 2
+#define VOLATILE_STATUS_PAUSED 3
+#define VOLATILE_STATUS_COWERING 4
+#define VOLATILE_STATUS_TAUNTED 5
+#define VOLATILE_STATUS_ENCORE 6
+#define VOLATILE_STATUS_INFATUATED 7
-enum TargetingDecoy
-{
- TARGETING_DECOY_NONE = 0,
- TARGETING_DECOY_TEAM = 1,
- TARGETING_DECOY_WILD = 2
-};
+#define TARGETING_DECOY_NONE 0
+#define TARGETING_DECOY_TEAM 1
+#define TARGETING_DECOY_WILD 2
#endif
diff --git a/include/dungeon_ai.h b/include/dungeon_ai.h
new file mode 100644
index 0000000..e02da08
--- /dev/null
+++ b/include/dungeon_ai.h
@@ -0,0 +1,9 @@
+#ifndef GUARD_DUNGEON_AI_H
+#define GUARD_DUNGEON_AI_H
+
+#include "dungeon_entity.h"
+
+// 0x71494
+bool8 ShouldAvoidEnemies(struct DungeonEntity *pokemon);
+
+#endif
diff --git a/include/dungeon_capabilities.h b/include/dungeon_capabilities.h
new file mode 100644
index 0000000..6574b32
--- /dev/null
+++ b/include/dungeon_capabilities.h
@@ -0,0 +1,9 @@
+#ifndef GUARD_DUNGEON_CAPABILITIES_H
+#define GUARD_DUNGEON_CAPABILITIES_H
+
+#include "dungeon_entity.h"
+
+// 0x70B6C
+bool8 CannotMove(struct DungeonEntity *pokemon, bool8 checkBlinker);
+
+#endif
diff --git a/include/dungeon_capabilities_1.h b/include/dungeon_capabilities_1.h
new file mode 100644
index 0000000..1d10a0f
--- /dev/null
+++ b/include/dungeon_capabilities_1.h
@@ -0,0 +1,11 @@
+#ifndef GUARD_DUNGEON_CAPABILITIES_1_H
+#define GUARD_DUNGEON_CAPABILITIES_1_H
+
+#include "dungeon_entity.h"
+
+// 0x70C60
+bool8 CannotUseItems(struct DungeonEntity *pokemon);
+// 0x70CD0
+bool8 CannotAct(struct DungeonEntity *pokemon);
+
+#endif
diff --git a/include/dungeon_entity.h b/include/dungeon_entity.h
index 58a7d24..d89b997 100644
--- a/include/dungeon_entity.h
+++ b/include/dungeon_entity.h
@@ -22,9 +22,9 @@ struct DungeonEntityData
u8 fillB;
/* 0xC */ u16 IQ;
/* 0xE */ s16 HP;
- /* 0x10 */ u16 maxHP;
+ /* 0x10 */ s16 maxHP;
// Bosses have higher HP than normal for their level. This is the max HP they would normally have given their level.
- /* 0x12 */ u16 originalHP;
+ /* 0x12 */ s16 originalHP;
/* 0x14 */ u8 attack;
/* 0x15 */ u8 specialAttack;
/* 0x16 */ u8 defense;
@@ -94,7 +94,7 @@ struct DungeonEntityData
// Bitwise flags corresponding to selected IQ skills.
/* 0x8C */ u8 IQSkillsSelected[4]; // IQ skills selected in the IQ skills menu.
/* 0x90 */ u8 IQSkillsEnabled[4];
- /* 0x94 */ u8 tactics;
+ /* 0x94 */ u8 tactic;
u8 fill95[0xA4 - 0x95];
/* 0xA4 */ u8 clientType;
u8 fillA5[0xA8 - 0xA5];
diff --git a/include/dungeon_movement.h b/include/dungeon_movement.h
index 9d40a2e..e3ab174 100644
--- a/include/dungeon_movement.h
+++ b/include/dungeon_movement.h
@@ -6,4 +6,4 @@
// 0x75990
void DecideAction(struct DungeonEntity *pokemon);
-#endif \ No newline at end of file
+#endif
diff --git a/include/dungeon_pokemon_attributes.h b/include/dungeon_pokemon_attributes.h
new file mode 100644
index 0000000..941c966
--- /dev/null
+++ b/include/dungeon_pokemon_attributes.h
@@ -0,0 +1,9 @@
+#ifndef GUARD_DUNGEON_POKEMON_ATTRIBUTES_H
+#define GUARD_DUNGEON_POKEMON_ATTRIBUTES_H
+
+#include "dungeon_entity.h"
+
+// 0x71824
+bool8 HasAbility(struct DungeonEntity *pokemon, u8 ability);
+
+#endif
diff --git a/include/dungeon_pokemon_attributes_1.h b/include/dungeon_pokemon_attributes_1.h
new file mode 100644
index 0000000..51788d2
--- /dev/null
+++ b/include/dungeon_pokemon_attributes_1.h
@@ -0,0 +1,9 @@
+#ifndef GUARD_DUNGEON_POKEMON_ATTRIBUTES_1_H
+#define GUARD_DUNGEON_POKEMON_ATTRIBUTES_1_H
+
+#include "dungeon_entity.h"
+
+// 0x718AC
+bool8 HasTactic(struct DungeonEntity *pokemon, u8 tactic);
+
+#endif
diff --git a/include/dungeon_util.h b/include/dungeon_util.h
index 5113156..f3059b0 100644
--- a/include/dungeon_util.h
+++ b/include/dungeon_util.h
@@ -6,4 +6,4 @@
// 0x450E0
bool8 EntityExists(struct DungeonEntity *pokemon);
-#endif \ No newline at end of file
+#endif
diff --git a/include/dungeon_util_1.h b/include/dungeon_util_1.h
new file mode 100644
index 0000000..cfda253
--- /dev/null
+++ b/include/dungeon_util_1.h
@@ -0,0 +1,9 @@
+#ifndef GUARD_DUNGEON_UTIL_1_H
+#define GUARD_DUNGEON_UTIL_1_H
+
+#include "dungeon_entity.h"
+
+// 0x85A50
+bool8 IsMovingClient(struct DungeonEntity *entity);
+
+#endif