Merge commit 'b31a73f990fb680629e2a503d72d137bcff0872a' into pret-merge

Conflicts:
	include/item.h
	src/battle_ai_script_commands.c
	src/battle_main.c
	src/battle_pyramid_bag.c
	src/battle_script_commands.c
	src/battle_util.c
	src/item.c
	src/item_menu.c
	src/item_use.c
	src/pokemon.c
	src/pokemon_summary_screen.c
	src/shop.c
This commit is contained in:
Hedara 2025-05-24 21:24:56 +02:00
commit 2e4833240f
32 changed files with 235 additions and 234 deletions

View File

@ -68,20 +68,20 @@ void ClearBag(void);
u16 CountTotalItemQuantityInBag(u16 itemId);
bool8 AddPyramidBagItem(u16 itemId, u16 count);
bool8 RemovePyramidBagItem(u16 itemId, u16 count);
const u8 *ItemId_GetName(u16 itemId);
u32 ItemId_GetPrice(u16 itemId);
const u8 *ItemId_GetEffect(u32 itemId);
u32 ItemId_GetHoldEffect(u32 itemId);
u32 ItemId_GetHoldEffectParam(u32 itemId);
const u8 *ItemId_GetDescription(u16 itemId);
u8 ItemId_GetImportance(u16 itemId);
u8 ItemId_GetConsumability(u16 itemId);
u8 ItemId_GetPocket(u16 itemId);
u8 ItemId_GetType(u16 itemId);
ItemUseFunc ItemId_GetFieldFunc(u16 itemId);
u8 ItemId_GetBattleUsage(u16 itemId);
u32 ItemId_GetSecondaryId(u32 itemId);
u32 ItemId_GetFlingPower(u32 itemId);
const u8 *GetItemName(u16 itemId);
u32 GetItemPrice(u16 itemId);
const u8 *GetItemEffect(u32 itemId);
u32 GetItemHoldEffect(u32 itemId);
u32 GetItemHoldEffectParam(u32 itemId);
const u8 *GetItemDescription(u16 itemId);
u8 GetItemImportance(u16 itemId);
u8 GetItemConsumability(u16 itemId);
u8 GetItemPocket(u16 itemId);
u8 GetItemType(u16 itemId);
ItemUseFunc GetItemFieldFunc(u16 itemId);
u8 GetItemBattleUsage(u16 itemId);
u32 GetItemSecondaryId(u32 itemId);
u32 GetItemFlingPower(u32 itemId);
u32 GetItemStatus1Mask(u16 itemId);
u32 GetItemStatus2Mask(u16 itemId);

View File

@ -1047,7 +1047,7 @@ static void ApprenticeBufferString(void)
StringCopy(stringDst, GetMoveName(gApprenticeQuestionData->move2));
break;
case APPRENTICE_BUFF_ITEM:
StringCopy(stringDst, ItemId_GetName(PLAYER_APPRENTICE.questions[CURRENT_QUESTION_NUM].data));
StringCopy(stringDst, GetItemName(PLAYER_APPRENTICE.questions[CURRENT_QUESTION_NUM].data));
break;
case APPRENTICE_BUFF_NAME:
TVShowConvertInternationalString(text, GetApprenticeNameInLanguage(PLAYER_APPRENTICE.id, GAME_LANGUAGE), GAME_LANGUAGE);

View File

@ -336,7 +336,7 @@ void Ai_InitPartyStruct(void)
u32 j;
mon = &gPlayerParty[i];
AI_PARTY->mons[B_SIDE_PLAYER][i].item = GetMonData(mon, MON_DATA_HELD_ITEM);
AI_PARTY->mons[B_SIDE_PLAYER][i].heldEffect = ItemId_GetHoldEffect(AI_PARTY->mons[B_SIDE_PLAYER][i].item);
AI_PARTY->mons[B_SIDE_PLAYER][i].heldEffect = GetItemHoldEffect(AI_PARTY->mons[B_SIDE_PLAYER][i].item);
AI_PARTY->mons[B_SIDE_PLAYER][i].ability = GetMonAbility(mon);
for (j = 0; j < MAX_MON_MOVES; j++)
AI_PARTY->mons[B_SIDE_PLAYER][i].moves[j] = GetMonData(mon, MON_DATA_MOVE1 + j);
@ -1138,7 +1138,7 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u32 move, s32 score)
ADJUST_SCORE(-10);
break;
case EFFECT_STUFF_CHEEKS:
if (ItemId_GetPocket(gBattleMons[battlerAtk].item) != POCKET_BERRIES)
if (GetItemPocket(gBattleMons[battlerAtk].item) != POCKET_BERRIES)
return 0; // cannot even select
//fallthrough
case EFFECT_DEFENSE_UP:
@ -4191,7 +4191,7 @@ static u32 AI_CalcMoveEffectScore(u32 battlerAtk, u32 battlerDef, u32 move)
if (aiData->abilities[battlerAtk] == ABILITY_RIPEN)
{
u32 item = GetUsedHeldItem(battlerAtk);
u32 toHeal = (ItemId_GetHoldEffectParam(item) == 10) ? 10 : gBattleMons[battlerAtk].maxHP / ItemId_GetHoldEffectParam(item);
u32 toHeal = (GetItemHoldEffectParam(item) == 10) ? 10 : gBattleMons[battlerAtk].maxHP / GetItemHoldEffectParam(item);
if (IsStatBoostingBerry(item) && aiData->hpPercents[battlerAtk] > 60)
ADJUST_SCORE(WEAK_EFFECT);
@ -4723,13 +4723,13 @@ static u32 AI_CalcMoveEffectScore(u32 battlerAtk, u32 battlerDef, u32 move)
case MOVE_EFFECT_BUG_BITE: // And pluck
if (gBattleMons[battlerDef].status2 & STATUS2_SUBSTITUTE || aiData->abilities[battlerDef] == ABILITY_STICKY_HOLD)
break;
else if (ItemId_GetPocket(aiData->items[battlerDef]) == POCKET_BERRIES)
else if (GetItemPocket(aiData->items[battlerDef]) == POCKET_BERRIES)
ADJUST_SCORE(DECENT_EFFECT);
break;
case MOVE_EFFECT_INCINERATE:
if (gBattleMons[battlerDef].status2 & STATUS2_SUBSTITUTE || aiData->abilities[battlerDef] == ABILITY_STICKY_HOLD)
break;
else if (ItemId_GetPocket(aiData->items[battlerDef]) == POCKET_BERRIES || aiData->holdEffects[battlerDef] == HOLD_EFFECT_GEMS)
else if (GetItemPocket(aiData->items[battlerDef]) == POCKET_BERRIES || aiData->holdEffects[battlerDef] == HOLD_EFFECT_GEMS)
ADJUST_SCORE(DECENT_EFFECT);
break;
case MOVE_EFFECT_SMACK_DOWN:

View File

@ -1396,7 +1396,7 @@ bool32 IsMonGrounded(u16 heldItemEffect, u32 ability, u8 type1, u8 type2)
static u32 GetSwitchinHazardsDamage(u32 battler, struct BattlePokemon *battleMon)
{
u8 defType1 = battleMon->types[0], defType2 = battleMon->types[1], tSpikesLayers;
u16 heldItemEffect = ItemId_GetHoldEffect(battleMon->item);
u16 heldItemEffect = GetItemHoldEffect(battleMon->item);
u32 maxHP = battleMon->maxHP, ability = battleMon->ability, status = battleMon->status1;
u32 spikesDamage = 0, tSpikesDamage = 0, hazardDamage = 0;
u32 hazardFlags = gSideStatuses[GetBattlerSide(battler)] & (SIDE_STATUS_SPIKES | SIDE_STATUS_STEALTH_ROCK | SIDE_STATUS_STICKY_WEB | SIDE_STATUS_TOXIC_SPIKES | SIDE_STATUS_SAFEGUARD);
@ -1454,7 +1454,7 @@ static u32 GetSwitchinHazardsDamage(u32 battler, struct BattlePokemon *battleMon
static s32 GetSwitchinWeatherImpact(void)
{
s32 weatherImpact = 0, maxHP = AI_DATA->switchinCandidate.battleMon.maxHP, ability = AI_DATA->switchinCandidate.battleMon.ability;
u32 holdEffect = ItemId_GetHoldEffect(AI_DATA->switchinCandidate.battleMon.item);
u32 holdEffect = GetItemHoldEffect(AI_DATA->switchinCandidate.battleMon.item);
if (HasWeatherEffect())
{
@ -1518,7 +1518,7 @@ static s32 GetSwitchinWeatherImpact(void)
static u32 GetSwitchinRecurringHealing(void)
{
u32 recurringHealing = 0, maxHP = AI_DATA->switchinCandidate.battleMon.maxHP, ability = AI_DATA->switchinCandidate.battleMon.ability;
u32 holdEffect = ItemId_GetHoldEffect(AI_DATA->switchinCandidate.battleMon.item);
u32 holdEffect = GetItemHoldEffect(AI_DATA->switchinCandidate.battleMon.item);
// Items
if (ability != ABILITY_KLUTZ)
@ -1552,7 +1552,7 @@ static u32 GetSwitchinRecurringHealing(void)
static u32 GetSwitchinRecurringDamage(void)
{
u32 passiveDamage = 0, maxHP = AI_DATA->switchinCandidate.battleMon.maxHP, ability = AI_DATA->switchinCandidate.battleMon.ability;
u32 holdEffect = ItemId_GetHoldEffect(AI_DATA->switchinCandidate.battleMon.item);
u32 holdEffect = GetItemHoldEffect(AI_DATA->switchinCandidate.battleMon.item);
// Items
if (ability != ABILITY_MAGIC_GUARD && ability != ABILITY_KLUTZ)
@ -1584,7 +1584,7 @@ static u32 GetSwitchinStatusDamage(u32 battler)
{
u8 defType1 = AI_DATA->switchinCandidate.battleMon.types[0], defType2 = AI_DATA->switchinCandidate.battleMon.types[1];
u8 tSpikesLayers = gSideTimers[GetBattlerSide(battler)].toxicSpikesAmount;
u16 heldItemEffect = ItemId_GetHoldEffect(AI_DATA->switchinCandidate.battleMon.item);
u16 heldItemEffect = GetItemHoldEffect(AI_DATA->switchinCandidate.battleMon.item);
u32 status = AI_DATA->switchinCandidate.battleMon.status1, ability = AI_DATA->switchinCandidate.battleMon.ability, maxHP = AI_DATA->switchinCandidate.battleMon.maxHP;
u32 statusDamage = 0;
@ -1662,8 +1662,8 @@ static u32 GetSwitchinHitsToKO(s32 damageTaken, u32 battler)
u32 recurringHealing = GetSwitchinRecurringHealing();
u32 statusDamage = GetSwitchinStatusDamage(battler);
u32 hitsToKO = 0, singleUseItemHeal = 0;
u16 maxHP = AI_DATA->switchinCandidate.battleMon.maxHP, item = AI_DATA->switchinCandidate.battleMon.item, heldItemEffect = ItemId_GetHoldEffect(item);
u8 weatherDuration = gWishFutureKnock.weatherDuration, holdEffectParam = ItemId_GetHoldEffectParam(item);
u16 maxHP = AI_DATA->switchinCandidate.battleMon.maxHP, item = AI_DATA->switchinCandidate.battleMon.item, heldItemEffect = GetItemHoldEffect(item);
u8 weatherDuration = gWishFutureKnock.weatherDuration, holdEffectParam = GetItemHoldEffectParam(item);
u32 opposingBattler = GetOppositeBattler(battler);
u32 opposingAbility = gBattleMons[opposingBattler].ability, ability = AI_DATA->switchinCandidate.battleMon.ability;
bool32 usedSingleUseHealingItem = FALSE, opponentCanBreakMold = IsMoldBreakerTypeAbility(opposingBattler, opposingAbility);
@ -2248,11 +2248,11 @@ static bool32 ShouldUseItem(u32 battler)
item = gBattleResources->battleHistory->trainerItems[i];
if (item == ITEM_NONE)
continue;
itemEffects = ItemId_GetEffect(item);
itemEffects = GetItemEffect(item);
if (itemEffects == NULL)
continue;
switch (ItemId_GetBattleUsage(item))
switch (GetItemBattleUsage(item))
{
case EFFECT_ITEM_HEAL_AND_CURE_STATUS:
shouldUse = AI_ShouldHeal(battler, 0);

View File

@ -8698,8 +8698,8 @@ void AnimTask_PurpleFlamesOnTarget(u8 taskId)
void AnimTask_TechnoBlast(u8 taskId)
{
if (ItemId_GetHoldEffect(gBattleMons[gBattleAnimAttacker].item) == HOLD_EFFECT_DRIVE)
gBattleAnimArgs[0] = ItemId_GetSecondaryId(gBattleMons[gBattleAnimAttacker].item);
if (GetItemHoldEffect(gBattleMons[gBattleAnimAttacker].item) == HOLD_EFFECT_DRIVE)
gBattleAnimArgs[0] = GetItemSecondaryId(gBattleMons[gBattleAnimAttacker].item);
else
gBattleAnimArgs[0] = 0;
DestroyAnimVisualTask(taskId);

View File

@ -383,7 +383,7 @@ static void HandleInputChooseAction(u32 battler)
&& !(gBattleTypeFlags & BATTLE_TYPE_MULTI))
{
// Return item to bag if partner had selected one (if consumable).
if (gBattleResources->bufferA[battler][1] == B_ACTION_USE_ITEM && ItemId_GetConsumability(itemId))
if (gBattleResources->bufferA[battler][1] == B_ACTION_USE_ITEM && GetItemConsumability(itemId))
{
AddBagItem(itemId, 1);
}

View File

@ -1134,7 +1134,7 @@ static void PutAiInfoText(struct BattleDebugMenu *data)
u16 item = AI_DATA->items[i];
u8 x = (i == B_POSITION_PLAYER_LEFT) ? 83 + (i) * 75 : 83 + (i-1) * 75;
AddTextPrinterParameterized(data->aiMovesWindowId, FONT_SMALL, gAbilitiesInfo[ability].name, x, 0, 0, NULL);
AddTextPrinterParameterized(data->aiMovesWindowId, FONT_SMALL, ItemId_GetName(item), x, 15, 0, NULL);
AddTextPrinterParameterized(data->aiMovesWindowId, FONT_SMALL, GetItemName(item), x, 15, 0, NULL);
AddTextPrinterParameterized(data->aiMovesWindowId, FONT_SMALL, GetHoldEffectName(holdEffect), x, 30, 0, NULL);
}
}
@ -1697,7 +1697,7 @@ static void PrintSecondaryEntries(struct BattleDebugMenu *data)
AddTextPrinter(&printer, 0, NULL);
break;
case LIST_ITEM_HELD_ITEM:
PadString(ItemId_GetName(gBattleMons[data->battlerId].item), text);
PadString(GetItemName(gBattleMons[data->battlerId].item), text);
printer.currentY = printer.y = sSecondaryListTemplate.upText_Y;
AddTextPrinter(&printer, 0, NULL);
break;

View File

@ -4035,7 +4035,7 @@ u8 IsRunningFromBattleImpossible(u32 battler)
if (gBattleMons[battler].item == ITEM_ENIGMA_BERRY_E_READER)
holdEffect = gEnigmaBerries[battler].holdEffect;
else
holdEffect = ItemId_GetHoldEffect(gBattleMons[battler].item);
holdEffect = GetItemHoldEffect(gBattleMons[battler].item);
gPotentialItemEffectBattler = battler;
@ -4322,7 +4322,7 @@ static void HandleTurnActionSelectionState(void)
{
BtlController_EmitChoosePokemon(battler, B_COMM_TO_CONTROLLER, PARTY_ACTION_CANT_SWITCH, PARTY_SIZE, ABILITY_NONE, gBattleStruct->battlerPartyOrders[battler]);
}
else if (ItemId_GetHoldEffect(gBattleMons[battler].item) != HOLD_EFFECT_SHED_SHELL
else if (GetItemHoldEffect(gBattleMons[battler].item) != HOLD_EFFECT_SHED_SHELL
&& (i = IsAbilityPreventingEscape(battler))) // must be last to keep i value integrity
{
BtlController_EmitChoosePokemon(battler, B_COMM_TO_CONTROLLER, ((i - 1) << 4) | PARTY_ACTION_ABILITY_PREVENTS, PARTY_SIZE, gBattleMons[i - 1].ability, gBattleStruct->battlerPartyOrders[battler]);
@ -4508,7 +4508,7 @@ static void HandleTurnActionSelectionState(void)
else
{
gLastUsedItem = (gBattleResources->bufferB[battler][1] | (gBattleResources->bufferB[battler][2] << 8));
if (ItemId_GetPocket(gLastUsedItem) == POCKET_POKE_BALLS)
if (GetItemPocket(gLastUsedItem) == POCKET_POKE_BALLS)
gBattleStruct->throwingPokeBall = TRUE;
gBattleCommunication[battler]++;
}
@ -5841,7 +5841,7 @@ u32 GetDynamicMoveType(struct Pokemon *mon, u32 move, u32 battler, enum MonState
{
species = GetMonData(mon, MON_DATA_SPECIES);
heldItem = GetMonData(mon, MON_DATA_HELD_ITEM, 0);
holdEffect = ItemId_GetHoldEffect(heldItem);
holdEffect = GetItemHoldEffect(heldItem);
ability = GetMonAbility(mon);
type1 = gSpeciesInfo[species].types[0];
type2 = gSpeciesInfo[species].types[1];
@ -5924,7 +5924,7 @@ u32 GetDynamicMoveType(struct Pokemon *mon, u32 move, u32 battler, enum MonState
break;
case EFFECT_CHANGE_TYPE_ON_ITEM:
if (holdEffect == GetMoveEffectArg_HoldEffect(move))
return ItemId_GetSecondaryId(heldItem);
return GetItemSecondaryId(heldItem);
break;
case EFFECT_REVELATION_DANCE:
if (gimmick != GIMMICK_Z_MOVE)
@ -5966,7 +5966,7 @@ u32 GetDynamicMoveType(struct Pokemon *mon, u32 move, u32 battler, enum MonState
}
break;
case EFFECT_NATURAL_GIFT:
if (ItemId_GetPocket(heldItem) == POCKET_BERRIES)
if (GetItemPocket(heldItem) == POCKET_BERRIES)
return gNaturalGiftTable[ITEM_TO_BERRY(heldItem)].type;
else
return moveType;
@ -6072,7 +6072,7 @@ void SetTypeBeforeUsingMove(u32 move, u32 battler)
// Check if a gem should activate.
u32 effect = GetMoveEffect(move);
if (holdEffect == HOLD_EFFECT_GEMS
&& GetBattleMoveType(move) == ItemId_GetSecondaryId(heldItem)
&& GetBattleMoveType(move) == GetItemSecondaryId(heldItem)
&& effect != EFFECT_PLEDGE
&& effect != EFFECT_OHKO
&& effect != EFFECT_STRUGGLE)

View File

@ -620,7 +620,7 @@ static void SetBagItemsListTemplate(void)
static void CopyBagItemName(u8 *dst, u16 itemId)
{
if (ItemId_GetPocket(itemId) == POCKET_BERRIES)
if (GetItemPocket(itemId) == POCKET_BERRIES)
{
ConvertIntToDecimalStringN(gStringVar1, ITEM_TO_BERRY(itemId), STR_CONV_MODE_LEADING_ZEROS, MAX_PYRAMID_ITEM_DIGITS);
CopyItemName(itemId, gStringVar2);
@ -681,7 +681,7 @@ static void PrintItemDescription(s32 listMenuId)
const u8 *desc;
if (listMenuId != LIST_CANCEL)
{
desc = ItemId_GetDescription(gSaveBlock2Ptr->frontier.pyramidBag.itemId[gSaveBlock2Ptr->frontier.lvlMode][listMenuId]);
desc = GetItemDescription(gSaveBlock2Ptr->frontier.pyramidBag.itemId[gSaveBlock2Ptr->frontier.lvlMode][listMenuId]);
}
else
{
@ -954,7 +954,7 @@ static void OpenContextMenu(u8 taskId)
gPyramidBagMenu->menuActionsCount = ARRAY_COUNT(sMenuActionIds_Field);
break;
case PYRAMIDBAG_LOC_BATTLE:
if (ItemId_GetBattleUsage(gSpecialVar_ItemId))
if (GetItemBattleUsage(gSpecialVar_ItemId))
{
gPyramidBagMenu->menuActionIds = sMenuActionIds_Battle;
gPyramidBagMenu->menuActionsCount = ARRAY_COUNT(sMenuActionIds_Battle);
@ -1097,7 +1097,7 @@ static void CloseMenuActionWindow(void)
static void BagAction_UseOnField(u8 taskId)
{
u8 pocketId = ItemId_GetPocket(gSpecialVar_ItemId);
u8 pocketId = GetItemPocket(gSpecialVar_ItemId);
if (pocketId == POCKET_KEY_ITEMS
|| pocketId == POCKET_POKE_BALLS
@ -1107,12 +1107,12 @@ static void BagAction_UseOnField(u8 taskId)
CloseMenuActionWindow();
DisplayItemMessageInBattlePyramid(taskId, gText_DadsAdvice, Task_CloseBattlePyramidBagMessage);
}
else if (ItemId_GetFieldFunc(gSpecialVar_ItemId) != NULL)
else if (GetItemFieldFunc(gSpecialVar_ItemId) != NULL)
{
CloseMenuActionWindow();
FillWindowPixelBuffer(WIN_INFO, PIXEL_FILL(0));
ScheduleBgCopyTilemapToVram(0);
ItemId_GetFieldFunc(gSpecialVar_ItemId)(taskId);
GetItemFieldFunc(gSpecialVar_ItemId)(taskId);
}
}
@ -1262,7 +1262,7 @@ static void BagAction_Give(u8 taskId)
{
DisplayItemMessageInBattlePyramid(taskId, gText_CantWriteMail, Task_WaitCloseErrorMessage);
}
else if (!ItemId_GetImportance(gSpecialVar_ItemId))
else if (!GetItemImportance(gSpecialVar_ItemId))
{
gPyramidBagMenu->newScreenCallback = CB2_ChooseMonToGiveItem;
CloseBattlePyramidBag(taskId);
@ -1303,7 +1303,7 @@ static void TryCloseBagToGiveItem(u8 taskId)
{
if (!IsWritingMailAllowed(gSpecialVar_ItemId))
DisplayItemMessageInBattlePyramid(taskId, gText_CantWriteMail, Task_WaitCloseErrorMessage);
else if (!ItemId_GetImportance(gSpecialVar_ItemId))
else if (!GetItemImportance(gSpecialVar_ItemId))
CloseBattlePyramidBag(taskId);
else
ShowCantHoldMessage(taskId);
@ -1312,8 +1312,8 @@ static void TryCloseBagToGiveItem(u8 taskId)
static void BagAction_UseInBattle(u8 taskId)
{
// Safety check
u16 type = ItemId_GetType(gSpecialVar_ItemId);
if (!ItemId_GetBattleUsage(gSpecialVar_ItemId))
u16 type = GetItemType(gSpecialVar_ItemId);
if (!GetItemBattleUsage(gSpecialVar_ItemId))
return;
CloseMenuActionWindow();

View File

@ -3071,7 +3071,7 @@ void StealTargetItem(u8 battlerStealer, u8 battlerItem)
}
else
{
RecordItemEffectBattle(battlerStealer, ItemId_GetHoldEffect(gLastUsedItem));
RecordItemEffectBattle(battlerStealer, GetItemHoldEffect(gLastUsedItem));
gBattleMons[battlerStealer].item = gLastUsedItem;
gDisableStructs[battlerStealer].unburdenActive = FALSE;
@ -3953,7 +3953,7 @@ void SetMoveEffect(bool32 primary, bool32 certain)
}
break;
case MOVE_EFFECT_BUG_BITE:
if (ItemId_GetPocket(gBattleMons[gEffectBattler].item) == POCKET_BERRIES
if (GetItemPocket(gBattleMons[gEffectBattler].item) == POCKET_BERRIES
&& battlerAbility != ABILITY_STICKY_HOLD)
{
// target loses their berry
@ -5029,7 +5029,7 @@ static u32 GetMonHoldEffect(struct Pokemon *mon)
holdEffect = 0;
#endif //FREE_ENIGMA_BERRY
else
holdEffect = ItemId_GetHoldEffect(item);
holdEffect = GetItemHoldEffect(item);
return holdEffect;
}
@ -9083,7 +9083,7 @@ static void Cmd_setgravity(void)
static bool32 TryCheekPouch(u32 battler, u32 itemId)
{
if (ItemId_GetPocket(itemId) == POCKET_BERRIES
if (GetItemPocket(itemId) == POCKET_BERRIES
&& GetBattlerAbility(battler) == ABILITY_CHEEK_POUCH
&& !(gStatuses3[battler] & STATUS3_HEAL_BLOCK)
&& gBattleStruct->ateBerry[GetBattlerSide(battler)] & (1u << gBattlerPartyIndexes[battler])
@ -9879,7 +9879,7 @@ static bool32 IsElectricAbilityAffected(u32 battler, u32 ability)
static bool32 IsTeatimeAffected(u32 battler)
{
if (ItemId_GetPocket(gBattleMons[battler].item) != POCKET_BERRIES)
if (GetItemPocket(gBattleMons[battler].item) != POCKET_BERRIES)
return FALSE; // Only berries
if (gStatuses3[battler] & STATUS3_SEMI_INVULNERABLE)
return FALSE; // Teatime doesn't affected semi-invulnerable battlers
@ -10267,7 +10267,7 @@ static void Cmd_various(void)
case VARIOUS_JUMP_IF_NOT_BERRY:
{
VARIOUS_ARGS(const u8 *jumpInstr);
if (ItemId_GetPocket(gBattleMons[battler].item) == POCKET_BERRIES)
if (GetItemPocket(gBattleMons[battler].item) == POCKET_BERRIES)
gBattlescriptCurrInstr = cmd->nextInstr;
else
gBattlescriptCurrInstr = cmd->jumpInstr;
@ -11767,7 +11767,7 @@ static void Cmd_various(void)
case VARIOUS_JUMP_IF_LAST_USED_ITEM_BERRY:
{
VARIOUS_ARGS(const u8 *jumpInstr);
if (ItemId_GetPocket(gLastUsedItem) == POCKET_BERRIES)
if (GetItemPocket(gLastUsedItem) == POCKET_BERRIES)
gBattlescriptCurrInstr = cmd->jumpInstr;
else
gBattlescriptCurrInstr = cmd->nextInstr;
@ -11776,7 +11776,7 @@ static void Cmd_various(void)
case VARIOUS_JUMP_IF_LAST_USED_ITEM_HOLD_EFFECT:
{
VARIOUS_ARGS(u8 holdEffect, const u8 *jumpInstr);
if (ItemId_GetHoldEffect(gLastUsedItem) == cmd->holdEffect)
if (GetItemHoldEffect(gLastUsedItem) == cmd->holdEffect)
gBattlescriptCurrInstr = cmd->jumpInstr;
else
gBattlescriptCurrInstr = cmd->nextInstr;
@ -15078,7 +15078,7 @@ static void Cmd_tryswapitems(void)
gBattleMons[gBattlerTarget].item = oldItemAtk;
RecordItemEffectBattle(gBattlerAttacker, 0);
RecordItemEffectBattle(gBattlerTarget, ItemId_GetHoldEffect(oldItemAtk));
RecordItemEffectBattle(gBattlerTarget, GetItemHoldEffect(oldItemAtk));
BtlController_EmitSetMonData(gBattlerAttacker, B_COMM_TO_CONTROLLER, REQUEST_HELDITEM_BATTLE, 0, sizeof(*newItemAtk), newItemAtk);
MarkBattlerForControllerExec(gBattlerAttacker);
@ -16322,7 +16322,7 @@ static void Cmd_givecaughtmon(void)
if (B_RESTORE_HELD_BATTLE_ITEMS >= GEN_9)
{
u16 lostItem = gBattleStruct->itemLost[B_SIDE_OPPONENT][gBattlerPartyIndexes[GetCatchingBattler()]].originalItem;
if (lostItem != ITEM_NONE && ItemId_GetPocket(lostItem) != POCKET_BERRIES)
if (lostItem != ITEM_NONE && GetItemPocket(lostItem) != POCKET_BERRIES)
SetMonData(&gEnemyParty[gBattlerPartyIndexes[GetCatchingBattler()]], MON_DATA_HELD_ITEM, &lostItem); // Restore non-berry items
}
@ -17186,7 +17186,7 @@ void BS_ItemRestoreHP(void)
NATIVE_ARGS(const u8 *alreadyMaxHpInstr, const u8 *restoreBattlerInstr);
u16 healAmount;
u32 battler = MAX_BATTLERS_COUNT;
u32 healParam = ItemId_GetEffect(gLastUsedItem)[6];
u32 healParam = GetItemEffect(gLastUsedItem)[6];
u32 side = GetBattlerSide(gBattlerAttacker);
struct Pokemon *party = GetSideParty(side);
u16 hp = GetMonData(&party[gBattleStruct->itemPartyIndex[gBattlerAttacker]], MON_DATA_HP);
@ -17305,8 +17305,8 @@ void BS_ItemCureStatus(void)
void BS_ItemIncreaseStat(void)
{
NATIVE_ARGS();
u16 statId = ItemId_GetEffect(gLastUsedItem)[1];
u16 stages = ItemId_GetHoldEffectParam(gLastUsedItem);
u16 statId = GetItemEffect(gLastUsedItem)[1];
u16 stages = GetItemHoldEffectParam(gLastUsedItem);
SET_STATCHANGER(statId, stages, FALSE);
gBattlescriptCurrInstr = cmd->nextInstr;
}
@ -17314,7 +17314,7 @@ void BS_ItemIncreaseStat(void)
void BS_ItemRestorePP(void)
{
NATIVE_ARGS();
const u8 *effect = ItemId_GetEffect(gLastUsedItem);
const u8 *effect = GetItemEffect(gLastUsedItem);
u32 i, pp, maxPP, moveId, loopEnd;
u32 battler = MAX_BATTLERS_COUNT;
struct Pokemon *mon = (GetBattlerSide(gBattlerAttacker) == B_SIDE_PLAYER) ? &gPlayerParty[gBattleStruct->itemPartyIndex[gBattlerAttacker]] : &gEnemyParty[gBattleStruct->itemPartyIndex[gBattlerAttacker]];
@ -18270,7 +18270,7 @@ void BS_TeatimeInvul(void)
NATIVE_ARGS(u8 battler, const u8 *jumpInstr);
u32 battler = GetBattlerForBattleScript(cmd->battler);
if (ItemId_GetPocket(gBattleMons[battler].item) == POCKET_BERRIES && !(gStatuses3[gBattlerTarget] & (STATUS3_SEMI_INVULNERABLE)))
if (GetItemPocket(gBattleMons[battler].item) == POCKET_BERRIES && !(gStatuses3[gBattlerTarget] & (STATUS3_SEMI_INVULNERABLE)))
gBattlescriptCurrInstr = cmd->nextInstr;
else
gBattlescriptCurrInstr = cmd->jumpInstr;
@ -18809,7 +18809,7 @@ void BS_TryRecycleBerry(void)
u16* usedHeldItem = &gBattleStruct->usedHeldItems[gBattlerPartyIndexes[gBattlerTarget]][GetBattlerSide(gBattlerTarget)];
if (gBattleMons[gBattlerTarget].item == ITEM_NONE
&& gBattleStruct->changedItems[gBattlerTarget] == ITEM_NONE // Will not inherit an item
&& ItemId_GetPocket(*usedHeldItem) == POCKET_BERRIES)
&& GetItemPocket(*usedHeldItem) == POCKET_BERRIES)
{
gLastUsedItem = *usedHeldItem;
*usedHeldItem = ITEM_NONE;

View File

@ -528,7 +528,7 @@ void HandleAction_UseItem(void)
ClearVariousBattlerFlags(gBattlerAttacker);
gLastUsedItem = gBattleResources->bufferB[gBattlerAttacker][1] | (gBattleResources->bufferB[gBattlerAttacker][2] << 8);
gBattlescriptCurrInstr = gBattlescriptsForUsingItem[ItemId_GetBattleUsage(gLastUsedItem) - 1];
gBattlescriptCurrInstr = gBattlescriptsForUsingItem[GetItemBattleUsage(gLastUsedItem) - 1];
gCurrentActionFuncId = B_ACTION_EXEC_SCRIPT;
}
@ -546,7 +546,7 @@ bool32 TryRunFromBattle(u32 battler)
if (gBattleMons[battler].item == ITEM_ENIGMA_BERRY_E_READER)
holdEffect = gEnigmaBerries[battler].holdEffect;
else
holdEffect = ItemId_GetHoldEffect(gBattleMons[battler].item);
holdEffect = GetItemHoldEffect(gBattleMons[battler].item);
gPotentialItemEffectBattler = battler;
@ -702,7 +702,7 @@ void HandleAction_ThrowBall(void)
gBattle_BG0_X = 0;
gBattle_BG0_Y = 0;
gLastUsedItem = gBallToDisplay;
if (!ItemId_GetImportance(gLastUsedItem))
if (!GetItemImportance(gLastUsedItem))
RemoveBagItem(gLastUsedItem, 1);
gBattlescriptCurrInstr = BattleScript_BallThrow;
gCurrentActionFuncId = B_ACTION_EXEC_SCRIPT;
@ -1376,7 +1376,7 @@ u32 TrySetCantSelectMoveBattleScript(u32 battler)
}
}
if (DYNAMAX_BYPASS_CHECK && moveEffect == EFFECT_STUFF_CHEEKS && ItemId_GetPocket(gBattleMons[battler].item) != POCKET_BERRIES)
if (DYNAMAX_BYPASS_CHECK && moveEffect == EFFECT_STUFF_CHEEKS && GetItemPocket(gBattleMons[battler].item) != POCKET_BERRIES)
{
gCurrentMove = move;
if (gBattleTypeFlags & BATTLE_TYPE_PALACE)
@ -1544,7 +1544,7 @@ u8 CheckMoveLimitations(u32 battler, u8 unusableMoves, u16 check)
else if (check & MOVE_LIMITATION_THROAT_CHOP && gDisableStructs[battler].throatChopTimer && IsSoundMove(move))
unusableMoves |= 1u << i;
// Stuff Cheeks
else if (check & MOVE_LIMITATION_STUFF_CHEEKS && moveEffect == EFFECT_STUFF_CHEEKS && ItemId_GetPocket(gBattleMons[battler].item) != POCKET_BERRIES)
else if (check & MOVE_LIMITATION_STUFF_CHEEKS && moveEffect == EFFECT_STUFF_CHEEKS && GetItemPocket(gBattleMons[battler].item) != POCKET_BERRIES)
unusableMoves |= 1u << i;
// Gorilla Tactics
else if (check & MOVE_LIMITATION_CHOICE_ITEM && GetBattlerAbility(battler) == ABILITY_GORILLA_TACTICS && *choicedMove != MOVE_NONE && *choicedMove != MOVE_UNAVAILABLE && *choicedMove != move)
@ -2832,7 +2832,7 @@ u8 DoBattlerEndTurnEffects(void)
gBattleStruct->turnEffectsTracker++;
break;
case ENDTURN_CUD_CHEW:
if (GetBattlerAbility(battler) == ABILITY_CUD_CHEW && !gDisableStructs[battler].cudChew && ItemId_GetPocket(GetUsedHeldItem(battler)) == POCKET_BERRIES)
if (GetBattlerAbility(battler) == ABILITY_CUD_CHEW && !gDisableStructs[battler].cudChew && GetItemPocket(GetUsedHeldItem(battler)) == POCKET_BERRIES)
gDisableStructs[battler].cudChew = TRUE;
gBattleStruct->turnEffectsTracker++;
break;
@ -5428,7 +5428,7 @@ u32 AbilityBattleEffects(u32 caseID, u32 battler, u32 ability, u32 special, u32
if ((IsBattlerWeatherAffected(battler, B_WEATHER_SUN) || RandomPercentage(RNG_HARVEST, 50))
&& gBattleMons[battler].item == ITEM_NONE
&& gBattleStruct->changedItems[battler] == ITEM_NONE // Will not inherit an item
&& ItemId_GetPocket(GetUsedHeldItem(battler)) == POCKET_BERRIES)
&& GetItemPocket(GetUsedHeldItem(battler)) == POCKET_BERRIES)
{
gLastUsedItem = GetUsedHeldItem(battler);
BattleScriptPushCursorAndCallback(BattleScript_HarvestActivates);
@ -6909,7 +6909,7 @@ bool32 CanBeConfused(u32 battler)
// second argument is 1/X of current hp compared to max hp
bool32 HasEnoughHpToEatBerry(u32 battler, u32 hpFraction, u32 itemId)
{
bool32 isBerry = (ItemId_GetPocket(itemId) == POCKET_BERRIES);
bool32 isBerry = (GetItemPocket(itemId) == POCKET_BERRIES);
if (!IsBattlerAlive(battler))
return FALSE;
@ -7247,7 +7247,7 @@ static u32 ItemHealHp(u32 battler, u32 itemId, enum ItemCaseId caseID, bool32 pe
gBattleStruct->moveDamage[battler] = GetBattlerItemHoldEffectParam(battler, itemId) * -1;
// check ripen
if (ItemId_GetPocket(itemId) == POCKET_BERRIES && GetBattlerAbility(battler) == ABILITY_RIPEN)
if (GetItemPocket(itemId) == POCKET_BERRIES && GetBattlerAbility(battler) == ABILITY_RIPEN)
gBattleStruct->moveDamage[battler] *= 2;
gBattlerAbility = battler; // in SWSH, berry juice shows ability pop up but has no effect. This is mimicked here
@ -7271,7 +7271,7 @@ static bool32 UnnerveOn(u32 battler, u32 itemId)
if (gBattleScripting.overrideBerryRequirements > 0) // Berries that aren't eaten naturally ignore unnerve
return FALSE;
if (ItemId_GetPocket(itemId) == POCKET_BERRIES && IsUnnerveAbilityOnOpposingSide(battler))
if (GetItemPocket(itemId) == POCKET_BERRIES && IsUnnerveAbilityOnOpposingSide(battler))
return TRUE;
return FALSE;
}
@ -8095,7 +8095,7 @@ u32 ItemBattleEffects(enum ItemCaseId caseID, u32 battler, bool32 moveTurn)
}
break;
case ITEMEFFECT_USE_LAST_ITEM:
effect = ItemEffectMoveEnd(battler, ItemId_GetHoldEffect(gLastUsedItem));
effect = ItemEffectMoveEnd(battler, GetItemHoldEffect(gLastUsedItem));
gBattleScripting.overrideBerryRequirements = 2; // to exit VARIOUS_CONSUME_BERRIES
if (effect)
{
@ -8717,7 +8717,7 @@ u32 GetBattlerHoldEffectInternal(u32 battler, bool32 checkNegating, bool32 check
if (gBattleMons[battler].item == ITEM_ENIGMA_BERRY_E_READER)
return gEnigmaBerries[battler].holdEffect;
else
return ItemId_GetHoldEffect(gBattleMons[battler].item);
return GetItemHoldEffect(gBattleMons[battler].item);
}
static u32 GetBattlerItemHoldEffectParam(u32 battler, u32 item)
@ -8725,7 +8725,7 @@ static u32 GetBattlerItemHoldEffectParam(u32 battler, u32 item)
if (item == ITEM_ENIGMA_BERRY_E_READER)
return gEnigmaBerries[battler].holdEffectParam;
else
return ItemId_GetHoldEffectParam(item);
return GetItemHoldEffectParam(item);
}
u32 GetBattlerHoldEffectParam(u32 battler)
@ -8733,7 +8733,7 @@ u32 GetBattlerHoldEffectParam(u32 battler)
if (gBattleMons[battler].item == ITEM_ENIGMA_BERRY_E_READER)
return gEnigmaBerries[battler].holdEffectParam;
else
return ItemId_GetHoldEffectParam(gBattleMons[battler].item);
return GetItemHoldEffectParam(gBattleMons[battler].item);
}
bool32 IsMoveMakingContact(u32 move, u32 battlerAtk)
@ -9625,7 +9625,7 @@ static inline u32 CalcMoveBasePowerAfterModifiers(struct DamageCalculationData *
}
break;
case HOLD_EFFECT_PLATE:
if (moveType == ItemId_GetSecondaryId(gBattleMons[battlerAtk].item))
if (moveType == GetItemSecondaryId(gBattleMons[battlerAtk].item))
modifier = uq4_12_multiply(modifier, holdEffectModifier);
break;
case HOLD_EFFECT_PUNCHING_GLOVE:
@ -11246,7 +11246,7 @@ bool32 DoBattlersShareType(u32 battler1, u32 battler2)
bool32 CanBattlerGetOrLoseItem(u32 battler, u16 itemId)
{
u16 species = gBattleMons[battler].species;
u16 holdEffect = ItemId_GetHoldEffect(itemId);
u16 holdEffect = GetItemHoldEffect(itemId);
if (ItemIsMail(itemId))
return FALSE;
@ -11433,7 +11433,7 @@ static u32 GetFlingPowerFromItemId(u32 itemId)
return 10; // Status moves and moves with variable power always return 10 power.
}
else
return ItemId_GetFlingPower(itemId);
return GetItemFlingPower(itemId);
}
bool32 CanFling(u32 battler)
@ -11504,11 +11504,11 @@ void TryRestoreHeldItems(void)
u16 lostItem = gBattleStruct->itemLost[B_SIDE_PLAYER][i].originalItem;
// Check if the lost item is a berry and the mon is not holding it
if (ItemId_GetPocket(lostItem) == POCKET_BERRIES && GetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM) != lostItem)
if (GetItemPocket(lostItem) == POCKET_BERRIES && GetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM) != lostItem)
lostItem = ITEM_NONE;
// Check if the lost item should be restored
if ((lostItem != ITEM_NONE || returnNPCItems) && ItemId_GetPocket(lostItem) != POCKET_BERRIES)
if ((lostItem != ITEM_NONE || returnNPCItems) && GetItemPocket(lostItem) != POCKET_BERRIES)
SetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM, &lostItem);
}
}
@ -11546,7 +11546,7 @@ bool32 CanStealItem(u32 battlerStealing, u32 battlerItem, u16 item)
}
// It's supposed to pop before trying to steal but this also works
if (ItemId_GetHoldEffect(item) == HOLD_EFFECT_AIR_BALLOON)
if (GetItemHoldEffect(item) == HOLD_EFFECT_AIR_BALLOON)
return FALSE;
if (!CanBattlerGetOrLoseItem(battlerItem, item) // Battler with item cannot have it stolen

View File

@ -151,7 +151,7 @@ u32 GetUsableZMove(u32 battler, u32 move)
if (zMove != MOVE_NONE)
return zMove; // Signature z move exists
if (move != MOVE_NONE && zMove != MOVE_Z_STATUS && GetMoveType(move) == ItemId_GetSecondaryId(item))
if (move != MOVE_NONE && zMove != MOVE_Z_STATUS && GetMoveType(move) == GetItemSecondaryId(item))
return GetTypeBasedZMove(move);
}
@ -195,7 +195,7 @@ bool32 IsViableZMove(u32 battler, u32 move)
if (zMove != MOVE_NONE)
return TRUE;
if (move != MOVE_NONE && GetMoveType(move) == ItemId_GetSecondaryId(item))
if (move != MOVE_NONE && GetMoveType(move) == GetItemSecondaryId(item))
return TRUE;
}

View File

@ -0,0 +1 @@
static const u8 MAP_GROUP_COUNT[] = {57, 5, 5, 6, 7, 8, 9, 7, 7, 14, 8, 17, 10, 23, 13, 15, 15, 2, 2, 2, 3, 1, 1, 1, 108, 61, 89, 2, 1, 13, 1, 1, 3, 1, 0};

View File

@ -537,7 +537,7 @@ static s32 GetParentToInheritNature(struct DayCare *daycare)
for (i = 0; i < DAYCARE_MON_COUNT; i++)
{
if (ItemId_GetHoldEffect(GetBoxMonData(&daycare->mons[i].mon, MON_DATA_HELD_ITEM)) == HOLD_EFFECT_PREVENT_EVOLVE
if (GetItemHoldEffect(GetBoxMonData(&daycare->mons[i].mon, MON_DATA_HELD_ITEM)) == HOLD_EFFECT_PREVENT_EVOLVE
&& (P_NATURE_INHERITANCE != GEN_3 || GetBoxMonGender(&daycare->mons[i].mon) == MON_FEMALE || IS_DITTO(GetBoxMonData(&daycare->mons[i].mon, MON_DATA_SPECIES))))
{
slot = i;
@ -627,26 +627,26 @@ static void InheritIVs(struct Pokemon *egg, struct DayCare *daycare)
}
start = 0;
if (ItemId_GetHoldEffect(motherItem) == HOLD_EFFECT_POWER_ITEM &&
ItemId_GetHoldEffect(fatherItem) == HOLD_EFFECT_POWER_ITEM)
if (GetItemHoldEffect(motherItem) == HOLD_EFFECT_POWER_ITEM &&
GetItemHoldEffect(fatherItem) == HOLD_EFFECT_POWER_ITEM)
{
whichParents[0] = Random() % DAYCARE_MON_COUNT;
selectedIvs[0] = ItemId_GetSecondaryId(
selectedIvs[0] = GetItemSecondaryId(
GetBoxMonData(&daycare->mons[whichParents[0]].mon, MON_DATA_HELD_ITEM));
RemoveIVIndexFromList(availableIVs, selectedIvs[0]);
start++;
}
else if (ItemId_GetHoldEffect(motherItem) == HOLD_EFFECT_POWER_ITEM)
else if (GetItemHoldEffect(motherItem) == HOLD_EFFECT_POWER_ITEM)
{
whichParents[0] = 0;
selectedIvs[0] = ItemId_GetSecondaryId(motherItem);
selectedIvs[0] = GetItemSecondaryId(motherItem);
RemoveIVIndexFromList(availableIVs, selectedIvs[0]);
start++;
}
else if (ItemId_GetHoldEffect(fatherItem) == HOLD_EFFECT_POWER_ITEM)
else if (GetItemHoldEffect(fatherItem) == HOLD_EFFECT_POWER_ITEM)
{
whichParents[0] = 1;
selectedIvs[0] = ItemId_GetSecondaryId(fatherItem);
selectedIvs[0] = GetItemSecondaryId(fatherItem);
RemoveIVIndexFromList(availableIVs, selectedIvs[0]);
start++;
}
@ -1019,8 +1019,8 @@ static u16 DetermineEggSpeciesAndParentSlots(struct DayCare *daycare, u8 *parent
motherEggSpecies = GetEggSpecies(species[parentSlots[0]]);
fatherEggSpecies = GetEggSpecies(species[parentSlots[1]]);
hasMotherEverstone = ItemId_GetHoldEffect(GetBoxMonData(&daycare->mons[parentSlots[0]].mon, MON_DATA_HELD_ITEM)) == HOLD_EFFECT_PREVENT_EVOLVE;
hasFatherEverstone = ItemId_GetHoldEffect(GetBoxMonData(&daycare->mons[parentSlots[1]].mon, MON_DATA_HELD_ITEM)) == HOLD_EFFECT_PREVENT_EVOLVE;
hasMotherEverstone = GetItemHoldEffect(GetBoxMonData(&daycare->mons[parentSlots[0]].mon, MON_DATA_HELD_ITEM)) == HOLD_EFFECT_PREVENT_EVOLVE;
hasFatherEverstone = GetItemHoldEffect(GetBoxMonData(&daycare->mons[parentSlots[1]].mon, MON_DATA_HELD_ITEM)) == HOLD_EFFECT_PREVENT_EVOLVE;
motherIsForeign = IsSpeciesForeignRegionalForm(motherEggSpecies, currentRegion);
fatherIsForeign = IsSpeciesForeignRegionalForm(fatherEggSpecies, currentRegion);

View File

@ -3620,7 +3620,7 @@ static void DebugAction_PCBag_Fill_PocketItems(u8 taskId)
for (itemId = 1; itemId < ITEMS_COUNT; itemId++)
{
if (ItemId_GetPocket(itemId) == POCKET_ITEMS && CheckBagHasSpace(itemId, MAX_BAG_ITEM_CAPACITY))
if (GetItemPocket(itemId) == POCKET_ITEMS && CheckBagHasSpace(itemId, MAX_BAG_ITEM_CAPACITY))
AddBagItem(itemId, MAX_BAG_ITEM_CAPACITY);
}
}
@ -3664,7 +3664,7 @@ static void DebugAction_PCBag_Fill_PocketKeyItems(u8 taskId)
for (itemId = 1; itemId < ITEMS_COUNT; itemId++)
{
if (ItemId_GetPocket(itemId) == POCKET_KEY_ITEMS && CheckBagHasSpace(itemId, 1))
if (GetItemPocket(itemId) == POCKET_KEY_ITEMS && CheckBagHasSpace(itemId, 1))
AddBagItem(itemId, 1);
}
}

View File

@ -23,7 +23,7 @@
static bool8 CheckPyramidBagHasItem(u16 itemId, u16 count);
static bool8 CheckPyramidBagHasSpace(u16 itemId, u16 count);
static const u8 *ItemId_GetPluralName(u16);
static const u8 *GetItemPluralName(u16);
static bool32 DoesItemHavePluralName(u16);
EWRAM_DATA struct BagPocket gBagPockets[POCKETS_COUNT] = {0};
@ -86,7 +86,7 @@ void SetBagItemsPointers(void)
u8 *CopyItemName(u16 itemId, u8 *dst)
{
return StringCopy(dst, ItemId_GetName(itemId));
return StringCopy(dst, GetItemName(itemId));
}
const u8 sText_s[] =_("s");
@ -95,15 +95,15 @@ u8 *CopyItemNameHandlePlural(u16 itemId, u8 *dst, u32 quantity)
{
if (quantity == 1)
{
return StringCopy(dst, ItemId_GetName(itemId));
return StringCopy(dst, GetItemName(itemId));
}
else if (DoesItemHavePluralName(itemId))
{
return StringCopy(dst, ItemId_GetPluralName(itemId));
return StringCopy(dst, GetItemPluralName(itemId));
}
else
{
u8 *end = StringCopy(dst, ItemId_GetName(itemId));
u8 *end = StringCopy(dst, GetItemName(itemId));
return StringCopy(end, sText_s);
}
}
@ -125,11 +125,11 @@ bool8 CheckBagHasItem(u16 itemId, u16 count)
u8 i;
u8 pocket;
if (ItemId_GetPocket(itemId) == 0)
if (GetItemPocket(itemId) == 0)
return FALSE;
if (InBattlePyramid() || FlagGet(FLAG_STORING_ITEMS_IN_PYRAMID_BAG) == TRUE)
return CheckPyramidBagHasItem(itemId, count);
pocket = ItemId_GetPocket(itemId) - 1;
pocket = GetItemPocket(itemId) - 1;
// Check for item slots that contain the item
for (i = 0; i < gBagPockets[pocket].capacity; i++)
{
@ -179,7 +179,7 @@ bool8 HasAtLeastOnePokeBall(void)
bool8 CheckBagHasSpace(u16 itemId, u16 count)
{
if (ItemId_GetPocket(itemId) == POCKET_NONE)
if (GetItemPocket(itemId) == POCKET_NONE)
return FALSE;
if (InBattlePyramid() || FlagGet(FLAG_STORING_ITEMS_IN_PYRAMID_BAG) == TRUE)
@ -191,11 +191,11 @@ bool8 CheckBagHasSpace(u16 itemId, u16 count)
u32 GetFreeSpaceForItemInBag(u16 itemId)
{
u8 i;
u8 pocket = ItemId_GetPocket(itemId) - 1;
u8 pocket = GetItemPocket(itemId) - 1;
u16 ownedCount;
u32 spaceForItem = 0;
if (ItemId_GetPocket(itemId) == POCKET_NONE)
if (GetItemPocket(itemId) == POCKET_NONE)
return 0;
// Check space in any existing item slots that already contain this item
@ -218,7 +218,7 @@ bool8 AddBagItem(u16 itemId, u16 count)
{
u8 i;
if (ItemId_GetPocket(itemId) == POCKET_NONE)
if (GetItemPocket(itemId) == POCKET_NONE)
return FALSE;
// check Battle Pyramid Bag
@ -231,7 +231,7 @@ bool8 AddBagItem(u16 itemId, u16 count)
struct BagPocket *itemPocket;
struct ItemSlot *newItems;
u16 ownedCount;
u8 pocket = ItemId_GetPocket(itemId) - 1;
u8 pocket = GetItemPocket(itemId) - 1;
itemPocket = &gBagPockets[pocket];
newItems = AllocZeroed(itemPocket->capacity * sizeof(struct ItemSlot));
@ -320,7 +320,7 @@ bool8 RemoveBagItem(u16 itemId, u16 count)
u8 i;
u16 totalQuantity = 0;
if (ItemId_GetPocket(itemId) == POCKET_NONE || itemId == ITEM_NONE)
if (GetItemPocket(itemId) == POCKET_NONE || itemId == ITEM_NONE)
return FALSE;
// check Battle Pyramid Bag
@ -335,7 +335,7 @@ bool8 RemoveBagItem(u16 itemId, u16 count)
u16 ownedCount;
struct BagPocket *itemPocket;
pocket = ItemId_GetPocket(itemId) - 1;
pocket = GetItemPocket(itemId) - 1;
itemPocket = &gBagPockets[pocket];
for (i = 0; i < itemPocket->capacity; i++)
@ -405,7 +405,7 @@ bool8 RemoveBagItem(u16 itemId, u16 count)
u8 GetPocketByItemId(u16 itemId)
{
return ItemId_GetPocket(itemId);
return GetItemPocket(itemId);
}
void ClearItemSlots(struct ItemSlot *itemSlots, u8 itemCount)
@ -645,7 +645,7 @@ u16 CountTotalItemQuantityInBag(u16 itemId)
{
u16 i;
u16 ownedCount = 0;
struct BagPocket *bagPocket = &gBagPockets[ItemId_GetPocket(itemId) - 1];
struct BagPocket *bagPocket = &gBagPockets[GetItemPocket(itemId) - 1];
for (i = 0; i < bagPocket->capacity; i++)
{
@ -865,12 +865,12 @@ static u16 SanitizeItemId(u16 itemId)
return itemId;
}
const u8 *ItemId_GetName(u16 itemId)
const u8 *GetItemName(u16 itemId)
{
return gItemsInfo[SanitizeItemId(itemId)].name;
}
u32 ItemId_GetPrice(u16 itemId)
u32 GetItemPrice(u16 itemId)
{
return gItemsInfo[SanitizeItemId(itemId)].price;
}
@ -880,12 +880,12 @@ static bool32 DoesItemHavePluralName(u16 itemId)
return (gItemsInfo[SanitizeItemId(itemId)].pluralName[0] != '\0');
}
static const u8 *ItemId_GetPluralName(u16 itemId)
static const u8 *GetItemPluralName(u16 itemId)
{
return gItemsInfo[SanitizeItemId(itemId)].pluralName;
}
const u8 *ItemId_GetEffect(u32 itemId)
const u8 *GetItemEffect(u32 itemId)
{
if (itemId == ITEM_ENIGMA_BERRY_E_READER)
#if FREE_ENIGMA_BERRY == FALSE
@ -897,48 +897,48 @@ const u8 *ItemId_GetEffect(u32 itemId)
return gItemsInfo[SanitizeItemId(itemId)].effect;
}
u32 ItemId_GetHoldEffect(u32 itemId)
u32 GetItemHoldEffect(u32 itemId)
{
return gItemsInfo[SanitizeItemId(itemId)].holdEffect;
}
u32 ItemId_GetHoldEffectParam(u32 itemId)
u32 GetItemHoldEffectParam(u32 itemId)
{
return gItemsInfo[SanitizeItemId(itemId)].holdEffectParam;
}
const u8 *ItemId_GetDescription(u16 itemId)
const u8 *GetItemDescription(u16 itemId)
{
return gItemsInfo[SanitizeItemId(itemId)].description;
}
u8 ItemId_GetImportance(u16 itemId)
u8 GetItemImportance(u16 itemId)
{
return gItemsInfo[SanitizeItemId(itemId)].importance;
}
u8 ItemId_GetConsumability(u16 itemId)
u8 GetItemConsumability(u16 itemId)
{
return !gItemsInfo[SanitizeItemId(itemId)].notConsumed;
}
u8 ItemId_GetPocket(u16 itemId)
u8 GetItemPocket(u16 itemId)
{
return gItemsInfo[SanitizeItemId(itemId)].pocket;
}
u8 ItemId_GetType(u16 itemId)
u8 GetItemType(u16 itemId)
{
return gItemsInfo[SanitizeItemId(itemId)].type;
}
ItemUseFunc ItemId_GetFieldFunc(u16 itemId)
ItemUseFunc GetItemFieldFunc(u16 itemId)
{
return gItemsInfo[SanitizeItemId(itemId)].fieldUseFunc;
}
// Returns an item's battle effect script ID.
u8 ItemId_GetBattleUsage(u16 itemId)
u8 GetItemBattleUsage(u16 itemId)
{
u16 item = SanitizeItemId(itemId);
// Handle E-Reader berries.
@ -969,12 +969,12 @@ u8 ItemId_GetBattleUsage(u16 itemId)
return gItemsInfo[item].battleUsage;
}
u32 ItemId_GetSecondaryId(u32 itemId)
u32 GetItemSecondaryId(u32 itemId)
{
return gItemsInfo[SanitizeItemId(itemId)].secondaryId;
}
u32 ItemId_GetFlingPower(u32 itemId)
u32 GetItemFlingPower(u32 itemId)
{
return gItemsInfo[SanitizeItemId(itemId)].flingPower;
}
@ -982,7 +982,7 @@ u32 ItemId_GetFlingPower(u32 itemId)
u32 GetItemStatus1Mask(u16 itemId)
{
const u8 *effect = ItemId_GetEffect(itemId);
const u8 *effect = GetItemEffect(itemId);
switch (effect[3])
{
case ITEM3_PARALYSIS:
@ -1003,7 +1003,7 @@ u32 GetItemStatus1Mask(u16 itemId)
u32 GetItemStatus2Mask(u16 itemId)
{
const u8 *effect = ItemId_GetEffect(itemId);
const u8 *effect = GetItemEffect(itemId);
if (effect[3] & ITEM3_STATUS_ALL)
return STATUS2_INFATUATION | STATUS2_CONFUSION;
else if (effect[0] & ITEM0_INFATUATION)

View File

@ -138,7 +138,7 @@ static void PrepareTMHMMoveWindow(void);
static bool8 IsWallysBag(void);
static void Task_WallyTutorialBagMenu(u8);
static void Task_BagMenu_HandleInput(u8);
static void GetItemName(u8 *, u16);
static void GetItemNameFromPocket(u8 *, u16);
static void PrintItemDescription(int);
static void BagMenu_PrintCursorAtPos(u8, u8);
static void BagMenu_Print(u8, u8, const u8 *, u8, u8, u8, u8, u8, u8);
@ -883,7 +883,7 @@ static void LoadBagItemListBuffers(u8 pocketId)
{
for (i = 0; i < gBagMenu->numItemStacks[pocketId] - 1; i++)
{
GetItemName(sListBuffer2->name[i], pocket->itemSlots[i].itemId);
GetItemNameFromPocket(sListBuffer2->name[i], pocket->itemSlots[i].itemId);
subBuffer = sListBuffer1->subBuffers;
subBuffer[i].name = sListBuffer2->name[i];
subBuffer[i].id = i;
@ -897,7 +897,7 @@ static void LoadBagItemListBuffers(u8 pocketId)
{
for (i = 0; i < gBagMenu->numItemStacks[pocketId]; i++)
{
GetItemName(sListBuffer2->name[i], pocket->itemSlots[i].itemId);
GetItemNameFromPocket(sListBuffer2->name[i], pocket->itemSlots[i].itemId);
subBuffer = sListBuffer1->subBuffers;
subBuffer[i].name = sListBuffer2->name[i];
subBuffer[i].id = i;
@ -909,7 +909,7 @@ static void LoadBagItemListBuffers(u8 pocketId)
gMultiuseListMenuTemplate.maxShowed = gBagMenu->numShownItems[pocketId];
}
static void GetItemName(u8 *dest, u16 itemId)
static void GetItemNameFromPocket(u8 *dest, u16 itemId)
{
u8 *end;
switch (gBagPosition.pocket)
@ -987,7 +987,7 @@ static void BagMenu_ItemPrintCallback(u8 windowId, u32 itemIndex, u8 y)
if (itemId >= ITEM_HM01 && itemId <= ITEM_HM08)
BlitBitmapToWindow(windowId, gBagMenuHMIcon_Gfx, 8, y - 1, 16, 16);
if (gBagPosition.pocket != KEYITEMS_POCKET && ItemId_GetImportance(itemId) == FALSE)
if (gBagPosition.pocket != KEYITEMS_POCKET && GetItemImportance(itemId) == FALSE)
{
// Print item quantity
ConvertIntToDecimalStringN(gStringVar1, itemQuantity, STR_CONV_MODE_RIGHT_ALIGN, MAX_ITEM_DIGITS);
@ -1009,7 +1009,7 @@ static void PrintItemDescription(int itemIndex)
const u8 *str;
if (itemIndex != LIST_CANCEL)
{
str = ItemId_GetDescription(BagGetItemIdByPocketPosition(gBagPosition.pocket + 1, itemIndex));
str = GetItemDescription(BagGetItemIdByPocketPosition(gBagPosition.pocket + 1, itemIndex));
}
else
{
@ -1559,7 +1559,7 @@ static void OpenContextMenu(u8 taskId)
{
case ITEMMENULOCATION_BATTLE:
case ITEMMENULOCATION_WALLY:
if (ItemId_GetBattleUsage(gSpecialVar_ItemId))
if (GetItemBattleUsage(gSpecialVar_ItemId))
{
gBagMenu->contextMenuItemsPtr = sContextMenuItems_BattleUse;
gBagMenu->contextMenuNumItems = ARRAY_COUNT(sContextMenuItems_BattleUse);
@ -1575,7 +1575,7 @@ static void OpenContextMenu(u8 taskId)
gBagMenu->contextMenuNumItems = ARRAY_COUNT(sContextMenuItems_BerryBlenderCrush);
break;
case ITEMMENULOCATION_APPRENTICE:
if (!ItemId_GetImportance(gSpecialVar_ItemId) && gSpecialVar_ItemId != ITEM_ENIGMA_BERRY_E_READER)
if (!GetItemImportance(gSpecialVar_ItemId) && gSpecialVar_ItemId != ITEM_ENIGMA_BERRY_E_READER)
{
gBagMenu->contextMenuItemsPtr = sContextMenuItems_Apprentice;
gBagMenu->contextMenuNumItems = ARRAY_COUNT(sContextMenuItems_Apprentice);
@ -1587,7 +1587,7 @@ static void OpenContextMenu(u8 taskId)
}
break;
case ITEMMENULOCATION_FAVOR_LADY:
if (!ItemId_GetImportance(gSpecialVar_ItemId) && gSpecialVar_ItemId != ITEM_ENIGMA_BERRY_E_READER)
if (!GetItemImportance(gSpecialVar_ItemId) && gSpecialVar_ItemId != ITEM_ENIGMA_BERRY_E_READER)
{
gBagMenu->contextMenuItemsPtr = sContextMenuItems_FavorLady;
gBagMenu->contextMenuNumItems = ARRAY_COUNT(sContextMenuItems_FavorLady);
@ -1599,7 +1599,7 @@ static void OpenContextMenu(u8 taskId)
}
break;
case ITEMMENULOCATION_QUIZ_LADY:
if (!ItemId_GetImportance(gSpecialVar_ItemId) && gSpecialVar_ItemId != ITEM_ENIGMA_BERRY_E_READER)
if (!GetItemImportance(gSpecialVar_ItemId) && gSpecialVar_ItemId != ITEM_ENIGMA_BERRY_E_READER)
{
gBagMenu->contextMenuItemsPtr = sContextMenuItems_QuizLady;
gBagMenu->contextMenuNumItems = ARRAY_COUNT(sContextMenuItems_QuizLady);
@ -1813,10 +1813,10 @@ static void RemoveContextWindow(void)
static void ItemMenu_UseOutOfBattle(u8 taskId)
{
if (ItemId_GetFieldFunc(gSpecialVar_ItemId))
if (GetItemFieldFunc(gSpecialVar_ItemId))
{
RemoveContextWindow();
if (CalculatePlayerPartyCount() == 0 && ItemId_GetType(gSpecialVar_ItemId) == ITEM_USE_PARTY_MENU)
if (CalculatePlayerPartyCount() == 0 && GetItemType(gSpecialVar_ItemId) == ITEM_USE_PARTY_MENU)
{
PrintThereIsNoPokemon(taskId);
}
@ -1825,7 +1825,7 @@ static void ItemMenu_UseOutOfBattle(u8 taskId)
FillWindowPixelBuffer(WIN_DESCRIPTION, PIXEL_FILL(0));
ScheduleBgCopyTilemapToVram(0);
if (gBagPosition.pocket != BERRIES_POCKET)
ItemId_GetFieldFunc(gSpecialVar_ItemId)(taskId);
GetItemFieldFunc(gSpecialVar_ItemId)(taskId);
else
ItemUseOutOfBattle_Berry(taskId);
}
@ -1957,7 +1957,7 @@ static void ItemMenu_Give(u8 taskId)
{
DisplayItemMessage(taskId, FONT_NORMAL, gText_CantWriteMail, HandleErrorMessage);
}
else if (!ItemId_GetImportance(gSpecialVar_ItemId))
else if (!GetItemImportance(gSpecialVar_ItemId))
{
if (CalculatePlayerPartyCount() == 0)
{
@ -2017,8 +2017,8 @@ static void ItemMenu_Cancel(u8 taskId)
static void ItemMenu_UseInBattle(u8 taskId)
{
// Safety check
u16 type = ItemId_GetType(gSpecialVar_ItemId);
if (!ItemId_GetBattleUsage(gSpecialVar_ItemId))
u16 type = GetItemType(gSpecialVar_ItemId);
if (!GetItemBattleUsage(gSpecialVar_ItemId))
return;
RemoveContextWindow();
@ -2047,7 +2047,7 @@ static void Task_ItemContext_GiveToParty(u8 taskId)
StringExpandPlaceholders(gStringVar4, sText_Var1CantBeHeldHere);
DisplayItemMessage(taskId, FONT_NORMAL, gStringVar4, HandleErrorMessage);
}
else if (gBagPosition.pocket != KEYITEMS_POCKET && !ItemId_GetImportance(gSpecialVar_ItemId))
else if (gBagPosition.pocket != KEYITEMS_POCKET && !GetItemImportance(gSpecialVar_ItemId))
{
Task_FadeAndCloseBagMenu(taskId);
}
@ -2062,7 +2062,7 @@ static void Task_ItemContext_GiveToPC(u8 taskId)
{
if (ItemIsMail(gSpecialVar_ItemId) == TRUE)
DisplayItemMessage(taskId, FONT_NORMAL, gText_CantWriteMail, HandleErrorMessage);
else if (gBagPosition.pocket != KEYITEMS_POCKET && !ItemId_GetImportance(gSpecialVar_ItemId))
else if (gBagPosition.pocket != KEYITEMS_POCKET && !GetItemImportance(gSpecialVar_ItemId))
gTasks[taskId].func = Task_FadeAndCloseBagMenu;
else
PrintItemCantBeHeld(taskId);
@ -2087,7 +2087,7 @@ bool8 UseRegisteredKeyItemOnField(void)
PlayerFreeze();
StopPlayerAvatar();
gSpecialVar_ItemId = gSaveBlock1Ptr->registeredItem;
taskId = CreateTask(ItemId_GetFieldFunc(gSaveBlock1Ptr->registeredItem), 8);
taskId = CreateTask(GetItemFieldFunc(gSaveBlock1Ptr->registeredItem), 8);
gTasks[taskId].tUsingRegisteredKeyItem = TRUE;
return TRUE;
}
@ -2106,7 +2106,7 @@ static void Task_ItemContext_Sell(u8 taskId)
{
s16 *data = gTasks[taskId].data;
if (ItemId_GetPrice(gSpecialVar_ItemId) == 0 || ItemId_GetImportance(gSpecialVar_ItemId))
if (GetItemPrice(gSpecialVar_ItemId) == 0 || GetItemImportance(gSpecialVar_ItemId))
{
CopyItemName(gSpecialVar_ItemId, gStringVar2);
StringExpandPlaceholders(gStringVar4, gText_CantBuyKeyItem);
@ -2135,7 +2135,7 @@ static void DisplaySellItemPriceAndConfirm(u8 taskId)
{
s16 *data = gTasks[taskId].data;
ConvertIntToDecimalStringN(gStringVar1, (ItemId_GetPrice(gSpecialVar_ItemId) / ITEM_SELL_FACTOR) * tItemCount, STR_CONV_MODE_LEFT_ALIGN, MAX_MONEY_DIGITS);
ConvertIntToDecimalStringN(gStringVar1, (GetItemPrice(gSpecialVar_ItemId) / ITEM_SELL_FACTOR) * tItemCount, STR_CONV_MODE_LEFT_ALIGN, MAX_MONEY_DIGITS);
StringExpandPlaceholders(gStringVar4, gText_ICanPayVar1);
DisplayItemMessage(taskId, FONT_NORMAL, gStringVar4, AskSellItems);
}
@ -2160,7 +2160,7 @@ static void InitSellHowManyInput(u8 taskId)
s16 *data = gTasks[taskId].data;
u8 windowId = BagMenu_AddWindow(ITEMWIN_QUANTITY_WIDE);
PrintItemSoldAmount(windowId, 1, (ItemId_GetPrice(gSpecialVar_ItemId) / ITEM_SELL_FACTOR) * tItemCount);
PrintItemSoldAmount(windowId, 1, (GetItemPrice(gSpecialVar_ItemId) / ITEM_SELL_FACTOR) * tItemCount);
DisplayCurrentMoneyWindow();
gTasks[taskId].func = Task_ChooseHowManyToSell;
}
@ -2171,7 +2171,7 @@ static void Task_ChooseHowManyToSell(u8 taskId)
if (AdjustQuantityAccordingToDPadInput(&tItemCount, tQuantity) == TRUE)
{
PrintItemSoldAmount(gBagMenu->windowIds[ITEMWIN_QUANTITY_WIDE], tItemCount, (ItemId_GetPrice(gSpecialVar_ItemId) / ITEM_SELL_FACTOR) * tItemCount);
PrintItemSoldAmount(gBagMenu->windowIds[ITEMWIN_QUANTITY_WIDE], tItemCount, (GetItemPrice(gSpecialVar_ItemId) / ITEM_SELL_FACTOR) * tItemCount);
}
else if (JOY_NEW(A_BUTTON))
{
@ -2195,7 +2195,7 @@ static void ConfirmSell(u8 taskId)
s16 *data = gTasks[taskId].data;
CopyItemName(gSpecialVar_ItemId, gStringVar2);
ConvertIntToDecimalStringN(gStringVar1, (ItemId_GetPrice(gSpecialVar_ItemId) / ITEM_SELL_FACTOR) * tItemCount, STR_CONV_MODE_LEFT_ALIGN, MAX_MONEY_DIGITS);
ConvertIntToDecimalStringN(gStringVar1, (GetItemPrice(gSpecialVar_ItemId) / ITEM_SELL_FACTOR) * tItemCount, STR_CONV_MODE_LEFT_ALIGN, MAX_MONEY_DIGITS);
StringExpandPlaceholders(gStringVar4, gText_TurnedOverVar1ForVar2);
DisplayItemMessage(taskId, FONT_NORMAL, gStringVar4, SellItem);
}
@ -2208,7 +2208,7 @@ static void SellItem(u8 taskId)
PlaySE(SE_SHOP);
RemoveBagItem(gSpecialVar_ItemId, tItemCount);
AddMoney(&gSaveBlock1Ptr->money, (ItemId_GetPrice(gSpecialVar_ItemId) / ITEM_SELL_FACTOR) * tItemCount);
AddMoney(&gSaveBlock1Ptr->money, (GetItemPrice(gSpecialVar_ItemId) / ITEM_SELL_FACTOR) * tItemCount);
DestroyListMenuTask(tListTaskId, scrollPos, cursorPos);
UpdatePocketItemList(gBagPosition.pocket);
UpdatePocketListPosition(gBagPosition.pocket);
@ -2279,7 +2279,7 @@ static void TryDepositItem(u8 taskId)
s16 *data = gTasks[taskId].data;
FillWindowPixelBuffer(WIN_DESCRIPTION, PIXEL_FILL(0));
if (ItemId_GetImportance(gSpecialVar_ItemId))
if (GetItemImportance(gSpecialVar_ItemId))
{
// Can't deposit important items
BagMenu_Print(WIN_DESCRIPTION, FONT_NORMAL, sText_CantStoreImportantItems, 3, 1, 0, 0, 0, COLORID_NORMAL);

View File

@ -126,7 +126,7 @@ static void SetUpItemUseCallback(u8 taskId)
if (gSpecialVar_ItemId == ITEM_ENIGMA_BERRY_E_READER)
type = gTasks[taskId].tEnigmaBerryType - 1;
else
type = ItemId_GetType(gSpecialVar_ItemId) - 1;
type = GetItemType(gSpecialVar_ItemId) - 1;
if (!InBattlePyramid())
{
gBagMenu->newScreenCallback = sItemUseCallbacks[type];
@ -200,9 +200,9 @@ static void Task_CloseCantUseKeyItemMessage(u8 taskId)
u8 CheckIfItemIsTMHMOrEvolutionStone(u16 itemId)
{
if (ItemId_GetFieldFunc(itemId) == ItemUseOutOfBattle_TMHM)
if (GetItemFieldFunc(itemId) == ItemUseOutOfBattle_TMHM)
return 1;
else if (ItemId_GetFieldFunc(itemId) == ItemUseOutOfBattle_EvolutionStone)
else if (GetItemFieldFunc(itemId) == ItemUseOutOfBattle_EvolutionStone)
return 2;
else
return 0;
@ -277,7 +277,7 @@ void ItemUseOutOfBattle_Bike(u8 taskId)
static void ItemUseOnFieldCB_Bike(u8 taskId)
{
if (ItemId_GetSecondaryId(gSpecialVar_ItemId) == MACH_BIKE)
if (GetItemSecondaryId(gSpecialVar_ItemId) == MACH_BIKE)
GetOnOffBike(PLAYER_AVATAR_FLAG_MACH_BIKE);
else // ACRO_BIKE
GetOnOffBike(PLAYER_AVATAR_FLAG_ACRO_BIKE);
@ -331,7 +331,7 @@ void ItemUseOutOfBattle_Rod(u8 taskId)
static void ItemUseOnFieldCB_Rod(u8 taskId)
{
StartFishing(ItemId_GetSecondaryId(gSpecialVar_ItemId));
StartFishing(GetItemSecondaryId(gSpecialVar_ItemId));
DestroyTask(taskId);
}
@ -756,7 +756,7 @@ void ItemUseOutOfBattle_Berry(u8 taskId)
}
else
{
ItemId_GetFieldFunc(gSpecialVar_ItemId)(taskId);
GetItemFieldFunc(gSpecialVar_ItemId)(taskId);
}
}
@ -922,8 +922,8 @@ static void RemoveUsedItem(void)
StringExpandPlaceholders(gStringVar4, gText_PlayerUsedVar2);
if (!InBattlePyramid())
{
UpdatePocketItemList(ItemId_GetPocket(gSpecialVar_ItemId));
UpdatePocketListPosition(ItemId_GetPocket(gSpecialVar_ItemId));
UpdatePocketItemList(GetItemPocket(gSpecialVar_ItemId));
UpdatePocketListPosition(GetItemPocket(gSpecialVar_ItemId));
}
else
{
@ -958,7 +958,7 @@ static void Task_UseRepel(u8 taskId)
{
if (!IsSEPlaying())
{
VarSet(VAR_REPEL_STEP_COUNT, ItemId_GetHoldEffectParam(gSpecialVar_ItemId));
VarSet(VAR_REPEL_STEP_COUNT, GetItemHoldEffectParam(gSpecialVar_ItemId));
#if VAR_LAST_REPEL_LURE_USED != 0
VarSet(VAR_LAST_REPEL_LURE_USED, gSpecialVar_ItemId);
#endif
@ -972,7 +972,7 @@ static void Task_UseRepel(u8 taskId)
void HandleUseExpiredRepel(struct ScriptContext *ctx)
{
#if VAR_LAST_REPEL_LURE_USED != 0
VarSet(VAR_REPEL_STEP_COUNT, ItemId_GetHoldEffectParam(VarGet(VAR_LAST_REPEL_LURE_USED)));
VarSet(VAR_REPEL_STEP_COUNT, GetItemHoldEffectParam(VarGet(VAR_LAST_REPEL_LURE_USED)));
#endif
}
@ -1002,7 +1002,7 @@ static void Task_UseLure(u8 taskId)
{
if (!IsSEPlaying())
{
VarSet(VAR_REPEL_STEP_COUNT, ItemId_GetHoldEffectParam(gSpecialVar_ItemId) | REPEL_LURE_MASK);
VarSet(VAR_REPEL_STEP_COUNT, GetItemHoldEffectParam(gSpecialVar_ItemId) | REPEL_LURE_MASK);
#if VAR_LAST_REPEL_LURE_USED != 0
VarSet(VAR_LAST_REPEL_LURE_USED, gSpecialVar_ItemId);
#endif
@ -1017,7 +1017,7 @@ static void Task_UseLure(u8 taskId)
void HandleUseExpiredLure(struct ScriptContext *ctx)
{
#if VAR_LAST_REPEL_LURE_USED != 0
VarSet(VAR_REPEL_STEP_COUNT, ItemId_GetHoldEffectParam(VarGet(VAR_LAST_REPEL_LURE_USED)) | REPEL_LURE_MASK);
VarSet(VAR_REPEL_STEP_COUNT, GetItemHoldEffectParam(VarGet(VAR_LAST_REPEL_LURE_USED)) | REPEL_LURE_MASK);
#endif
}
@ -1198,7 +1198,7 @@ static bool32 SelectedMonHasStatus2(u16 itemId)
// Returns whether an item can be used in battle and sets the fail text.
bool32 CannotUseItemsInBattle(u16 itemId, struct Pokemon *mon)
{
u16 battleUsage = ItemId_GetBattleUsage(itemId);
u16 battleUsage = GetItemBattleUsage(itemId);
bool8 cannotUse = FALSE;
const u8* failStr = NULL;
u32 i;
@ -1215,7 +1215,7 @@ bool32 CannotUseItemsInBattle(u16 itemId, struct Pokemon *mon)
switch (battleUsage)
{
case EFFECT_ITEM_INCREASE_STAT:
if (gBattleMons[gBattlerInMenuId].statStages[ItemId_GetEffect(itemId)[1]] == MAX_STAT_STAGE)
if (gBattleMons[gBattlerInMenuId].statStages[GetItemEffect(itemId)[1]] == MAX_STAT_STAGE)
cannotUse = TRUE;
break;
case EFFECT_ITEM_SET_FOCUS_ENERGY:
@ -1281,7 +1281,7 @@ bool32 CannotUseItemsInBattle(u16 itemId, struct Pokemon *mon)
cannotUse = TRUE;
break;
case EFFECT_ITEM_RESTORE_PP:
if (ItemId_GetEffect(itemId)[4] == ITEM4_HEAL_PP)
if (GetItemEffect(itemId)[4] == ITEM4_HEAL_PP)
{
for (i = 0; i < MAX_MON_MOVES; i++)
{
@ -1318,7 +1318,7 @@ void ItemUseInBattle_BagMenu(u8 taskId)
else
{
PlaySE(SE_SELECT);
if (!ItemId_GetImportance(gSpecialVar_ItemId) && !(B_TRY_CATCH_TRAINER_BALL >= GEN_4 && (ItemId_GetBattleUsage(gSpecialVar_ItemId) == EFFECT_ITEM_THROW_BALL) && (gBattleTypeFlags & BATTLE_TYPE_TRAINER)))
if (!GetItemImportance(gSpecialVar_ItemId) && !(B_TRY_CATCH_TRAINER_BALL >= GEN_4 && (GetItemBattleUsage(gSpecialVar_ItemId) == EFFECT_ITEM_THROW_BALL) && (gBattleTypeFlags & BATTLE_TYPE_TRAINER)))
RemoveUsedItem();
ScheduleBgCopyTilemapToVram(2);
if (!InBattlePyramid())

View File

@ -192,7 +192,7 @@ bool8 HasAnotherPlayerGivenFavorLadyItem(void)
static void BufferItemName(u8 *dest, u16 itemId)
{
StringCopy(dest, ItemId_GetName(itemId));
StringCopy(dest, GetItemName(itemId));
}
void BufferFavorLadyItemName(void)
@ -451,7 +451,7 @@ static u8 GetPlayerNameLength(const u8 *playerName)
void BufferQuizPrizeName(void)
{
StringCopy(gStringVar1, ItemId_GetName(sQuizLadyPtr->prize));
StringCopy(gStringVar1, GetItemName(sQuizLadyPtr->prize));
}
bool8 BufferQuizAuthorNameAndCheckIfLady(void)

View File

@ -4558,7 +4558,7 @@ static void Task_SetSacredAshCB(u8 taskId)
static bool8 IsHPRecoveryItem(u16 item)
{
const u8 *effect = ItemId_GetEffect(item);
const u8 *effect = GetItemEffect(item);
if (effect == NULL)
return FALSE;
@ -5033,7 +5033,7 @@ void ItemUseCB_Mint(u8 taskId, TaskFunc task)
tState = 0;
tMonId = gPartyMenu.slotId;
tOldNature = GetMonData(&gPlayerParty[tMonId], MON_DATA_HIDDEN_NATURE);
tNewNature = ItemId_GetSecondaryId(gSpecialVar_ItemId);
tNewNature = GetItemSecondaryId(gSpecialVar_ItemId);
SetWordTaskArg(taskId, tOldFunc, (uintptr_t)(gTasks[taskId].func));
gTasks[taskId].func = Task_Mint;
}
@ -5224,7 +5224,7 @@ static void Task_HandleWhichMoveInput(u8 taskId)
void ItemUseCB_PPRecovery(u8 taskId, TaskFunc task)
{
const u8 *effect = ItemId_GetEffect(gSpecialVar_ItemId);
const u8 *effect = GetItemEffect(gSpecialVar_ItemId);
if (effect == NULL || !(effect[4] & ITEM4_HEAL_PP_ONE))
{
@ -5320,7 +5320,7 @@ void ItemUseCB_PPUp(u8 taskId, TaskFunc task)
u16 ItemIdToBattleMoveId(u16 item)
{
return (ItemId_GetPocket(item) == POCKET_TM_HM) ? gItemsInfo[item].secondaryId : MOVE_NONE;
return (GetItemPocket(item) == POCKET_TM_HM) ? gItemsInfo[item].secondaryId : MOVE_NONE;
}
bool8 MonKnowsMove(struct Pokemon *mon, u16 move)
@ -5407,7 +5407,7 @@ static void Task_LearnedMove(u8 taskId)
if (move[1] == 0)
{
AdjustFriendship(mon, FRIENDSHIP_EVENT_LEARN_TMHM);
if (!ItemId_GetImportance(item))
if (!GetItemImportance(item))
RemoveBagItem(item, 1);
}
GetMonNickname(mon, gStringVar1);
@ -5488,7 +5488,7 @@ static void CB2_ReturnToPartyMenuWhileLearningMove(void)
{
if (sFinalLevel != 0)
SetMonData(&gPlayerParty[gPartyMenu.slotId], MON_DATA_LEVEL, &sFinalLevel); // to avoid displaying incorrect level
if (ItemId_GetFieldFunc(gSpecialVar_ItemId) == ItemUseOutOfBattle_RareCandy && gPartyMenu.menuType == PARTY_MENU_TYPE_FIELD && CheckBagHasItem(gSpecialVar_ItemId, 1))
if (GetItemFieldFunc(gSpecialVar_ItemId) == ItemUseOutOfBattle_RareCandy && gPartyMenu.menuType == PARTY_MENU_TYPE_FIELD && CheckBagHasItem(gSpecialVar_ItemId, 1))
InitPartyMenu(PARTY_MENU_TYPE_FIELD, PARTY_LAYOUT_SINGLE, PARTY_ACTION_USE_ITEM, TRUE, PARTY_MSG_NONE, Task_ReturnToPartyMenuWhileLearningMove, gPartyMenu.exitCallback);
else
InitPartyMenu(PARTY_MENU_TYPE_FIELD, PARTY_LAYOUT_SINGLE, PARTY_ACTION_CHOOSE_MON, TRUE, PARTY_MSG_NONE, Task_ReturnToPartyMenuWhileLearningMove, gPartyMenu.exitCallback);
@ -5606,7 +5606,7 @@ void ItemUseCB_RareCandy(u8 taskId, TaskFunc task)
s16 *arrayPtr = ptr->data;
u16 *itemPtr = &gSpecialVar_ItemId;
bool8 cannotUseEffect;
u8 holdEffectParam = ItemId_GetHoldEffectParam(*itemPtr);
u8 holdEffectParam = GetItemHoldEffectParam(*itemPtr);
sInitialLevel = GetMonData(mon, MON_DATA_LEVEL);
if (!(B_RARE_CANDY_CAP && sInitialLevel >= GetCurrentLevelCap()))
@ -5835,7 +5835,7 @@ static void PartyMenuTryEvolution(u8 taskId)
if (targetSpecies != SPECIES_NONE)
{
FreePartyPointers();
if (ItemId_GetFieldFunc(gSpecialVar_ItemId) == ItemUseOutOfBattle_RareCandy && gPartyMenu.menuType == PARTY_MENU_TYPE_FIELD && CheckBagHasItem(gSpecialVar_ItemId, 1))
if (GetItemFieldFunc(gSpecialVar_ItemId) == ItemUseOutOfBattle_RareCandy && gPartyMenu.menuType == PARTY_MENU_TYPE_FIELD && CheckBagHasItem(gSpecialVar_ItemId, 1))
gCB2_AfterEvolution = CB2_ReturnToPartyMenuUsingRareCandy;
else
gCB2_AfterEvolution = gPartyMenu.exitCallback;
@ -6047,7 +6047,7 @@ void ItemUseCB_EvolutionStone(u8 taskId, TaskFunc task)
}
else
{
if (ItemId_GetPocket(gSpecialVar_ItemId) != POCKET_KEY_ITEMS)
if (GetItemPocket(gSpecialVar_ItemId) != POCKET_KEY_ITEMS)
RemoveBagItem(gSpecialVar_ItemId, 1);
FreePartyPointers();
}
@ -6691,7 +6691,7 @@ void TryItemHoldFormChange(struct Pokemon *mon)
u8 GetItemEffectType(u16 item)
{
u32 statusCure;
const u8 *itemEffect = ItemId_GetEffect(item);
const u8 *itemEffect = GetItemEffect(item);
if (itemEffect == NULL)
return ITEM_EFFECT_NONE;

View File

@ -1062,7 +1062,7 @@ static void ItemStorage_PrintDescription(s32 id)
// Get item description (or Cancel text)
if (id != LIST_CANCEL)
description = (u8 *)ItemId_GetDescription(gSaveBlock1Ptr->pcItems[id].itemId);
description = (u8 *)GetItemDescription(gSaveBlock1Ptr->pcItems[id].itemId);
else
description = ItemStorage_GetMessage(MSG_GO_BACK_TO_PREV);
@ -1206,7 +1206,7 @@ static const u8 *ItemStorage_GetMessage(u16 itemId)
string = gText_MoveVar1Where;
break;
default:
string = ItemId_GetDescription(itemId);
string = GetItemDescription(itemId);
break;
}
return string;
@ -1462,7 +1462,7 @@ static void ItemStorage_DoItemToss(u8 taskId)
s16 *data = gTasks[taskId].data;
u16 pos = gPlayerPCItemPageInfo.cursorPos + gPlayerPCItemPageInfo.itemsAbove;
if (!ItemId_GetImportance(gSaveBlock1Ptr->pcItems[pos].itemId))
if (!GetItemImportance(gSaveBlock1Ptr->pcItems[pos].itemId))
{
// Show toss confirmation prompt
u8 *end = CopyItemNameHandlePlural(gSaveBlock1Ptr->pcItems[pos].itemId, gStringVar1, tQuantity);

View File

@ -1592,7 +1592,7 @@ static u16 GetBattlerPokeballItemId(u8 battler)
enum PokeBall ItemIdToBallId(u32 ballItem)
{
enum PokeBall secondaryId = ItemId_GetSecondaryId(ballItem);
enum PokeBall secondaryId = GetItemSecondaryId(ballItem);
if (secondaryId <= BALL_STRANGE || secondaryId >= POKEBALL_COUNT)
return BALL_STRANGE;

View File

@ -704,7 +704,7 @@ static void DrawPokeblockMenuTitleText(void)
{
u8 i;
const u8 *itemName = ItemId_GetName(ITEM_POKEBLOCK_CASE);
const u8 *itemName = GetItemName(ITEM_POKEBLOCK_CASE);
PrintOnPokeblockWindow(WIN_TITLE, itemName, GetStringCenterAlignXOffset(FONT_NORMAL, itemName, 0x48));
PrintOnPokeblockWindow(WIN_SPICY, COMPOUND_STRING("SPICY"), 0);

View File

@ -3802,14 +3802,14 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov
holdEffect = 0;
#endif //FREE_ENIGMA_BERRY
else
holdEffect = ItemId_GetHoldEffect(heldItem);
holdEffect = GetItemHoldEffect(heldItem);
// Skip using the item if it won't do anything
if (ItemId_GetEffect(item) == NULL && item != ITEM_ENIGMA_BERRY_E_READER)
if (GetItemEffect(item) == NULL && item != ITEM_ENIGMA_BERRY_E_READER)
return TRUE;
// Get item effect
itemEffect = ItemId_GetEffect(item);
itemEffect = GetItemEffect(item);
// Do item effect
for (i = 0; i < ITEM_EFFECT_ARG_START; i++)
@ -3836,7 +3836,7 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov
if ((itemEffect[i] & ITEM3_LEVEL_UP)
&& GetMonData(mon, MON_DATA_LEVEL, NULL) != MAX_LEVEL)
{
u8 param = ItemId_GetHoldEffectParam(item);
u8 param = GetItemHoldEffectParam(item);
dataUnsigned = 0;
if (param == 0) // Rare Candy
@ -4255,7 +4255,7 @@ u8 GetItemEffectParamOffset(u32 battler, u16 itemId, u8 effectByte, u8 effectBit
offset = ITEM_EFFECT_ARG_START;
temp = ItemId_GetEffect(itemId);
temp = GetItemEffect(itemId);
if (temp != NULL && !temp && itemId != ITEM_ENIGMA_BERRY_E_READER)
return 0;
@ -4391,7 +4391,7 @@ u8 *UseStatIncreaseItem(u16 itemId)
}
else
{
itemEffect = ItemId_GetEffect(itemId);
itemEffect = GetItemEffect(itemId);
}
gPotentialItemEffectBattler = gBattlerInMenuId;
@ -4486,7 +4486,7 @@ u16 GetEvolutionTargetSpecies(struct Pokemon *mon, enum EvolutionMode mode, u16
partnerHoldEffect = 0;
#endif //FREE_ENIGMA_BERRY
else
partnerHoldEffect = ItemId_GetHoldEffect(partnerHeldItem);
partnerHoldEffect = GetItemHoldEffect(partnerHeldItem);
}
else
{
@ -4502,7 +4502,7 @@ u16 GetEvolutionTargetSpecies(struct Pokemon *mon, enum EvolutionMode mode, u16
holdEffect = 0;
#endif //FREE_ENIGMA_BERRY
else
holdEffect = ItemId_GetHoldEffect(heldItem);
holdEffect = GetItemHoldEffect(heldItem);
// Prevent evolution with Everstone, unless we're just viewing the party menu with an evolution item
if (holdEffect == HOLD_EFFECT_PREVENT_EVOLVE
@ -5197,7 +5197,7 @@ void AdjustFriendship(struct Pokemon *mon, u8 event)
}
else
{
holdEffect = ItemId_GetHoldEffect(heldItem);
holdEffect = GetItemHoldEffect(heldItem);
}
if (species && species != SPECIES_EGG)
@ -5277,11 +5277,11 @@ void MonGainEVs(struct Pokemon *mon, u16 defeatedSpecies)
}
else
{
holdEffect = ItemId_GetHoldEffect(heldItem);
holdEffect = GetItemHoldEffect(heldItem);
}
stat = ItemId_GetSecondaryId(heldItem);
bonus = ItemId_GetHoldEffectParam(heldItem);
stat = GetItemSecondaryId(heldItem);
bonus = GetItemHoldEffectParam(heldItem);
for (i = 0; i < NUM_STATS; i++)
{

View File

@ -7051,7 +7051,7 @@ static void SetDisplayMonData(void *pokemon, u8 mode)
txtPtr[1] = EOS;
if (sStorage->displayMonItemId != ITEM_NONE)
StringCopyPadded(sStorage->displayMonItemName, ItemId_GetName(sStorage->displayMonItemId), CHAR_SPACE, 8);
StringCopyPadded(sStorage->displayMonItemName, GetItemName(sStorage->displayMonItemId), CHAR_SPACE, 8);
else
StringFill(sStorage->displayMonItemName, CHAR_SPACE, 8);
}
@ -9077,7 +9077,7 @@ static bool8 IsMovingItem(void)
static const u8 *GetMovingItemName(void)
{
return ItemId_GetName(sStorage->movingItemId);
return GetItemName(sStorage->movingItemId);
}
static u16 GetMovingItemId(void)
@ -9262,9 +9262,9 @@ static void PrintItemDescription(void)
const u8 *description;
if (IsMovingItem())
description = ItemId_GetDescription(sStorage->movingItemId);
description = GetItemDescription(sStorage->movingItemId);
else
description = ItemId_GetDescription(sStorage->displayMonItemId);
description = GetItemDescription(sStorage->displayMonItemId);
FillWindowPixelBuffer(WIN_ITEM_DESC, PIXEL_FILL(1));
AddTextPrinterParameterized5(WIN_ITEM_DESC, FONT_NORMAL, description, 4, 0, 0, NULL, 0, 1);

View File

@ -3721,7 +3721,7 @@ static void PrintHeldItemName(void)
&& IsMultiBattle() == TRUE
&& (sMonSummaryScreen->curMonIndex == 1 || sMonSummaryScreen->curMonIndex == 4 || sMonSummaryScreen->curMonIndex == 5))
{
text = ItemId_GetName(ITEM_ENIGMA_BERRY_E_READER);
text = GetItemName(ITEM_ENIGMA_BERRY_E_READER);
}
else if (sMonSummaryScreen->summary.item == ITEM_NONE)
{

View File

@ -606,7 +606,7 @@ static void BuyMenuPrintItemDescriptionAndShowItemIcon(s32 item, bool8 onInit, s
if (item != LIST_CANCEL)
{
if (sMartInfo.martType == MART_TYPE_NORMAL)
description = ItemId_GetDescription(item);
description = GetItemDescription(item);
else
description = gDecorations[item].description;
}
@ -629,7 +629,7 @@ static void BuyMenuPrintPriceInList(u8 windowId, u32 itemId, u8 y)
{
ConvertIntToDecimalStringN(
gStringVar1,
ItemId_GetPrice(itemId) >> IsPokeNewsActive(POKENEWS_SLATEPORT),
GetItemPrice(itemId) >> IsPokeNewsActive(POKENEWS_SLATEPORT),
STR_CONV_MODE_LEFT_ALIGN,
6);
}
@ -642,7 +642,7 @@ static void BuyMenuPrintPriceInList(u8 windowId, u32 itemId, u8 y)
6);
}
if (ItemId_GetImportance(itemId) && (CheckBagHasItem(itemId, 1) || CheckPCHasItem(itemId, 1)))
if (GetItemImportance(itemId) && (CheckBagHasItem(itemId, 1) || CheckPCHasItem(itemId, 1)))
StringCopy(gStringVar4, gText_SoldOut);
else
StringExpandPlaceholders(gStringVar4, gText_PokedollarVar1);
@ -1000,11 +1000,11 @@ static void Task_BuyMenu(u8 taskId)
BuyMenuPrintCursor(tListTaskId, COLORID_GRAY_CURSOR);
if (sMartInfo.martType == MART_TYPE_NORMAL)
sShopData->totalCost = (ItemId_GetPrice(itemId) >> IsPokeNewsActive(POKENEWS_SLATEPORT));
sShopData->totalCost = (GetItemPrice(itemId) >> IsPokeNewsActive(POKENEWS_SLATEPORT));
else
sShopData->totalCost = gDecorations[itemId].price;
if (ItemId_GetImportance(itemId) && (CheckBagHasItem(itemId, 1) || CheckPCHasItem(itemId, 1)))
if (GetItemImportance(itemId) && (CheckBagHasItem(itemId, 1) || CheckPCHasItem(itemId, 1)))
BuyMenuDisplayMessage(taskId, gText_ThatItemIsSoldOut, BuyMenuReturnToItemList);
else if (!IsEnoughMoney(&gSaveBlock1Ptr->money, sShopData->totalCost))
{
@ -1015,15 +1015,15 @@ static void Task_BuyMenu(u8 taskId)
if (sMartInfo.martType == MART_TYPE_NORMAL)
{
CopyItemName(itemId, gStringVar1);
if (ItemId_GetImportance(itemId))
if (GetItemImportance(itemId))
{
ConvertIntToDecimalStringN(gStringVar2, sShopData->totalCost, STR_CONV_MODE_LEFT_ALIGN, 6);
StringExpandPlaceholders(gStringVar4, gText_YouWantedVar1ThatllBeVar2);
tItemCount = 1;
sShopData->totalCost = (ItemId_GetPrice(tItemId) >> IsPokeNewsActive(POKENEWS_SLATEPORT)) * tItemCount;
sShopData->totalCost = (GetItemPrice(tItemId) >> IsPokeNewsActive(POKENEWS_SLATEPORT)) * tItemCount;
BuyMenuDisplayMessage(taskId, gStringVar4, BuyMenuConfirmPurchase);
}
else if (ItemId_GetPocket(itemId) == POCKET_TM_HM)
else if (GetItemPocket(itemId) == POCKET_TM_HM)
{
StringCopy(gStringVar2, GetMoveName(ItemIdToBattleMoveId(itemId)));
BuyMenuDisplayMessage(taskId, gText_Var1CertainlyHowMany2, Task_BuyHowManyDialogueInit);
@ -1087,7 +1087,7 @@ static void Task_BuyHowManyDialogueHandleInput(u8 taskId)
if (AdjustQuantityAccordingToDPadInput(&tItemCount, sShopData->maxQuantity) == TRUE)
{
sShopData->totalCost = (ItemId_GetPrice(tItemId) >> IsPokeNewsActive(POKENEWS_SLATEPORT)) * tItemCount;
sShopData->totalCost = (GetItemPrice(tItemId) >> IsPokeNewsActive(POKENEWS_SLATEPORT)) * tItemCount;
BuyMenuPrintItemQuantityAndPrice(taskId);
}
else
@ -1179,7 +1179,7 @@ static void Task_ReturnToItemListAfterItemPurchase(u8 taskId)
u16 premierBallsToAdd = tItemCount / 10;
if (premierBallsToAdd >= 1
&& ((I_PREMIER_BALL_BONUS <= GEN_7 && tItemId == ITEM_POKE_BALL)
|| (I_PREMIER_BALL_BONUS >= GEN_8 && (ItemId_GetPocket(tItemId) == POCKET_POKE_BALLS))))
|| (I_PREMIER_BALL_BONUS >= GEN_8 && (GetItemPocket(tItemId) == POCKET_POKE_BALLS))))
{
u32 spaceAvailable = GetFreeSpaceForItemInBag(ITEM_PREMIER_BALL);
if (spaceAvailable < premierBallsToAdd)

View File

@ -86,7 +86,7 @@ void DrawSprayMenu(void)
if (!CheckBagHasItem(currentSpray, 1))
continue;
menuItems[count].text = ItemId_GetName(currentSpray);
menuItems[count].text = GetItemName(currentSpray);
VarSet(LOCAL_VAR_SPRAY_CONST + count, currentSpray);
if (VAR_LAST_REPEL_LURE_USED != 0)
@ -109,7 +109,7 @@ void HandleSprayMenuChoice(void)
LOCAL_VAR_SPRAY = VarGet(LOCAL_VAR_SPRAY_CONST + gSpecialVar_Result);
VarSet(VAR_REPEL_STEP_COUNT, ItemId_GetHoldEffectParam(LOCAL_VAR_SPRAY) | lureMask);
VarSet(VAR_REPEL_STEP_COUNT, GetItemHoldEffectParam(LOCAL_VAR_SPRAY) | lureMask);
if (VAR_LAST_REPEL_LURE_USED != 0)
VarSet(VAR_LAST_REPEL_LURE_USED, LOCAL_VAR_SPRAY);

View File

@ -2777,7 +2777,7 @@ static void SmartShopper_BufferPurchaseTotal(u8 varIdx, TVShow *show)
for (i = 0; i < SMARTSHOPPER_NUM_ITEMS; i++)
{
if (show->smartshopperShow.itemIds[i] != ITEM_NONE)
price += ItemId_GetPrice(show->smartshopperShow.itemIds[i]) * show->smartshopperShow.itemAmounts[i];
price += GetItemPrice(show->smartshopperShow.itemIds[i]) * show->smartshopperShow.itemAmounts[i];
}
if (show->smartshopperShow.priceReduced == TRUE)
@ -4459,7 +4459,7 @@ static void DoTVShowTodaysSmartShopper(void)
break;
case SMARTSHOPPER_STATE_CLERK_NORMAL:
TVShowConvertInternationalString(gStringVar1, show->smartshopperShow.playerName, show->smartshopperShow.language);
StringCopy(gStringVar2, ItemId_GetName(show->smartshopperShow.itemIds[0]));
StringCopy(gStringVar2, GetItemName(show->smartshopperShow.itemIds[0]));
ConvertIntToDecimalString(2, show->smartshopperShow.itemAmounts[0]);
// Pick a random comment (SMARTSHOPPER_STATE_RAND_COMMENT_#)
sTVShowState += SMARTSHOPPER_STATE_CLERK_NORMAL + (Random() % (SMARTSHOPPER_STATE_RAND_COMMENT_4 - SMARTSHOPPER_STATE_RAND_COMMENT_1 + 1));
@ -4481,7 +4481,7 @@ static void DoTVShowTodaysSmartShopper(void)
break;
case SMARTSHOPPER_STATE_SECOND_ITEM:
// Clerk describes 2nd type of item player purchased
StringCopy(gStringVar2, ItemId_GetName(show->smartshopperShow.itemIds[1]));
StringCopy(gStringVar2, GetItemName(show->smartshopperShow.itemIds[1]));
ConvertIntToDecimalString(2, show->smartshopperShow.itemAmounts[1]);
if (show->smartshopperShow.itemIds[2] != ITEM_NONE)
sTVShowState = SMARTSHOPPER_STATE_THIRD_ITEM;
@ -4492,7 +4492,7 @@ static void DoTVShowTodaysSmartShopper(void)
break;
case SMARTSHOPPER_STATE_THIRD_ITEM:
// Clerk describes 3rd type of item player purchased
StringCopy(gStringVar2, ItemId_GetName(show->smartshopperShow.itemIds[2]));
StringCopy(gStringVar2, GetItemName(show->smartshopperShow.itemIds[2]));
ConvertIntToDecimalString(2, show->smartshopperShow.itemAmounts[2]);
if (show->smartshopperShow.priceReduced == TRUE)
sTVShowState = SMARTSHOPPER_STATE_DURING_SALE;
@ -4520,7 +4520,7 @@ static void DoTVShowTodaysSmartShopper(void)
case SMARTSHOPPER_STATE_CLERK_MAX:
// Clerk's comments if player purchased maximum number of 1st item
TVShowConvertInternationalString(gStringVar1, show->smartshopperShow.playerName, show->smartshopperShow.language);
StringCopy(gStringVar2, ItemId_GetName(show->smartshopperShow.itemIds[0]));
StringCopy(gStringVar2, GetItemName(show->smartshopperShow.itemIds[0]));
if (show->smartshopperShow.priceReduced == TRUE)
sTVShowState = SMARTSHOPPER_STATE_DURING_SALE;
else
@ -4644,7 +4644,7 @@ static void DoTVShowPokemonTodaySuccessfulCapture(void)
sTVShowState = 2;
break;
case 2:
StringCopy(gStringVar2, ItemId_GetName(show->pokemonToday.ball));
StringCopy(gStringVar2, GetItemName(show->pokemonToday.ball));
ConvertIntToDecimalString(2, show->pokemonToday.nBallsUsed);
if (show->pokemonToday.nBallsUsed < 4)
sTVShowState = 3;
@ -5684,7 +5684,7 @@ static void DoTVShowHoennTreasureInvestigators(void)
switch (state)
{
case 0:
StringCopy(gStringVar1, ItemId_GetName(show->treasureInvestigators.item));
StringCopy(gStringVar1, GetItemName(show->treasureInvestigators.item));
if (show->treasureInvestigators.location == MAPSEC_DYNAMIC)
{
switch (show->treasureInvestigators.mapLayoutId)
@ -5705,13 +5705,13 @@ static void DoTVShowHoennTreasureInvestigators(void)
}
break;
case 1:
StringCopy(gStringVar1, ItemId_GetName(show->treasureInvestigators.item));
StringCopy(gStringVar1, GetItemName(show->treasureInvestigators.item));
TVShowConvertInternationalString(gStringVar2, show->treasureInvestigators.playerName, show->treasureInvestigators.language);
GetMapName(gStringVar3, show->treasureInvestigators.location, 0);
TVShowDone();
break;
case 2:
StringCopy(gStringVar1, ItemId_GetName(show->treasureInvestigators.item));
StringCopy(gStringVar1, GetItemName(show->treasureInvestigators.item));
TVShowConvertInternationalString(gStringVar2, show->treasureInvestigators.playerName, show->treasureInvestigators.language);
TVShowDone();
break;
@ -5819,7 +5819,7 @@ static void DoTVShowBreakingNewsTV(void)
break;
case 3:
ConvertIntToDecimalString(0, show->breakingNews.balls);
StringCopy(gStringVar2, ItemId_GetName(show->breakingNews.caughtMonBall));
StringCopy(gStringVar2, GetItemName(show->breakingNews.caughtMonBall));
sTVShowState = 4;
break;
case 4:
@ -5981,7 +5981,7 @@ static void DoTVShowPokemonLotteryWinnerFlashReport(void)
StringCopy(gStringVar2, gText_Second);
else
StringCopy(gStringVar2, gText_Third);
StringCopy(gStringVar3, ItemId_GetName(show->lottoWinner.item));
StringCopy(gStringVar3, GetItemName(show->lottoWinner.item));
TVShowDone();
ShowFieldMessage(sTVPokemonLotteryWinnerFlashReportTextGroup[state]);
}
@ -6665,7 +6665,7 @@ static void DoTVShowSecretBaseSecrets(void)
sTVShowState = show->secretBaseSecrets.savedState;
break;
case SBSECRETS_STATE_USED_BAG:
StringCopy(gStringVar2, ItemId_GetName(show->secretBaseSecrets.item));
StringCopy(gStringVar2, GetItemName(show->secretBaseSecrets.item));
sTVShowState = show->secretBaseSecrets.savedState;
break;
case SBSECRETS_STATE_USED_CUSHION:

Binary file not shown.

BIN
tools/patchelf/patchelf Executable file

Binary file not shown.

BIN
tools/trainerproc/trainerproc Executable file

Binary file not shown.