Add misc item data constants
This commit is contained in:
@@ -77,13 +77,13 @@ EWRAM_DATA static void(*sItemUseOnFieldCB)(u8 taskId) = NULL;
|
||||
// Below is set TRUE by UseRegisteredKeyItemOnField
|
||||
#define tUsingRegisteredKeyItem data[3]
|
||||
|
||||
// .rodata
|
||||
|
||||
// UB here if an item with type ITEM_USE_MAIL or ITEM_USE_BAG_MENU uses SetUpItemUseCallback
|
||||
// Never occurs in vanilla, but can occur with improperly created items
|
||||
static const MainCallback sItemUseCallbacks[] =
|
||||
{
|
||||
CB2_ShowPartyMenuForItemUse,
|
||||
CB2_ReturnToField,
|
||||
NULL,
|
||||
[ITEM_USE_PARTY_MENU - 1] = CB2_ShowPartyMenuForItemUse,
|
||||
[ITEM_USE_FIELD - 1] = CB2_ReturnToField,
|
||||
[ITEM_USE_PBLOCK_CASE - 1] = NULL,
|
||||
};
|
||||
|
||||
static const u8 sClockwiseDirections[] = {DIR_NORTH, DIR_EAST, DIR_SOUTH, DIR_WEST};
|
||||
@@ -94,13 +94,12 @@ static const struct YesNoFuncTable sUseTMHMYesNoFuncTable =
|
||||
.noFunc = BagMenu_InitListsMenu,
|
||||
};
|
||||
|
||||
// .text
|
||||
|
||||
#define tEnigmaBerryType data[4]
|
||||
static void SetUpItemUseCallback(u8 taskId)
|
||||
{
|
||||
u8 type;
|
||||
if (gSpecialVar_ItemId == ITEM_ENIGMA_BERRY)
|
||||
type = gTasks[taskId].data[4] - 1;
|
||||
type = gTasks[taskId].tEnigmaBerryType - 1;
|
||||
else
|
||||
type = ItemId_GetType(gSpecialVar_ItemId) - 1;
|
||||
if (!InBattlePyramid())
|
||||
@@ -218,9 +217,9 @@ void ItemUseOutOfBattle_Bike(u8 taskId)
|
||||
|
||||
static void ItemUseOnFieldCB_Bike(u8 taskId)
|
||||
{
|
||||
if (!ItemId_GetSecondaryId(gSpecialVar_ItemId))
|
||||
if (ItemId_GetSecondaryId(gSpecialVar_ItemId) == MACH_BIKE)
|
||||
GetOnOffBike(PLAYER_AVATAR_FLAG_MACH_BIKE);
|
||||
else
|
||||
else // ACRO_BIKE
|
||||
GetOnOffBike(PLAYER_AVATAR_FLAG_ACRO_BIKE);
|
||||
ScriptUnfreezeObjectEvents();
|
||||
ScriptContext2_Disable();
|
||||
@@ -1065,28 +1064,28 @@ void ItemUseOutOfBattle_EnigmaBerry(u8 taskId)
|
||||
case ITEM_EFFECT_SPDEF_EV:
|
||||
case ITEM_EFFECT_SPEED_EV:
|
||||
case ITEM_EFFECT_DEF_EV:
|
||||
gTasks[taskId].data[4] = 1;
|
||||
gTasks[taskId].tEnigmaBerryType = ITEM_USE_PARTY_MENU;
|
||||
ItemUseOutOfBattle_Medicine(taskId);
|
||||
break;
|
||||
case ITEM_EFFECT_SACRED_ASH:
|
||||
gTasks[taskId].data[4] = 1;
|
||||
gTasks[taskId].tEnigmaBerryType = ITEM_USE_PARTY_MENU;
|
||||
ItemUseOutOfBattle_SacredAsh(taskId);
|
||||
break;
|
||||
case ITEM_EFFECT_RAISE_LEVEL:
|
||||
gTasks[taskId].data[4] = 1;
|
||||
gTasks[taskId].tEnigmaBerryType = ITEM_USE_PARTY_MENU;
|
||||
ItemUseOutOfBattle_RareCandy(taskId);
|
||||
break;
|
||||
case ITEM_EFFECT_PP_UP:
|
||||
case ITEM_EFFECT_PP_MAX:
|
||||
gTasks[taskId].data[4] = 1;
|
||||
gTasks[taskId].tEnigmaBerryType = ITEM_USE_PARTY_MENU;
|
||||
ItemUseOutOfBattle_PPUp(taskId);
|
||||
break;
|
||||
case ITEM_EFFECT_HEAL_PP:
|
||||
gTasks[taskId].data[4] = 1;
|
||||
gTasks[taskId].tEnigmaBerryType = ITEM_USE_PARTY_MENU;
|
||||
ItemUseOutOfBattle_PPRecovery(taskId);
|
||||
break;
|
||||
default:
|
||||
gTasks[taskId].data[4] = 4;
|
||||
gTasks[taskId].tEnigmaBerryType = ITEM_USE_BAG_MENU;
|
||||
ItemUseOutOfBattle_CannotUse(taskId);
|
||||
break;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user