Document item use

This commit is contained in:
cbt6
2022-10-04 00:51:38 +08:00
parent 4b5bbbf1b7
commit 32573b2ba9
9 changed files with 543 additions and 540 deletions
+5
View File
@@ -448,6 +448,11 @@
#define NUM_TECHNICAL_MACHINES 50
#define NUM_HIDDEN_MACHINES 8
// Secondary IDs for rods
#define OLD_ROD 0
#define GOOD_ROD 1
#define SUPER_ROD 2
// Check if the item is one that can be used on a Pokemon.
#define IS_POKEMON_ITEM(item) ((item) >= ITEM_POTION && (item) <= ITEM_0B2)
+11 -2
View File
@@ -16,11 +16,11 @@ struct Item
u8 importance;
u8 exitsBagOnUse;
u8 pocket;
u8 type;
u8 type; // unused for balls
ItemUseFunc fieldUseFunc;
u8 battleUsage;
ItemUseFunc battleUseFunc;
u8 secondaryId;
u8 secondaryId; // only used for fishing rods
};
struct BagPocket
@@ -29,6 +29,15 @@ struct BagPocket
u8 capacity;
};
// Item type IDs (used to determine the exit callback)
enum {
ITEM_TYPE_MAIL,
ITEM_TYPE_PARTY_MENU,
ITEM_TYPE_FIELD,
ITEM_TYPE_UNUSED, // Used for Pokeblock case in RSE
ITEM_TYPE_BAG_MENU, // No exit callback, stays in bag menu
};
extern const struct Item gItems[];
extern struct BagPocket gBagPockets[];
+7 -7
View File
@@ -6,9 +6,9 @@
void Task_ItemUse_CloseMessageBoxAndReturnToField_VsSeeker(u8);
void ItemUse_SetQuestLogEvent(u8, struct Pokemon *, u16, u16);
void FieldUseFunc_OrangeMail(u8 taskId);
void FieldUseFunc_MachBike(u8 taskId);
void FieldUseFunc_OldRod(u8 taskId);
void FieldUseFunc_Mail(u8 taskId);
void FieldUseFunc_Bike(u8 taskId);
void FieldUseFunc_Rod(u8 taskId);
void FieldUseFunc_CoinCase(u8 taskId);
void FieldUseFunc_PowderJar(u8 taskId);
void FieldUseFunc_PokeFlute(u8 taskId);
@@ -22,14 +22,14 @@ void FieldUseFunc_TmCase(u8 taskId);
void FieldUseFunc_BerryPouch(u8 taskId);
void BattleUseFunc_BerryPouch(u8 taskId);
void FieldUseFunc_TeachyTv(u8 taskId);
void FieldUseFunc_SuperRepel(u8 taskId);
void FieldUseFunc_BlackFlute(u8 taskId);
void FieldUseFunc_Repel(u8 taskId);
void FieldUseFunc_BlackWhiteFlute(u8 taskId);
void FieldUseFunc_TownMap(u8 taskId);
void FieldUseFunc_FameChecker(u8 taskId);
void FieldUseFunc_VsSeeker(u8 taskId);
void BattleUseFunc_PokeBallEtc(u8 taskId);
void BattleUseFunc_PokeFlute(u8 taskId);
void BattleUseFunc_GuardSpec(u8 taskId);
void BattleUseFunc_StatBooster(u8 taskId);
void BattleUseFunc_Medicine(u8 taskId);
void BattleUseFunc_Ether(u8 taskId);
void BattleUseFunc_PokeDoll(u8 taskId);
@@ -38,7 +38,7 @@ void ItemUseOutOfBattle_EscapeRope(u8 taskId);
void ItemUseOutOfBattle_EnigmaBerry(u8 taskId);
void ItemUseInBattle_EnigmaBerry(u8 taskId);
void ItemUseOutOfBattle_Itemfinder(u8 taskId);
void sub_80A1C44(u8 taskId);
void Task_UseDigEscapeRopeOnField(u8 taskId);
u8 CanUseEscapeRopeOnCurrMap(void);
u8 CheckIfItemIsTMHMOrEvolutionStone(u16 itemId);