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:
commit
2e4833240f
@ -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);
|
||||
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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:
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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);
|
||||
}
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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)
|
||||
|
||||
@ -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();
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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;
|
||||
}
|
||||
|
||||
|
||||
1
src/data/map_group_count.h
Normal file
1
src/data/map_group_count.h
Normal 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};
|
||||
@ -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);
|
||||
|
||||
|
||||
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
66
src/item.c
66
src/item.c
@ -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)
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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())
|
||||
|
||||
@ -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)
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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++)
|
||||
{
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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)
|
||||
{
|
||||
|
||||
20
src/shop.c
20
src/shop.c
@ -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)
|
||||
|
||||
@ -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);
|
||||
|
||||
24
src/tv.c
24
src/tv.c
@ -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:
|
||||
|
||||
BIN
tools/mgba-rom-test-hydra/mgba-rom-test-hydra
Executable file
BIN
tools/mgba-rom-test-hydra/mgba-rom-test-hydra
Executable file
Binary file not shown.
BIN
tools/patchelf/patchelf
Executable file
BIN
tools/patchelf/patchelf
Executable file
Binary file not shown.
BIN
tools/trainerproc/trainerproc
Executable file
BIN
tools/trainerproc/trainerproc
Executable file
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user