diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/dungeon_items.c | 21 | ||||
-rw-r--r-- | src/dungeon_pokemon_attributes_1.c | 8 |
2 files changed, 25 insertions, 4 deletions
diff --git a/src/dungeon_items.c b/src/dungeon_items.c new file mode 100644 index 0000000..5614e9b --- /dev/null +++ b/src/dungeon_items.c @@ -0,0 +1,21 @@ +#include "global.h" +#include "dungeon_items.h" + +bool8 HasItem(struct DungeonEntity *pokemon, u8 itemIndex) +{ + // Weird assignment to fix a regswap. + struct DungeonEntityData *entityData = entityData = pokemon->entityData; + if (!(entityData->heldItem.itemFlags & ITEM_FLAG_EXISTS)) + { + return FALSE; + } + if (entityData->heldItem.itemFlags & ITEM_FLAG_STICKY) + { + return FALSE; + } + if (entityData->heldItem.itemIndex != itemIndex) + { + return FALSE; + } + return TRUE; +} diff --git a/src/dungeon_pokemon_attributes_1.c b/src/dungeon_pokemon_attributes_1.c index a5d6acf..f3829b2 100644 --- a/src/dungeon_pokemon_attributes_1.c +++ b/src/dungeon_pokemon_attributes_1.c @@ -1,19 +1,19 @@ #include "global.h" -#include "dungeon_global_data.h" #include "dungeon_pokemon_attributes_1.h" -#include "dungeon_util.h" -#include "pokemon.h" #include "constants/dungeon.h" #include "constants/iq_skill.h" #include "constants/move_id.h" #include "constants/status.h" #include "constants/tactic.h" +#include "dungeon_global_data.h" +#include "dungeon_items.h" +#include "dungeon_util.h" +#include "pokemon.h" #include "pokemon_3.h" extern s16 gItemMasterMinWildLevel; -extern u8 HasItem(struct DungeonEntity *, u32); extern bool8 IsIQSkillSet(u8 *, u32); extern void SetIQSkill(u8 *param_1, u32 skillIndex); |