mirror of
https://github.com/rh-hideout/pokeemerald-expansion.git
synced 2026-03-21 09:55:42 -05:00
Adds `Item` enum (#8897)
This commit is contained in:
parent
de7aaf854c
commit
36fcd9c6b2
|
|
@ -1,3 +1,2 @@
|
|||
.include "constants/gba_constants.inc"
|
||||
.include "constants/global.inc"
|
||||
.include "constants/tms_hms.inc"
|
||||
|
|
|
|||
|
|
@ -1,22 +0,0 @@
|
|||
#ifndef GUARD_CONSTANTS_TMS_HMS_INC
|
||||
#define GUARD_CONSTANTS_TMS_HMS_INC
|
||||
|
||||
#include "constants/tms_hms.h"
|
||||
|
||||
/* Expands to:
|
||||
* enum_start ITEM_TM01
|
||||
* enum ITEM_TM_FOCUS_PUNCH
|
||||
* ...
|
||||
* enum_start ITEM_HM01
|
||||
* enum ITEM_HM_CUT
|
||||
* ... */
|
||||
#define EQUIV_TM(id) enum ITEM_TM_ ## id;
|
||||
#define EQUIV_HM(id) enum ITEM_HM_ ## id;
|
||||
enum_start ITEM_TM01
|
||||
FOREACH_TM(EQUIV_TM)
|
||||
enum_start ITEM_HM01
|
||||
FOREACH_HM(EQUIV_HM)
|
||||
#undef EQUIV_TM
|
||||
#undef EQUIV_HM
|
||||
|
||||
#endif @ GUARD_CONSTANTS_TMS_HMS_INC
|
||||
|
|
@ -196,8 +196,8 @@ struct AI_SavedBattleMon
|
|||
struct AiPartyMon
|
||||
{
|
||||
u16 species;
|
||||
u16 item;
|
||||
u16 heldEffect;
|
||||
enum Item item;
|
||||
enum HoldEffect heldEffect;
|
||||
enum Ability ability;
|
||||
u16 level;
|
||||
enum Move moves[MAX_MON_MOVES];
|
||||
|
|
@ -226,12 +226,12 @@ struct SimulatedDamage
|
|||
struct AiLogicData
|
||||
{
|
||||
enum Ability abilities[MAX_BATTLERS_COUNT];
|
||||
u16 items[MAX_BATTLERS_COUNT];
|
||||
u16 holdEffects[MAX_BATTLERS_COUNT];
|
||||
enum Item items[MAX_BATTLERS_COUNT];
|
||||
enum HoldEffect holdEffects[MAX_BATTLERS_COUNT];
|
||||
u8 holdEffectParams[MAX_BATTLERS_COUNT];
|
||||
u16 lastUsedMove[MAX_BATTLERS_COUNT];
|
||||
enum Move lastUsedMove[MAX_BATTLERS_COUNT];
|
||||
u8 hpPercents[MAX_BATTLERS_COUNT];
|
||||
u16 partnerMove;
|
||||
enum Move partnerMove;
|
||||
u16 speedStats[MAX_BATTLERS_COUNT]; // Speed stats for all battles, calculated only once, same way as damages
|
||||
struct SimulatedDamage simulatedDmg[MAX_BATTLERS_COUNT][MAX_BATTLERS_COUNT][MAX_MON_MOVES]; // attacker, target, moveIndex
|
||||
uq4_12_t effectiveness[MAX_BATTLERS_COUNT][MAX_BATTLERS_COUNT][MAX_MON_MOVES]; // attacker, target, moveIndex
|
||||
|
|
@ -239,7 +239,7 @@ struct AiLogicData
|
|||
u8 moveLimitations[MAX_BATTLERS_COUNT];
|
||||
u8 monToSwitchInId[MAX_BATTLERS_COUNT]; // ID of the mon to switch in.
|
||||
u8 mostSuitableMonId[MAX_BATTLERS_COUNT]; // Stores result of GetMostSuitableMonToSwitchInto, which decides which generic mon the AI would switch into if they decide to switch. This can be overruled by specific mons found in ShouldSwitch; the final resulting mon is stored in AI_monToSwitchIntoId.
|
||||
u16 predictedMove[MAX_BATTLERS_COUNT];
|
||||
enum Move predictedMove[MAX_BATTLERS_COUNT];
|
||||
u8 resistBerryAffected[MAX_BATTLERS_COUNT][MAX_BATTLERS_COUNT][MAX_MON_MOVES]; // Tracks whether currently calc'd move is affected by a resist berry into given target
|
||||
|
||||
// Flags
|
||||
|
|
|
|||
|
|
@ -142,10 +142,10 @@ bool32 ShouldSetScreen(u32 battlerAtk, u32 battlerDef, enum BattleMoveEffects mo
|
|||
bool32 ShouldCureStatus(u32 battlerAtk, u32 battlerDef, struct AiLogicData *aiData);
|
||||
bool32 ShouldCureStatusWithItem(u32 battlerAtk, u32 battlerDef, struct AiLogicData *aiData);
|
||||
enum AIPivot ShouldPivot(u32 battlerAtk, u32 battlerDef, enum Move move);
|
||||
bool32 IsRecycleEncouragedItem(u32 item);
|
||||
bool32 ShouldRestoreHpBerry(u32 battlerAtk, u32 item);
|
||||
bool32 IsStatBoostingBerry(u32 item);
|
||||
bool32 CanKnockOffItem(u32 fromBattler, u32 battler, u32 item);
|
||||
bool32 IsRecycleEncouragedItem(enum Item item);
|
||||
bool32 ShouldRestoreHpBerry(u32 battlerAtk, enum Item item);
|
||||
bool32 IsStatBoostingBerry(enum Item item);
|
||||
bool32 CanKnockOffItem(u32 fromBattler, u32 battler, enum Item item);
|
||||
bool32 IsAbilityOfRating(enum Ability ability, s32 rating);
|
||||
bool32 AI_IsAbilityOnSide(u32 battlerId, enum Ability ability);
|
||||
bool32 AI_MoveMakesContact(enum Ability ability, enum HoldEffect holdEffect, enum Move move);
|
||||
|
|
|
|||
|
|
@ -319,7 +319,7 @@ void BtlController_EmitBallThrowAnim(u32 battler, u32 bufferId, u8 caseId);
|
|||
void BtlController_EmitMoveAnimation(u32 battler, u32 bufferId, enum Move move, u8 turnOfMove, u16 movePower, s32 dmg, u8 friendship, u8 multihit);
|
||||
void BtlController_EmitPrintString(u32 battler, u32 bufferId, enum StringID stringId);
|
||||
void BtlController_EmitPrintSelectionString(u32 battler, u32 bufferId, enum StringID stringId);
|
||||
void BtlController_EmitChooseAction(u32 battler, u32 bufferId, u8 action, u16 itemId);
|
||||
void BtlController_EmitChooseAction(u32 battler, u32 bufferId, u8 action, enum Item itemId);
|
||||
void BtlController_EmitYesNoBox(u32 battler, u32 bufferId);
|
||||
void BtlController_EmitChooseMove(u32 battler, u32 bufferId, bool8 isDoubleBattle, bool8 NoPpNumber, struct ChooseMoveStruct *movePpData);
|
||||
void BtlController_EmitChooseItem(u32 battler, u32 bufferId, u8 *battlePartyOrder);
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ struct StatFractions
|
|||
|
||||
struct PickupItem
|
||||
{
|
||||
u16 itemId;
|
||||
enum Item itemId;
|
||||
u8 percentage[10];
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -240,7 +240,7 @@ void HandleAction_ThrowBall(void);
|
|||
uq4_12_t CalcTypeEffectivenessMultiplierHelper(enum Move move, enum Type moveType, u32 battlerAtk, u32 battlerDef, enum Ability abilityAtk, enum Ability abilityDef, bool32 recordAbilities);
|
||||
u32 GetCurrentBattleWeather(void);
|
||||
bool32 EndOrContinueWeather(void);
|
||||
bool32 IsUnnerveBlocked(u32 battler, u32 itemId);
|
||||
bool32 IsUnnerveBlocked(u32 battler, enum Item itemId);
|
||||
bool32 IsAffectedByFollowMe(u32 battlerAtk, enum BattleSide defSide, enum Move move);
|
||||
void DetermineTarget(enum MoveTarget moveTarget, bool32 overwriteTarget);
|
||||
void HandleAction_UseMove(void);
|
||||
|
|
@ -347,7 +347,7 @@ u32 GetBattleFormChangeTargetSpecies(u32 battler, enum FormChanges method);
|
|||
bool32 TryRevertPartyMonFormChange(u32 partyIndex);
|
||||
bool32 TryBattleFormChange(u32 battler, enum FormChanges method);
|
||||
bool32 DoBattlersShareType(u32 battler1, u32 battler2);
|
||||
bool32 CanBattlerGetOrLoseItem(u32 fromBattler, u32 battler, u16 itemId);
|
||||
bool32 CanBattlerGetOrLoseItem(u32 fromBattler, u32 battler, enum Item itemId);
|
||||
u32 GetBattlerVisualSpecies(u32 battler);
|
||||
bool32 TryClearIllusion(u32 battler, enum Ability ability);
|
||||
u32 GetIllusionMonSpecies(u32 battler);
|
||||
|
|
@ -364,15 +364,15 @@ bool32 CanFling(u32 battlerAtk, u32 battlerDef);
|
|||
bool32 IsTelekinesisBannedSpecies(u16 species);
|
||||
bool32 IsHealBlockPreventingMove(u32 battler, enum Move move);
|
||||
bool32 IsBelchPreventingMove(u32 battler, enum Move move);
|
||||
bool32 HasEnoughHpToEatBerry(u32 battler, enum Ability ability, u32 hpFraction, u32 itemId);
|
||||
bool32 HasEnoughHpToEatBerry(u32 battler, enum Ability ability, u32 hpFraction, enum Item itemId);
|
||||
bool32 IsPartnerMonFromSameTrainer(u32 battler);
|
||||
enum DamageCategory GetCategoryBasedOnStats(u32 battler);
|
||||
void SetShellSideArmCategory(void);
|
||||
bool32 MoveIsAffectedBySheerForce(enum Move move);
|
||||
bool32 IsSheerForceAffected(enum Move move, enum Ability ability);
|
||||
void TryRestoreHeldItems(void);
|
||||
bool32 CanStealItem(u32 battlerStealing, u32 battlerItem, u16 item);
|
||||
void TrySaveExchangedItem(u32 battler, u16 stolenItem);
|
||||
bool32 CanStealItem(u32 battlerStealing, u32 battlerItem, enum Item item);
|
||||
void TrySaveExchangedItem(u32 battler, enum Item stolenItem);
|
||||
bool32 IsBattlerAffectedByHazards(u32 battler, enum HoldEffect holdEffect, bool32 toxicSpikes);
|
||||
void SortBattlersBySpeed(u8 *battlers, bool32 slowToFast);
|
||||
bool32 CompareStat(u32 battler, enum Stat statId, u32 cmpTo, u32 cmpKind, enum Ability ability);
|
||||
|
|
@ -450,11 +450,11 @@ void UpdateStallMons(void);
|
|||
bool32 TrySwitchInEjectPack(enum EjectPackTiming timing);
|
||||
bool32 EmergencyExitCanBeTriggered(u32 battler);
|
||||
bool32 TryTriggerSymbiosis(u32 battler, u32 ally);
|
||||
bool32 TrySymbiosis(u32 battler, u32 itemId, bool32 moveEnd);
|
||||
bool32 TrySymbiosis(u32 battler, enum Item itemId, bool32 moveEnd);
|
||||
void BestowItem(u32 battlerAtk, u32 battlerDef);
|
||||
ARM_FUNC u32 GetBattlerVolatile(u32 battler, enum Volatile _volatile);
|
||||
void SetMonVolatile(u32 battler, enum Volatile _volatile, u32 newValue);
|
||||
bool32 ItemHealMonVolatile(u32 battler, u16 itemId);
|
||||
bool32 ItemHealMonVolatile(u32 battler, enum Item itemId);
|
||||
void PushHazardTypeToQueue(enum BattleSide side, enum Hazards hazardType);
|
||||
bool32 IsHazardOnSide(enum BattleSide side, enum Hazards hazardType);
|
||||
bool32 AreAnyHazardsOnSide(enum BattleSide side);
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@
|
|||
struct SignatureZMove
|
||||
{
|
||||
u16 species;
|
||||
u16 item;
|
||||
enum Item item;
|
||||
enum Move move;
|
||||
enum Move zmove;
|
||||
};
|
||||
|
|
@ -20,7 +20,7 @@ void ActivateZMove(u32 battler);
|
|||
bool32 IsViableZMove(u32 battler, enum Move move);
|
||||
bool32 TryChangeZTrigger(u32 battler, u32 moveIndex);
|
||||
enum Move GetTypeBasedZMove(enum Move move);
|
||||
enum Move GetSignatureZMove(enum Move move, u32 species, u32 item);
|
||||
enum Move GetSignatureZMove(enum Move move, u32 species, enum Item item);
|
||||
bool32 MoveSelectionDisplayZMove(enum Move zmove, u32 battler);
|
||||
void SetZEffect(void);
|
||||
void AssignUsableZMoves(u32 battler, enum Move *moves);
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ void PlantBerryTree(u8 id, u8 berry, u8 stage, bool8 allowGrowth);
|
|||
void RemoveBerryTree(u8 id);
|
||||
u8 GetBerryTypeByBerryTreeId(u8 id);
|
||||
u8 GetStageByBerryTreeId(u8 id);
|
||||
u8 ItemIdToBerryType(u16 item);
|
||||
u8 ItemIdToBerryType(enum Item item);
|
||||
void GetBerryNameByBerryType(u8 berry, u8 *string);
|
||||
void Bag_ChooseBerry(void);
|
||||
void Bag_ChooseMulch(void);
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -116,7 +116,7 @@ struct Trainer
|
|||
{
|
||||
u64 aiFlags;
|
||||
const struct TrainerMon *party;
|
||||
u16 items[MAX_TRAINER_ITEMS];
|
||||
enum Item items[MAX_TRAINER_ITEMS];
|
||||
struct StartingStatuses startingStatus; // this trainer starts a battle with a given status. see include/constants/battle.h for values
|
||||
u8 trainerClass;
|
||||
u8 encounterMusic:7;
|
||||
|
|
|
|||
|
|
@ -312,7 +312,7 @@ struct BerryPickingResults
|
|||
|
||||
struct PyramidBag
|
||||
{
|
||||
u16 itemId[FRONTIER_LVL_MODE_COUNT][PYRAMID_BAG_ITEMS_COUNT];
|
||||
enum Item itemId[FRONTIER_LVL_MODE_COUNT][PYRAMID_BAG_ITEMS_COUNT];
|
||||
#if MAX_PYRAMID_BAG_ITEM_CAPACITY > 255
|
||||
u16 quantity[FRONTIER_LVL_MODE_COUNT][PYRAMID_BAG_ITEMS_COUNT];
|
||||
#else
|
||||
|
|
@ -331,7 +331,7 @@ struct ApprenticeMon
|
|||
{
|
||||
u16 species;
|
||||
enum Move moves[MAX_MON_MOVES];
|
||||
u16 item;
|
||||
enum Item item;
|
||||
};
|
||||
|
||||
// This is for past players Apprentices or Apprentices received via Record Mix.
|
||||
|
|
@ -670,7 +670,7 @@ struct WarpData
|
|||
|
||||
struct ItemSlot
|
||||
{
|
||||
u16 itemId;
|
||||
enum Item itemId;
|
||||
u16 quantity;
|
||||
};
|
||||
|
||||
|
|
@ -822,7 +822,7 @@ struct RecordMixingGiftData
|
|||
{
|
||||
u8 unk0;
|
||||
u8 quantity;
|
||||
u16 itemId;
|
||||
enum Item itemId;
|
||||
u8 filler4[8];
|
||||
};
|
||||
|
||||
|
|
@ -851,7 +851,7 @@ struct Mail
|
|||
/*0x12*/ u8 playerName[PLAYER_NAME_LENGTH + 1];
|
||||
/*0x1A*/ u8 trainerId[TRAINER_ID_LENGTH];
|
||||
/*0x1E*/ u16 species;
|
||||
/*0x20*/ u16 itemId;
|
||||
/*0x20*/ enum Item itemId;
|
||||
};
|
||||
|
||||
struct DaycareMail
|
||||
|
|
@ -902,7 +902,7 @@ struct LilycoveLadyFavor
|
|||
/*0x004*/ u8 playerName[PLAYER_NAME_LENGTH + 1];
|
||||
/*0x00C*/ u8 favorId;
|
||||
/*0x00D*/ //u8 padding1;
|
||||
/*0x00E*/ u16 itemId;
|
||||
/*0x00E*/ enum Item itemId;
|
||||
/*0x010*/ u16 bestItem;
|
||||
/*0x012*/ u8 language;
|
||||
/*0x013*/ //u8 padding2;
|
||||
|
|
|
|||
|
|
@ -224,7 +224,7 @@ typedef union // size = 0x24
|
|||
/*0x02*/ u8 priceReduced;
|
||||
/*0x03*/ u8 language;
|
||||
/*0x04*/ u8 filler_04[2];
|
||||
/*0x06*/ u16 itemIds[SMARTSHOPPER_NUM_ITEMS];
|
||||
/*0x06*/ enum Item itemIds[SMARTSHOPPER_NUM_ITEMS];
|
||||
/*0x0C*/ u16 itemAmounts[SMARTSHOPPER_NUM_ITEMS];
|
||||
/*0x12*/ mapsec_u8_t shopLocation;
|
||||
/*0x13*/ u8 playerName[PLAYER_NAME_LENGTH + 1];
|
||||
|
|
@ -308,7 +308,7 @@ typedef union // size = 0x24
|
|||
struct {
|
||||
/*0x00*/ u8 kind;
|
||||
/*0x01*/ bool8 active;
|
||||
/*0x02*/ u16 item;
|
||||
/*0x02*/ enum Item item;
|
||||
/*0x04*/ mapsec_u8_t location;
|
||||
/*0x05*/ u8 language;
|
||||
/*0x06*/ u16 mapLayoutId;
|
||||
|
|
@ -367,7 +367,7 @@ typedef union // size = 0x24
|
|||
struct {
|
||||
/*0x00*/ u8 kind;
|
||||
/*0x01*/ bool8 active;
|
||||
/*0x02*/ u16 item;
|
||||
/*0x02*/ enum Item item;
|
||||
/*0x04*/ u8 whichPrize;
|
||||
/*0x05*/ u8 language;
|
||||
/*0x06*/ u8 filler_06[13];
|
||||
|
|
@ -451,7 +451,7 @@ typedef union // size = 0x24
|
|||
/*0x02*/ u16 stepsInBase;
|
||||
/*0x04*/ u8 baseOwnersName[PLAYER_NAME_LENGTH + 1];
|
||||
/*0x0C*/ u32 flags;
|
||||
/*0x10*/ u16 item;
|
||||
/*0x10*/ enum Item item;
|
||||
/*0x12*/ u8 savedState;
|
||||
/*0x13*/ u8 playerName[PLAYER_NAME_LENGTH + 1];
|
||||
/*0x1B*/ u8 language;
|
||||
|
|
|
|||
|
|
@ -9,27 +9,6 @@
|
|||
#include "constants/item_effects.h"
|
||||
#include "constants/hold_effects.h"
|
||||
|
||||
/* Expands to:
|
||||
* enum
|
||||
* {
|
||||
* ITEM_TM_FOCUS_PUNCH = ITEM_TM01,
|
||||
* ...
|
||||
* ITEM_HM_CUT = ITM_HM01,
|
||||
* ...
|
||||
* }; */
|
||||
#define ENUM_TM(n, id) CAT(ITEM_TM_, id) = CAT(ITEM_TM, n),
|
||||
#define ENUM_HM(n, id) CAT(ITEM_HM_, id) = CAT(ITEM_HM, n),
|
||||
#define TO_TMHM_NUMS(a, ...) (__VA_ARGS__)
|
||||
enum TMHMItemId
|
||||
{
|
||||
RECURSIVELY(R_ZIP(ENUM_TM, TO_TMHM_NUMS NUMBERS_256, (FOREACH_TM(APPEND_COMMA))))
|
||||
RECURSIVELY(R_ZIP(ENUM_HM, TO_TMHM_NUMS NUMBERS_256, (FOREACH_HM(APPEND_COMMA))))
|
||||
};
|
||||
|
||||
#undef ENUM_TM
|
||||
#undef ENUM_HM
|
||||
#undef TO_TMHM_NUMS
|
||||
|
||||
/* Each of these TM_HM enums corresponds an index in the list of TMs + HMs item ids in
|
||||
* gTMHMItemMoveIds. The index for an item can be retrieved with GetItemTMHMIndex below.
|
||||
*/
|
||||
|
|
@ -41,7 +20,6 @@ enum TMHMIndex
|
|||
NUM_TECHNICAL_MACHINES = (0 FOREACH_TM(PLUS_ONE)),
|
||||
NUM_HIDDEN_MACHINES = (0 FOREACH_HM(PLUS_ONE)),
|
||||
};
|
||||
|
||||
#undef UNPACK_TM_HM_ENUM
|
||||
|
||||
enum PACKED ItemSortType
|
||||
|
|
@ -86,7 +64,7 @@ enum PACKED ItemSortType
|
|||
|
||||
typedef void (*ItemUseFunc)(u8);
|
||||
|
||||
struct Item
|
||||
struct ItemInfo
|
||||
{
|
||||
u32 price;
|
||||
u16 secondaryId;
|
||||
|
|
@ -117,12 +95,12 @@ struct ALIGNED(2) BagPocket
|
|||
|
||||
struct TmHmIndexKey
|
||||
{
|
||||
enum TMHMItemId itemId:16;
|
||||
enum Item itemId;
|
||||
enum Move moveId;
|
||||
};
|
||||
|
||||
extern const u8 gQuestionMarksItemName[];
|
||||
extern const struct Item gItemsInfo[];
|
||||
extern const struct ItemInfo gItemsInfo[];
|
||||
extern struct BagPocket gBagPockets[];
|
||||
extern const struct TmHmIndexKey gTMHMItemMoveIds[];
|
||||
|
||||
|
|
@ -133,7 +111,7 @@ extern const struct TmHmIndexKey gTMHMItemMoveIds[];
|
|||
#define UNPACK_TM_MOVE_TO_ITEM_ID(_move) case CAT(MOVE_, _move): return CAT(ITEM_TM_, _move);
|
||||
#define UNPACK_HM_MOVE_TO_ITEM_ID(_move) case CAT(MOVE_, _move): return CAT(ITEM_HM_, _move);
|
||||
|
||||
static inline enum TMHMIndex GetItemTMHMIndex(u16 item)
|
||||
static inline enum TMHMIndex GetItemTMHMIndex(enum Item item)
|
||||
{
|
||||
switch (item)
|
||||
{
|
||||
|
|
@ -150,7 +128,7 @@ static inline enum TMHMIndex GetItemTMHMIndex(u16 item)
|
|||
}
|
||||
}
|
||||
|
||||
static inline enum Move GetItemTMHMMoveId(u16 item)
|
||||
static inline enum Move GetItemTMHMMoveId(enum Item item)
|
||||
{
|
||||
switch (item)
|
||||
{
|
||||
|
|
@ -167,7 +145,7 @@ static inline enum Move GetItemTMHMMoveId(u16 item)
|
|||
}
|
||||
}
|
||||
|
||||
static inline enum TMHMItemId GetTMHMItemIdFromMoveId(enum Move move)
|
||||
static inline enum Item GetTMHMItemIdFromMoveId(enum Move move)
|
||||
{
|
||||
switch (move)
|
||||
{
|
||||
|
|
@ -191,7 +169,7 @@ static inline enum TMHMItemId GetTMHMItemIdFromMoveId(enum Move move)
|
|||
#undef UNPACK_TM_MOVE_TO_ITEM_ID
|
||||
#undef UNPACK_HM_MOVE_TO_ITEM_ID
|
||||
|
||||
static inline enum TMHMItemId GetTMHMItemId(enum TMHMIndex index)
|
||||
static inline enum Item GetTMHMItemId(enum TMHMIndex index)
|
||||
{
|
||||
return gTMHMItemMoveIds[index].itemId;
|
||||
}
|
||||
|
|
@ -204,7 +182,7 @@ static inline u16 GetTMHMMoveId(enum TMHMIndex index)
|
|||
void BagPocket_SetSlotData(struct BagPocket *pocket, u32 pocketPos, struct ItemSlot newSlot);
|
||||
struct ItemSlot BagPocket_GetSlotData(struct BagPocket *pocket, u32 pocketPos);
|
||||
|
||||
static inline void BagPocket_SetSlotItemIdAndCount(struct BagPocket *pocket, u32 pocketPos, u16 itemId, u16 quantity)
|
||||
static inline void BagPocket_SetSlotItemIdAndCount(struct BagPocket *pocket, u32 pocketPos, enum Item itemId, u16 quantity)
|
||||
{
|
||||
BagPocket_SetSlotData(pocket, pocketPos, (struct ItemSlot) {itemId, quantity});
|
||||
}
|
||||
|
|
@ -226,20 +204,20 @@ static inline struct ItemSlot GetBagItemIdAndQuantity(enum Pocket pocketId, u32
|
|||
|
||||
void ApplyNewEncryptionKeyToBagItems(u32 newKey);
|
||||
void SetBagItemsPointers(void);
|
||||
u8 *CopyItemName(u16 itemId, u8 *dst);
|
||||
u8 *CopyItemNameHandlePlural(u16 itemId, u8 *dst, u32 quantity);
|
||||
u8 *CopyItemName(enum Item itemId, u8 *dst);
|
||||
u8 *CopyItemNameHandlePlural(enum Item itemId, u8 *dst, u32 quantity);
|
||||
bool32 IsBagPocketNonEmpty(enum Pocket pocketId);
|
||||
bool32 CheckBagHasItem(u16 itemId, u16 count);
|
||||
bool32 CheckBagHasItem(enum Item itemId, u16 count);
|
||||
bool32 HasAtLeastOneBerry(void);
|
||||
bool32 HasAtLeastOnePokeBall(void);
|
||||
bool32 CheckBagHasSpace(u16 itemId, u16 count);
|
||||
u32 GetFreeSpaceForItemInBag(u16 itemId);
|
||||
bool32 AddBagItem(u16 itemId, u16 count);
|
||||
bool32 RemoveBagItem(u16 itemId, u16 count);
|
||||
bool32 CheckBagHasSpace(enum Item itemId, u16 count);
|
||||
u32 GetFreeSpaceForItemInBag(enum Item itemId);
|
||||
bool32 AddBagItem(enum Item itemId, u16 count);
|
||||
bool32 RemoveBagItem(enum Item itemId, u16 count);
|
||||
void RemoveBagItemFromSlot(struct BagPocket *pocket, u16 slotId, u16 count);
|
||||
u8 CountUsedPCItemSlots(void);
|
||||
bool32 CheckPCHasItem(u16 itemId, u16 count);
|
||||
bool32 AddPCItem(u16 itemId, u16 count);
|
||||
bool32 CheckPCHasItem(enum Item itemId, u16 count);
|
||||
bool32 AddPCItem(enum Item itemId, u16 count);
|
||||
void RemovePCItem(u8 index, u16 count);
|
||||
void CompactPCItems(void);
|
||||
void SwapRegisteredBike(void);
|
||||
|
|
@ -247,26 +225,26 @@ void CompactItemsInBagPocket(enum Pocket pocketId);
|
|||
void MoveItemSlotInPocket(enum Pocket pocketId, u32 from, u32 to);
|
||||
void MoveItemSlotInPC(struct ItemSlot *itemSlots, u32 from, u32 to);
|
||||
void ClearBag(void);
|
||||
u16 CountTotalItemQuantityInBag(u16 itemId);
|
||||
bool32 AddPyramidBagItem(u16 itemId, u16 count);
|
||||
bool32 RemovePyramidBagItem(u16 itemId, u16 count);
|
||||
const u8 *GetItemName(u16 itemId);
|
||||
u32 GetItemPrice(u16 itemId);
|
||||
const u8 *GetItemEffect(u32 itemId);
|
||||
enum HoldEffect GetItemHoldEffect(u32 itemId);
|
||||
u32 GetItemHoldEffectParam(u32 itemId);
|
||||
const u8 *GetItemDescription(u16 itemId);
|
||||
u8 GetItemImportance(u16 itemId);
|
||||
u8 GetItemConsumability(u16 itemId);
|
||||
enum Pocket 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);
|
||||
bool32 ItemHasVolatileFlag(u16 itemId, enum Volatile volatile);
|
||||
u32 GetItemSellPrice(u32 itemId);
|
||||
u16 CountTotalItemQuantityInBag(enum Item itemId);
|
||||
bool32 AddPyramidBagItem(enum Item itemId, u16 count);
|
||||
bool32 RemovePyramidBagItem(enum Item itemId, u16 count);
|
||||
const u8 *GetItemName(enum Item itemId);
|
||||
u32 GetItemPrice(enum Item itemId);
|
||||
const u8 *GetItemEffect(enum Item itemId);
|
||||
enum HoldEffect GetItemHoldEffect(enum Item itemId);
|
||||
u32 GetItemHoldEffectParam(enum Item itemId);
|
||||
const u8 *GetItemDescription(enum Item itemId);
|
||||
u8 GetItemImportance(enum Item itemId);
|
||||
u8 GetItemConsumability(enum Item itemId);
|
||||
enum Pocket GetItemPocket(enum Item itemId);
|
||||
u8 GetItemType(enum Item itemId);
|
||||
ItemUseFunc GetItemFieldFunc(enum Item itemId);
|
||||
u8 GetItemBattleUsage(enum Item itemId);
|
||||
u32 GetItemSecondaryId(enum Item itemId);
|
||||
u32 GetItemFlingPower(enum Item itemId);
|
||||
u32 GetItemStatus1Mask(enum Item itemId);
|
||||
bool32 ItemHasVolatileFlag(enum Item itemId, enum Volatile volatile);
|
||||
u32 GetItemSellPrice(enum Item itemId);
|
||||
bool32 IsHoldEffectChoice(enum HoldEffect holdEffect);
|
||||
|
||||
#endif // GUARD_ITEM_H
|
||||
|
|
|
|||
|
|
@ -9,9 +9,9 @@ extern const struct SpriteTemplate gItemIconSpriteTemplate;
|
|||
bool8 AllocItemIconTemporaryBuffers(void);
|
||||
void FreeItemIconTemporaryBuffers(void);
|
||||
void CopyItemIconPicTo4x4Buffer(const void *src, void *dest);
|
||||
u8 AddItemIconSprite(u16 tilesTag, u16 paletteTag, u16 itemId);
|
||||
u8 AddCustomItemIconSprite(const struct SpriteTemplate *customSpriteTemplate, u16 tilesTag, u16 paletteTag, u16 itemId);
|
||||
const void *GetItemIconPic(u16 itemId);
|
||||
const u16 *GetItemIconPalette(u16 itemId);
|
||||
u8 AddItemIconSprite(u16 tilesTag, u16 paletteTag, enum Item itemId);
|
||||
u8 AddCustomItemIconSprite(const struct SpriteTemplate *customSpriteTemplate, u16 tilesTag, u16 paletteTag, enum Item itemId);
|
||||
const void *GetItemIconPic(enum Item itemId);
|
||||
const u16 *GetItemIconPalette(enum Item itemId);
|
||||
|
||||
#endif //GUARD_ITEM_ICON_H
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ void AddBagVisualSprite(u8 bagPocketId);
|
|||
void SetBagVisualPocketId(u8 bagPocketId, bool8 isSwitchingPockets);
|
||||
void ShakeBagSprite(void);
|
||||
void AddSwitchPocketRotatingBallSprite(s16 rotationDirection);
|
||||
void AddBagItemIconSprite(u16 itemId, u8 id);
|
||||
void AddBagItemIconSprite(enum Item itemId, u8 id);
|
||||
void RemoveBagItemIconSprite(u8 id);
|
||||
void CreateItemMenuSwapLine(void);
|
||||
void SetItemMenuSwapLineInvisibility(bool8 invisible);
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@ void ItemUseInBattle_PartyMenu(u8 taskId);
|
|||
void ItemUseInBattle_PartyMenuChooseMove(u8 taskId);
|
||||
void Task_UseDigEscapeRopeOnField(u8 taskId);
|
||||
bool8 CanUseDigOrEscapeRopeOnCurMap(void);
|
||||
u8 CheckIfItemIsTMHMOrEvolutionStone(u16 itemId);
|
||||
u8 CheckIfItemIsTMHMOrEvolutionStone(enum Item itemId);
|
||||
void FieldUseFunc_VsSeeker(u8 taskId);
|
||||
void Task_ItemUse_CloseMessageBoxAndReturnToField_VsSeeker(u8 taskId);
|
||||
void DisplayDadsAdviceCannotUseItemMessage(u8 taskId, bool8 isUsingRegisteredKeyItemOnField);
|
||||
|
|
@ -61,6 +61,6 @@ enum {
|
|||
};
|
||||
|
||||
bool32 CanThrowBall(void);
|
||||
bool32 CannotUseItemsInBattle(u16 itemId, struct Pokemon *mon);
|
||||
bool32 CannotUseItemsInBattle(enum Item itemId, struct Pokemon *mon);
|
||||
|
||||
#endif // GUARD_ITEM_USE_H
|
||||
|
|
|
|||
|
|
@ -61,7 +61,7 @@ struct ListMenuTemplate
|
|||
{
|
||||
const struct ListMenuItem *items;
|
||||
void (*moveCursorFunc)(s32 itemIndex, bool8 onInit, struct ListMenu *list);
|
||||
void (*itemPrintFunc)(u8 windowId, u32 itemId, u8 y);
|
||||
void (*itemPrintFunc)(u8 windowId, u32 instanceId, u8 y);
|
||||
u32 totalItems:12;
|
||||
u32 maxShowed:12;
|
||||
u32 textNarrowWidth:8;
|
||||
|
|
|
|||
|
|
@ -23,13 +23,13 @@ void ReadMail(struct Mail *mail, MainCallback exitCallback, bool8 hasText);
|
|||
void ClearAllMail(void);
|
||||
void ClearMail(struct Mail *mail);
|
||||
bool8 MonHasMail(struct Pokemon *mon);
|
||||
u8 GiveMailToMonByItemId(struct Pokemon *mon, u16 itemId);
|
||||
u8 GiveMailToMonByItemId(struct Pokemon *mon, enum Item itemId);
|
||||
u16 SpeciesToMailSpecies(u16 species, u32 personality);
|
||||
u16 MailSpeciesToSpecies(u16 mailSpecies, u16 *buffer);
|
||||
u8 GiveMailToMon(struct Pokemon *mon, struct Mail *mail);
|
||||
void TakeMailFromMon(struct Pokemon *mon);
|
||||
void ClearMailItemId(u8 mailId);
|
||||
u8 TakeMailFromMonAndSave(struct Pokemon *mon);
|
||||
bool8 ItemIsMail(u16 itemId);
|
||||
bool8 ItemIsMail(enum Item itemId);
|
||||
|
||||
#endif // GUARD_MAIL_H
|
||||
|
|
|
|||
|
|
@ -25,8 +25,8 @@ void CreateYesNoMenuWithCallbacks(u8 taskId, const struct WindowTemplate *templa
|
|||
bool8 AdjustQuantityAccordingToDPadInput(s16 *quantity, u16 max);
|
||||
u8 GetLRKeysPressed(void);
|
||||
u8 GetLRKeysPressedAndHeld(void);
|
||||
bool8 IsHoldingItemAllowed(u16 itemId);
|
||||
bool8 IsWritingMailAllowed(u16 itemId);
|
||||
bool8 IsHoldingItemAllowed(enum Item itemId);
|
||||
bool8 IsWritingMailAllowed(enum Item itemId);
|
||||
bool8 MenuHelpers_IsLinkActive(void);
|
||||
bool8 MenuHelpers_ShouldWaitForLinkRecv(void);
|
||||
void SetItemListPerPageCount(struct ItemSlot *slots, u8 slotsCount, u8 *pageItems, u8 *totalItems, u8 maxPerPage);
|
||||
|
|
|
|||
|
|
@ -181,6 +181,6 @@ enum ItemObtainFlags
|
|||
FLAG_GET_ITEM_OBTAINED,
|
||||
FLAG_SET_ITEM_OBTAINED,
|
||||
};
|
||||
bool8 GetSetItemObtained(u16 item, enum ItemObtainFlags caseId);
|
||||
bool8 GetSetItemObtained(enum Item item, enum ItemObtainFlags caseId);
|
||||
|
||||
#endif // GUARD_OVERWORLD_H
|
||||
|
|
|
|||
|
|
@ -64,7 +64,7 @@ void ItemUseCB_ResetEVs(u8 taskId, TaskFunc task);
|
|||
void ItemUseCB_ReduceEV(u8 taskId, TaskFunc task);
|
||||
void ItemUseCB_PPRecovery(u8 taskId, TaskFunc task);
|
||||
void ItemUseCB_PPUp(u8 taskId, TaskFunc task);
|
||||
enum Move ItemIdToBattleMoveId(u16 item);
|
||||
enum Move ItemIdToBattleMoveId(enum Item item);
|
||||
bool8 MonKnowsMove(struct Pokemon *mon, enum Move move);
|
||||
bool8 BoxMonKnowsMove(struct BoxPokemon *boxMon, enum Move move);
|
||||
void ItemUseCB_TMHM(u8 taskId, TaskFunc task);
|
||||
|
|
@ -77,7 +77,7 @@ void ItemUseCB_FormChange_ConsumedOnUse(u8 taskId, TaskFunc task);
|
|||
void ItemUseCB_RotomCatalog(u8 taskId, TaskFunc task);
|
||||
void ItemUseCB_ZygardeCube(u8 taskId, TaskFunc task);
|
||||
void ItemUseCB_Fusion(u8 taskId, TaskFunc task);
|
||||
u8 GetItemEffectType(u16 item);
|
||||
u8 GetItemEffectType(enum Item item);
|
||||
void CB2_PartyMenuFromStartMenu(void);
|
||||
void CB2_ChooseMonToGiveItem(void);
|
||||
void ChooseMonToGiveMailFromMailbox(void);
|
||||
|
|
|
|||
|
|
@ -342,7 +342,7 @@ struct BattlePokemon
|
|||
/*0x06*/ u16 speed;
|
||||
/*0x08*/ u16 spAttack;
|
||||
/*0x0A*/ u16 spDefense;
|
||||
/*0x0C*/ u16 moves[MAX_MON_MOVES];
|
||||
/*0x0C*/ enum Move moves[MAX_MON_MOVES];
|
||||
/*0x14*/ u32 hpIV:5;
|
||||
/*0x14*/ u32 attackIV:5;
|
||||
/*0x15*/ u32 defenseIV:5;
|
||||
|
|
@ -358,7 +358,7 @@ struct BattlePokemon
|
|||
/*0x2B*/ u8 level;
|
||||
/*0x2C*/ u8 friendship;
|
||||
/*0x2D*/ u16 maxHP;
|
||||
/*0x2F*/ u16 item;
|
||||
/*0x2F*/ enum Item item;
|
||||
/*0x31*/ u8 nickname[POKEMON_NAME_LENGTH + 1];
|
||||
/*0x3C*/ u8 ppBonuses;
|
||||
/*0x3D*/ u8 otName[PLAYER_NAME_LENGTH + 1];
|
||||
|
|
@ -406,8 +406,8 @@ struct SpeciesInfo /*0xC4*/
|
|||
u16 evYield_SpAttack:2;
|
||||
u16 evYield_SpDefense:2;
|
||||
u16 padding2:4;
|
||||
u16 itemCommon;
|
||||
u16 itemRare;
|
||||
enum Item itemCommon;
|
||||
enum Item itemRare;
|
||||
u8 genderRatio;
|
||||
u8 eggCycles;
|
||||
u8 friendship;
|
||||
|
|
@ -638,7 +638,7 @@ enum FusionExtraMoveHandling
|
|||
struct Fusion
|
||||
{
|
||||
u16 fusionStorageIndex;
|
||||
u16 itemId;
|
||||
enum Item itemId;
|
||||
u16 targetSpecies1;
|
||||
u16 targetSpecies2;
|
||||
u16 fusingIntoMon;
|
||||
|
|
@ -807,11 +807,11 @@ void RemoveMonPPBonus(struct Pokemon *mon, u8 moveIndex);
|
|||
void RemoveBattleMonPPBonus(struct BattlePokemon *mon, u8 moveIndex);
|
||||
void PokemonToBattleMon(struct Pokemon *src, struct BattlePokemon *dst);
|
||||
void CopyPartyMonToBattleData(u32 battler, u32 partyIndex);
|
||||
bool8 ExecuteTableBasedItemEffect(struct Pokemon *mon, u16 item, u8 partyIndex, u8 moveIndex);
|
||||
bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 moveIndex, u8 usedByAI);
|
||||
bool8 ExecuteTableBasedItemEffect(struct Pokemon *mon, enum Item item, u8 partyIndex, u8 moveIndex);
|
||||
bool8 PokemonUseItemEffects(struct Pokemon *mon, enum Item item, u8 partyIndex, u8 moveIndex, u8 usedByAI);
|
||||
bool8 HealStatusConditions(struct Pokemon *mon, u32 healMask, u8 battler);
|
||||
u8 GetItemEffectParamOffset(u32 battler, u16 itemId, u8 effectByte, u8 effectBit);
|
||||
u8 *UseStatIncreaseItem(u16 itemId);
|
||||
u8 GetItemEffectParamOffset(u32 battler, enum Item itemId, u8 effectByte, u8 effectBit);
|
||||
u8 *UseStatIncreaseItem(enum Item itemId);
|
||||
u8 GetNature(struct Pokemon *mon);
|
||||
u8 GetNatureFromPersonality(u32 personality);
|
||||
u32 GetGMaxTargetSpecies(u32 species);
|
||||
|
|
|
|||
|
|
@ -1,10 +1,10 @@
|
|||
#ifndef GUARD_SCRIPT_POKEMON_UTIL_H
|
||||
#define GUARD_SCRIPT_POKEMON_UTIL_H
|
||||
|
||||
u32 ScriptGiveMon(u16 species, u8 level, u16 item);
|
||||
u32 ScriptGiveMon(u16 species, u8 level, enum Item item);
|
||||
u8 ScriptGiveEgg(u16 species);
|
||||
void CreateScriptedWildMon(u16 species, u8 level, u16 item);
|
||||
void CreateScriptedDoubleWildMon(u16 species, u8 level, u16 item, u16 species2, u8 level2, u16 item2);
|
||||
void CreateScriptedWildMon(u16 species, u8 level, enum Item item);
|
||||
void CreateScriptedDoubleWildMon(u16 species, u8 level, enum Item item, u16 species2, u8 level2, enum Item item2);
|
||||
void ScriptSetMonMoveSlot(u8 monIndex, enum Move move, u8 slot);
|
||||
void ReducePlayerPartyToSelectedMons(void);
|
||||
void HealPlayerParty(void);
|
||||
|
|
|
|||
|
|
@ -1194,7 +1194,7 @@ struct MoveContext
|
|||
|
||||
struct ItemContext
|
||||
{
|
||||
u16 itemId;
|
||||
enum Item itemId;
|
||||
u16 explicitItemId:1;
|
||||
u16 partyIndex;
|
||||
u16 explicitPartyIndex:1;
|
||||
|
|
|
|||
|
|
@ -28,14 +28,14 @@ void ObjectEventInteractionPickApricornTree(void)
|
|||
{
|
||||
u32 id = GetObjectEventApricornTreeId(gSelectedObjectEvent);
|
||||
enum ApricornType apricorn = GetApricornTypeByApricornTreeId(id);
|
||||
gSpecialVar_0x8006 = CheckBagHasSpace(apricorn, GetApricornCountByApricornTreeId(id));
|
||||
gSpecialVar_0x8006 = CheckBagHasSpace((enum Item)apricorn, GetApricornCountByApricornTreeId(id));
|
||||
|
||||
if (gSpecialVar_0x8006)
|
||||
{
|
||||
AddBagItem(apricorn, GetApricornCountByApricornTreeId(id));
|
||||
AddBagItem((enum Item)apricorn, GetApricornCountByApricornTreeId(id));
|
||||
SetApricornTreePicked(id);
|
||||
}
|
||||
gSpecialVar_Result = GetItemPocket(apricorn);
|
||||
gSpecialVar_Result = GetItemPocket((enum Item)apricorn);
|
||||
}
|
||||
|
||||
enum ApricornType GetApricornTypeByApricornTreeId(u32 id)
|
||||
|
|
|
|||
|
|
@ -58,7 +58,7 @@ bool32 ShouldUseItem(u32 battler)
|
|||
|
||||
for (u32 itemIndex = 0; itemIndex < MAX_TRAINER_ITEMS; itemIndex++)
|
||||
{
|
||||
u16 item;
|
||||
enum Item item;
|
||||
const u8 *itemEffects;
|
||||
u8 battlerSide;
|
||||
|
||||
|
|
|
|||
|
|
@ -5160,7 +5160,7 @@ static s32 AI_CalcMoveEffectScore(u32 battlerAtk, u32 battlerDef, enum Move move
|
|||
ADJUST_SCORE(WEAK_EFFECT);
|
||||
if (aiData->abilities[battlerAtk] == ABILITY_RIPEN)
|
||||
{
|
||||
u32 item = GetBattlerPartyState(battlerAtk)->usedHeldItem;
|
||||
enum Item item = GetBattlerPartyState(battlerAtk)->usedHeldItem;
|
||||
u32 toHeal = (GetItemHoldEffectParam(item) == 10) ? 10 : gBattleMons[battlerAtk].maxHP / GetItemHoldEffectParam(item);
|
||||
|
||||
if (IsStatBoostingBerry(item) && aiData->hpPercents[battlerAtk] > 60)
|
||||
|
|
|
|||
|
|
@ -1612,7 +1612,7 @@ static u32 GetSwitchinRecurringDamage(u32 battler)
|
|||
static u32 GetSwitchinStatusDamage(u32 battler)
|
||||
{
|
||||
u8 tSpikesLayers = gSideTimers[GetBattlerSide(battler)].toxicSpikesAmount;
|
||||
u16 heldItemEffect = gAiLogicData->holdEffects[battler];
|
||||
enum HoldEffect heldItemEffect = gAiLogicData->holdEffects[battler];
|
||||
u32 status = gBattleMons[battler].status1;
|
||||
enum Ability ability = gAiLogicData->abilities[battler];
|
||||
u32 maxHP = gBattleMons[battler].maxHP;
|
||||
|
|
|
|||
|
|
@ -3481,7 +3481,7 @@ enum AIPivot ShouldPivot(u32 battlerAtk, u32 battlerDef, enum Move move)
|
|||
#define BATTLE_TYPE_CANT_KNOCK_OFF (BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_FRONTIER | BATTLE_TYPE_LINK \
|
||||
| BATTLE_TYPE_RECORDED_LINK | BATTLE_TYPE_SECRET_BASE \
|
||||
| (B_TRAINERS_KNOCK_OFF_ITEMS == TRUE ? BATTLE_TYPE_TRAINER : 0))
|
||||
bool32 CanKnockOffItem(u32 fromBattler, u32 battler, u32 item)
|
||||
bool32 CanKnockOffItem(u32 fromBattler, u32 battler, enum Item item)
|
||||
{
|
||||
if (item == ITEM_NONE)
|
||||
return FALSE;
|
||||
|
|
@ -4634,7 +4634,7 @@ static const u16 sRecycleEncouragedItems[] =
|
|||
};
|
||||
|
||||
// Its assumed that the berry is strategically given, so no need to check benefits of the berry
|
||||
bool32 IsStatBoostingBerry(u32 item)
|
||||
bool32 IsStatBoostingBerry(enum Item item)
|
||||
{
|
||||
switch (item)
|
||||
{
|
||||
|
|
@ -4652,7 +4652,7 @@ bool32 IsStatBoostingBerry(u32 item)
|
|||
}
|
||||
}
|
||||
|
||||
bool32 ShouldRestoreHpBerry(u32 battlerAtk, u32 item)
|
||||
bool32 ShouldRestoreHpBerry(u32 battlerAtk, enum Item item)
|
||||
{
|
||||
switch (item)
|
||||
{
|
||||
|
|
@ -4672,7 +4672,7 @@ bool32 ShouldRestoreHpBerry(u32 battlerAtk, u32 item)
|
|||
}
|
||||
}
|
||||
|
||||
bool32 IsRecycleEncouragedItem(u32 item)
|
||||
bool32 IsRecycleEncouragedItem(enum Item item)
|
||||
{
|
||||
for (u32 recycleIndex = 0; recycleIndex < ARRAY_COUNT(sRecycleEncouragedItems); recycleIndex++)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -231,7 +231,7 @@ static u32 GetNextBall(u32 ballId)
|
|||
|
||||
static void HandleInputChooseAction(u32 battler)
|
||||
{
|
||||
u16 itemId = gBattleResources->bufferA[battler][2] | (gBattleResources->bufferA[battler][3] << 8);
|
||||
enum Item itemId = gBattleResources->bufferA[battler][2] | (gBattleResources->bufferA[battler][3] << 8);
|
||||
|
||||
DoBounceEffect(battler, BOUNCE_HEALTHBOX, 7, 1);
|
||||
DoBounceEffect(battler, BOUNCE_MON, 7, 1);
|
||||
|
|
|
|||
|
|
@ -1050,7 +1050,7 @@ void BtlController_EmitPrintSelectionString(u32 battler, u32 bufferId, enum Stri
|
|||
}
|
||||
|
||||
// itemId only relevant for B_ACTION_USE_ITEM
|
||||
void BtlController_EmitChooseAction(u32 battler, u32 bufferId, u8 action, u16 itemId)
|
||||
void BtlController_EmitChooseAction(u32 battler, u32 bufferId, u8 action, enum Item itemId)
|
||||
{
|
||||
gBattleResources->transferBuffer[0] = CONTROLLER_CHOOSEACTION;
|
||||
gBattleResources->transferBuffer[1] = action;
|
||||
|
|
|
|||
|
|
@ -921,7 +921,7 @@ static void PutAiInfoText(struct BattleDebugMenu *data)
|
|||
{
|
||||
enum Ability ability = gAiLogicData->abilities[i];
|
||||
enum HoldEffect holdEffect = gAiLogicData->holdEffects[i];
|
||||
u16 item = gAiLogicData->items[i];
|
||||
enum Item item = gAiLogicData->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, GetItemName(item), x, 15, 0, NULL);
|
||||
|
|
|
|||
|
|
@ -5685,7 +5685,7 @@ static void RestoreDomePlayerPartyHeldItems(void)
|
|||
for (i = 0; i < DOME_BATTLE_PARTY_SIZE; i++)
|
||||
{
|
||||
int playerMonId = gSaveBlock2Ptr->frontier.selectedPartyMons[gSelectedOrderFromParty[i] - 1] - 1;
|
||||
u16 item = GetMonData(GetSavedPlayerPartyMon(playerMonId), MON_DATA_HELD_ITEM);
|
||||
enum Item item = GetMonData(GetSavedPlayerPartyMon(playerMonId), MON_DATA_HELD_ITEM);
|
||||
SetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM, &item);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -101,7 +101,7 @@ enum ItemEffect TryHandleSeed(u32 battler, u32 terrainFlag, enum Stat statId)
|
|||
return ITEM_NO_EFFECT;
|
||||
}
|
||||
|
||||
static enum ItemEffect TryTerrainSeeds(u32 battler, u32 item)
|
||||
static enum ItemEffect TryTerrainSeeds(u32 battler, enum Item item)
|
||||
{
|
||||
enum ItemEffect effect = ITEM_NO_EFFECT;
|
||||
|
||||
|
|
@ -184,7 +184,7 @@ static enum ItemEffect TryConsumeMirrorHerb(u32 battler)
|
|||
return effect;
|
||||
}
|
||||
|
||||
static enum ItemEffect TryKingsRock(u32 battlerAtk, u32 battlerDef, u32 item)
|
||||
static enum ItemEffect TryKingsRock(u32 battlerAtk, u32 battlerDef, enum Item item)
|
||||
{
|
||||
enum ItemEffect effect = ITEM_NO_EFFECT;
|
||||
|
||||
|
|
@ -232,7 +232,7 @@ static enum ItemEffect TryAirBalloon(u32 battler, ActivationTiming timing)
|
|||
return effect;
|
||||
}
|
||||
|
||||
static enum ItemEffect TryRockyHelmet(u32 battlerDef, u32 battlerAtk, u32 item)
|
||||
static enum ItemEffect TryRockyHelmet(u32 battlerDef, u32 battlerAtk, enum Item item)
|
||||
{
|
||||
enum ItemEffect effect = ITEM_NO_EFFECT;
|
||||
enum Ability ability = GetBattlerAbility(battlerAtk);
|
||||
|
|
@ -330,7 +330,7 @@ static enum ItemEffect TryAbsorbBulb(u32 battlerDef)
|
|||
return effect;
|
||||
}
|
||||
|
||||
static enum ItemEffect TryJabocaBerry(u32 battlerDef, u32 battlerAtk, u32 item)
|
||||
static enum ItemEffect TryJabocaBerry(u32 battlerDef, u32 battlerAtk, enum Item item)
|
||||
{
|
||||
enum ItemEffect effect = ITEM_NO_EFFECT;
|
||||
|
||||
|
|
@ -352,7 +352,7 @@ static enum ItemEffect TryJabocaBerry(u32 battlerDef, u32 battlerAtk, u32 item)
|
|||
return effect;
|
||||
}
|
||||
|
||||
static enum ItemEffect TryRowapBerry(u32 battlerDef, u32 battlerAtk, u32 item)
|
||||
static enum ItemEffect TryRowapBerry(u32 battlerDef, u32 battlerAtk, enum Item item)
|
||||
{
|
||||
enum ItemEffect effect = ITEM_NO_EFFECT;
|
||||
|
||||
|
|
@ -557,7 +557,7 @@ static enum ItemEffect TryLifeOrb(u32 battlerAtk)
|
|||
return effect;
|
||||
}
|
||||
|
||||
static enum ItemEffect TryStickyBarbOnTargetHit(u32 battlerDef, u32 battlerAtk, u32 item)
|
||||
static enum ItemEffect TryStickyBarbOnTargetHit(u32 battlerDef, u32 battlerAtk, enum Item item)
|
||||
{
|
||||
enum ItemEffect effect = ITEM_NO_EFFECT;
|
||||
|
||||
|
|
@ -578,7 +578,7 @@ static enum ItemEffect TryStickyBarbOnTargetHit(u32 battlerDef, u32 battlerAtk,
|
|||
return effect;
|
||||
}
|
||||
|
||||
static enum ItemEffect TryStickyBarbOnEndTurn(u32 battler, u32 item)
|
||||
static enum ItemEffect TryStickyBarbOnEndTurn(u32 battler, enum Item item)
|
||||
{
|
||||
enum ItemEffect effect = ITEM_NO_EFFECT;
|
||||
|
||||
|
|
@ -811,7 +811,7 @@ enum HealAmount
|
|||
PERCENT_HEAL_AMOUNT,
|
||||
};
|
||||
|
||||
static u32 ItemHealHp(u32 battler, u32 itemId, enum HealAmount percentHeal)
|
||||
static u32 ItemHealHp(u32 battler, enum Item itemId, enum HealAmount percentHeal)
|
||||
{
|
||||
enum ItemEffect effect = ITEM_NO_EFFECT;
|
||||
enum Ability ability = GetBattlerAbility(battler);
|
||||
|
|
@ -837,7 +837,7 @@ static u32 ItemHealHp(u32 battler, u32 itemId, enum HealAmount percentHeal)
|
|||
return effect;
|
||||
}
|
||||
|
||||
static u32 ItemRestorePp(u32 battler, u32 itemId)
|
||||
static u32 ItemRestorePp(u32 battler, enum Item itemId)
|
||||
{
|
||||
enum ItemEffect effect = ITEM_NO_EFFECT;
|
||||
struct Pokemon *mon = GetBattlerMon(battler);
|
||||
|
|
@ -877,7 +877,7 @@ static u32 ItemRestorePp(u32 battler, u32 itemId)
|
|||
return effect;
|
||||
}
|
||||
|
||||
static enum ItemEffect HealConfuseBerry(u32 battler, u32 itemId, u32 flavorId)
|
||||
static enum ItemEffect HealConfuseBerry(u32 battler, enum Item itemId, u32 flavorId)
|
||||
{
|
||||
enum ItemEffect effect = ITEM_NO_EFFECT;
|
||||
u32 hpFraction = B_CONFUSE_BERRIES_HEAL >= GEN_7 ? 4 : 2;
|
||||
|
|
@ -900,7 +900,7 @@ static enum ItemEffect HealConfuseBerry(u32 battler, u32 itemId, u32 flavorId)
|
|||
return effect;
|
||||
}
|
||||
|
||||
static enum ItemEffect StatRaiseBerry(u32 battler, u32 itemId, enum Stat statId)
|
||||
static enum ItemEffect StatRaiseBerry(u32 battler, enum Item itemId, enum Stat statId)
|
||||
{
|
||||
enum ItemEffect effect = ITEM_NO_EFFECT;
|
||||
enum Ability ability = GetBattlerAbility(battler);
|
||||
|
|
@ -919,7 +919,7 @@ static enum ItemEffect StatRaiseBerry(u32 battler, u32 itemId, enum Stat statId)
|
|||
return effect;
|
||||
}
|
||||
|
||||
static enum ItemEffect CriticalHitRatioUp(u32 battler, u32 itemId)
|
||||
static enum ItemEffect CriticalHitRatioUp(u32 battler, enum Item itemId)
|
||||
{
|
||||
enum ItemEffect effect = ITEM_NO_EFFECT;
|
||||
|
||||
|
|
@ -935,7 +935,7 @@ static enum ItemEffect CriticalHitRatioUp(u32 battler, u32 itemId)
|
|||
return effect;
|
||||
}
|
||||
|
||||
static enum ItemEffect RandomStatRaiseBerry(u32 battler, u32 itemId)
|
||||
static enum ItemEffect RandomStatRaiseBerry(u32 battler, enum Item itemId)
|
||||
{
|
||||
enum ItemEffect effect = ITEM_NO_EFFECT;
|
||||
enum Stat stat;
|
||||
|
|
@ -973,7 +973,7 @@ static enum ItemEffect RandomStatRaiseBerry(u32 battler, u32 itemId)
|
|||
return effect;
|
||||
}
|
||||
|
||||
static enum ItemEffect TrySetMicleBerry(u32 battler, u32 itemId)
|
||||
static enum ItemEffect TrySetMicleBerry(u32 battler, enum Item itemId)
|
||||
{
|
||||
enum ItemEffect effect = ITEM_NO_EFFECT;
|
||||
|
||||
|
|
@ -989,7 +989,7 @@ static enum ItemEffect TrySetMicleBerry(u32 battler, u32 itemId)
|
|||
enum ItemEffect ItemBattleEffects(u32 itemBattler, u32 battler, enum HoldEffect holdEffect, ActivationTiming timing)
|
||||
{
|
||||
enum ItemEffect effect = ITEM_NO_EFFECT;
|
||||
u32 item;
|
||||
enum Item item;
|
||||
|
||||
if (timing == IsOnBerryActivation || timing == IsOnFlingActivation)
|
||||
item = gLastUsedItem;
|
||||
|
|
|
|||
|
|
@ -1549,7 +1549,7 @@ static enum MoveEndResult MoveEnd_ThirdMoveBlock(void)
|
|||
case EFFECT_NATURAL_GIFT:
|
||||
if (!gBattleStruct->unableToUseMove && GetItemPocket(gBattleMons[gBattlerAttacker].item) == POCKET_BERRIES)
|
||||
{
|
||||
u32 item = gBattleMons[gBattlerAttacker].item;
|
||||
enum Item item = gBattleMons[gBattlerAttacker].item;
|
||||
gBattleMons[gBattlerAttacker].item = ITEM_NONE;
|
||||
gBattleStruct->battlerState[gBattlerAttacker].canPickupItem = TRUE;
|
||||
GetBattlerPartyState(gBattlerAttacker)->usedHeldItem = item;
|
||||
|
|
|
|||
|
|
@ -1180,7 +1180,7 @@ static void UpdatePyramidLightRadius(void)
|
|||
static void ClearPyramidPartyHeldItems(void)
|
||||
{
|
||||
int i, j;
|
||||
u16 item = 0;
|
||||
enum Item item = ITEM_NONE;
|
||||
|
||||
for (i = 0; i < PARTY_SIZE; i++)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -82,8 +82,8 @@ static void ShowNumToToss(void);
|
|||
static void CloseBattlePyramidBagTextWindow(void);
|
||||
static bool8 LoadPyramidBagGfx(void);
|
||||
static bool8 LoadPyramidBagMenu(void);
|
||||
static void ShowItemIcon(u16, u8);
|
||||
static void CopyBagItemName(u8 *, u16);
|
||||
static void ShowItemIcon(enum Item itemId, bool8 isAlt);
|
||||
static void CopyBagItemName(u8 *dst, enum Item itemId);
|
||||
static void FreeItemIconSpriteByAltId(u8);
|
||||
static void PrintItemDescription(s32);
|
||||
static void PrintSelectorArrowAtPos(u8, u8);
|
||||
|
|
@ -615,7 +615,7 @@ static void SetBagItemsListTemplate(void)
|
|||
gMultiuseListMenuTemplate.maxShowed = gPyramidBagMenu->listMenuMaxShown;
|
||||
}
|
||||
|
||||
static void CopyBagItemName(u8 *dst, u16 itemId)
|
||||
static void CopyBagItemName(u8 *dst, enum Item itemId)
|
||||
{
|
||||
if (GetItemPocket(itemId) == POCKET_BERRIES)
|
||||
{
|
||||
|
|
@ -1587,7 +1587,7 @@ static void SpriteCB_BagWaitForShake(struct Sprite *sprite)
|
|||
}
|
||||
}
|
||||
|
||||
static void ShowItemIcon(u16 itemId, bool8 isAlt)
|
||||
static void ShowItemIcon(enum Item itemId, bool8 isAlt)
|
||||
{
|
||||
u8 itemSpriteId;
|
||||
u8 *spriteId = &gPyramidBagMenu->spriteIds[isAlt + PBAG_SPRITE_ITEM_ICON];
|
||||
|
|
|
|||
|
|
@ -2327,7 +2327,7 @@ void StealTargetItem(u8 battlerStealer, u8 itemBattler)
|
|||
MarkBattlerForControllerExec(battlerStealer);
|
||||
}
|
||||
|
||||
RecordItemEffectBattle(itemBattler, ITEM_NONE);
|
||||
RecordItemEffectBattle(itemBattler, HOLD_EFFECT_NONE);
|
||||
CheckSetUnburden(itemBattler);
|
||||
|
||||
BtlController_EmitSetMonData(itemBattler, B_COMM_TO_CONTROLLER, REQUEST_HELDITEM_BATTLE, 0, sizeof(gBattleMons[itemBattler].item), &gBattleMons[itemBattler].item); // remove target item
|
||||
|
|
@ -4071,7 +4071,7 @@ static bool32 BattleTypeAllowsExp(void)
|
|||
static u32 GetMonHoldEffect(struct Pokemon *mon)
|
||||
{
|
||||
enum HoldEffect holdEffect;
|
||||
u32 item = GetMonData(mon, MON_DATA_HELD_ITEM);
|
||||
enum Item item = GetMonData(mon, MON_DATA_HELD_ITEM);
|
||||
|
||||
if (item == ITEM_ENIGMA_BERRY_E_READER)
|
||||
#if FREE_ENIGMA_BERRY == FALSE
|
||||
|
|
@ -6470,7 +6470,7 @@ static void Cmd_setgravity(void)
|
|||
}
|
||||
}
|
||||
|
||||
static bool32 TryCheekPouch(u32 battler, u32 itemId, const u8 *nextInstr)
|
||||
static bool32 TryCheekPouch(u32 battler, enum Item itemId, const u8 *nextInstr)
|
||||
{
|
||||
if (GetItemPocket(itemId) == POCKET_BERRIES
|
||||
&& GetBattlerAbility(battler) == ABILITY_CHEEK_POUCH
|
||||
|
|
@ -6492,7 +6492,7 @@ static void Cmd_removeitem(void)
|
|||
CMD_ARGS(u8 battler);
|
||||
|
||||
u32 battler;
|
||||
u16 itemId = 0;
|
||||
enum Item itemId = 0;
|
||||
|
||||
if (gBattleScripting.overrideBerryRequirements)
|
||||
{
|
||||
|
|
@ -11999,7 +11999,7 @@ void BS_CheckParentalBondCounter(void)
|
|||
void BS_JumpIfCantLoseItem(void)
|
||||
{
|
||||
NATIVE_ARGS(const u8 *jumpInstr);
|
||||
u32 item = gBattleMons[gBattlerTarget].item;
|
||||
enum Item item = gBattleMons[gBattlerTarget].item;
|
||||
|
||||
if (item == ITEM_NONE || !CanBattlerGetOrLoseItem(gBattlerTarget, gBattlerAttacker, item))
|
||||
gBattlescriptCurrInstr = cmd->jumpInstr;
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ static void HandleSpecialTrainerBattleEnd(void)
|
|||
case SPECIAL_BATTLE_SECRET_BASE:
|
||||
for (i = 0; i < PARTY_SIZE; i++)
|
||||
{
|
||||
u16 itemBefore = GetMonData(&gSaveBlock1Ptr->playerParty[i], MON_DATA_HELD_ITEM);
|
||||
enum Item itemBefore = GetMonData(&gSaveBlock1Ptr->playerParty[i], MON_DATA_HELD_ITEM);
|
||||
SetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM, &itemBefore);
|
||||
}
|
||||
break;
|
||||
|
|
@ -76,7 +76,7 @@ void DoSpecialTrainerBattle(void)
|
|||
case SPECIAL_BATTLE_SECRET_BASE:
|
||||
for (i = 0; i < PARTY_SIZE; i++)
|
||||
{
|
||||
u16 itemBefore = GetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM);
|
||||
enum Item itemBefore = GetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM);
|
||||
SetMonData(&gSaveBlock1Ptr->playerParty[i], MON_DATA_HELD_ITEM, &itemBefore);
|
||||
}
|
||||
CreateTask(Task_StartBattleAfterTransition, 1);
|
||||
|
|
|
|||
|
|
@ -55,7 +55,7 @@
|
|||
|
||||
static bool32 TryRemoveScreens(u32 battler);
|
||||
static bool32 IsUnnerveAbilityOnOpposingSide(u32 battler);
|
||||
static u32 GetFlingPowerFromItemId(u32 itemId);
|
||||
static u32 GetFlingPowerFromItemId(enum Item itemId);
|
||||
static void SetRandomMultiHitCounter();
|
||||
static bool32 IsNonVolatileStatusBlocked(u32 battlerDef, enum Ability abilityDef, bool32 abilityAffected, const u8 *battleScript, enum ResultOption option);
|
||||
static bool32 CanSleepDueToSleepClause(u32 battlerAtk, u32 battlerDef, enum ResultOption option);
|
||||
|
|
@ -341,7 +341,7 @@ static bool32 ShouldTeraShellDistortTypeMatchups(enum Move move, u32 battlerDef,
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
bool32 IsUnnerveBlocked(u32 battler, u32 itemId)
|
||||
bool32 IsUnnerveBlocked(u32 battler, enum Item itemId)
|
||||
{
|
||||
if (GetItemPocket(itemId) != POCKET_BERRIES)
|
||||
return FALSE;
|
||||
|
|
@ -7235,7 +7235,7 @@ bool32 CanBeConfused(u32 battler)
|
|||
}
|
||||
|
||||
// second argument is 1/X of current hp compared to max hp
|
||||
bool32 HasEnoughHpToEatBerry(u32 battler, enum Ability ability, u32 hpFraction, u32 itemId)
|
||||
bool32 HasEnoughHpToEatBerry(u32 battler, enum Ability ability, u32 hpFraction, enum Item itemId)
|
||||
{
|
||||
if (!IsBattlerAlive(battler))
|
||||
return FALSE;
|
||||
|
|
@ -10540,7 +10540,7 @@ bool32 DoBattlersShareType(u32 battler1, u32 battler2)
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
bool32 CanBattlerGetOrLoseItem(u32 fromBattler, u32 battler, u16 itemId)
|
||||
bool32 CanBattlerGetOrLoseItem(u32 fromBattler, u32 battler, enum Item itemId)
|
||||
{
|
||||
u16 species = gBattleMons[fromBattler].species;
|
||||
enum HoldEffect holdEffect = GetItemHoldEffect(itemId); // Raw hold effect
|
||||
|
|
@ -10878,7 +10878,7 @@ enum DamageCategory GetCategoryBasedOnStats(u32 battler)
|
|||
return DAMAGE_CATEGORY_PHYSICAL;
|
||||
}
|
||||
|
||||
static u32 GetFlingPowerFromItemId(u32 itemId)
|
||||
static u32 GetFlingPowerFromItemId(enum Item itemId)
|
||||
{
|
||||
if (gItemsInfo[itemId].pocket == POCKET_TM_HM)
|
||||
{
|
||||
|
|
@ -10893,7 +10893,7 @@ static u32 GetFlingPowerFromItemId(u32 itemId)
|
|||
|
||||
bool32 CanFling(u32 battlerAtk, u32 battlerDef)
|
||||
{
|
||||
u16 item = gBattleMons[battlerAtk].item;
|
||||
enum Item item = gBattleMons[battlerAtk].item;
|
||||
|
||||
if (item == ITEM_NONE
|
||||
|| (GetConfig(CONFIG_KLUTZ_FLING_INTERACTION) >= GEN_5 && GetBattlerAbility(battlerAtk) == ABILITY_KLUTZ)
|
||||
|
|
@ -10972,7 +10972,7 @@ void TryRestoreHeldItems(void)
|
|||
}
|
||||
}
|
||||
|
||||
bool32 CanStealItem(u32 battlerStealing, u32 battlerItem, u16 item)
|
||||
bool32 CanStealItem(u32 battlerStealing, u32 battlerItem, enum Item item)
|
||||
{
|
||||
enum BattleSide stealerSide = GetBattlerSide(battlerStealing);
|
||||
|
||||
|
|
@ -11007,14 +11007,14 @@ bool32 CanStealItem(u32 battlerStealing, u32 battlerItem, u16 item)
|
|||
if (GetItemHoldEffect(item) == HOLD_EFFECT_AIR_BALLOON)
|
||||
return FALSE;
|
||||
|
||||
if (!CanBattlerGetOrLoseItem(battlerItem, battlerStealing, item) // Battler with item cannot have it stolen
|
||||
if (!CanBattlerGetOrLoseItem(battlerItem, battlerStealing, item) // Battler with item cannot have it stolen
|
||||
|| !CanBattlerGetOrLoseItem(battlerStealing, battlerItem, item)) // Stealer cannot take the item
|
||||
return FALSE;
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
void TrySaveExchangedItem(u32 battler, u16 stolenItem)
|
||||
void TrySaveExchangedItem(u32 battler, enum Item stolenItem)
|
||||
{
|
||||
// Because BtlController_EmitSetMonData does SetMonData, we need to save the stolen item only if it matches the battler's original
|
||||
// So, if the player steals an item during battle and has it stolen from it, it will not end the battle with it (naturally)
|
||||
|
|
@ -11804,7 +11804,7 @@ bool32 TryTriggerSymbiosis(u32 battler, u32 ally)
|
|||
}
|
||||
|
||||
// Called by Cmd_removeitem. itemId represents the item that was removed, not being given.
|
||||
bool32 TrySymbiosis(u32 battler, u32 itemId, bool32 moveEnd)
|
||||
bool32 TrySymbiosis(u32 battler, enum Item itemId, bool32 moveEnd)
|
||||
{
|
||||
if (!gBattleStruct->itemLost[B_SIDE_PLAYER][gBattlerPartyIndexes[battler]].stolen
|
||||
&& gBattleStruct->changedItems[battler] == ITEM_NONE
|
||||
|
|
@ -11883,7 +11883,7 @@ void SetMonVolatile(u32 battler, enum Volatile _volatile, u32 newValue)
|
|||
}
|
||||
}
|
||||
|
||||
bool32 ItemHealMonVolatile(u32 battler, u16 itemId)
|
||||
bool32 ItemHealMonVolatile(u32 battler, enum Item itemId)
|
||||
{
|
||||
bool32 statusChanged = FALSE;
|
||||
const u8 *effect = GetItemEffect(itemId);
|
||||
|
|
|
|||
|
|
@ -142,7 +142,7 @@ bool32 CanUseZMove(u32 battler)
|
|||
|
||||
enum Move GetUsableZMove(u32 battler, enum Move move)
|
||||
{
|
||||
u32 item = gBattleMons[battler].item;
|
||||
enum Item item = gBattleMons[battler].item;
|
||||
enum HoldEffect holdEffect = GetBattlerHoldEffectIgnoreNegation(battler);
|
||||
|
||||
if (holdEffect == HOLD_EFFECT_Z_CRYSTAL)
|
||||
|
|
@ -165,7 +165,7 @@ void ActivateZMove(u32 battler)
|
|||
|
||||
bool32 IsViableZMove(u32 battler, enum Move move)
|
||||
{
|
||||
u32 item;
|
||||
enum Item item;
|
||||
enum HoldEffect holdEffect = GetBattlerHoldEffectIgnoreNegation(battler);
|
||||
int moveSlotIndex;
|
||||
|
||||
|
|
@ -226,7 +226,7 @@ bool32 TryChangeZTrigger(u32 battler, u32 moveIndex)
|
|||
return viableZMove;
|
||||
}
|
||||
|
||||
enum Move GetSignatureZMove(enum Move move, u32 species, u32 item)
|
||||
enum Move GetSignatureZMove(enum Move move, u32 species, enum Item item)
|
||||
{
|
||||
u32 i;
|
||||
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@
|
|||
#include "constants/event_object_movement.h"
|
||||
#include "constants/items.h"
|
||||
|
||||
static u16 BerryTypeToItemId(u16 berry);
|
||||
static enum Item BerryTypeToItemId(u16 berry);
|
||||
static u8 BerryTreeGetNumStagesWatered(struct BerryTree *tree);
|
||||
static u8 GetNumStagesWateredByBerryTreeId(u8 id);
|
||||
static u8 CalcBerryYieldInternal(u16 max, u16 min, u8 water);
|
||||
|
|
@ -2000,7 +2000,7 @@ u8 GetMulchByBerryTreeId(u8 id)
|
|||
return gSaveBlock1Ptr->berryTrees[id].mulch;
|
||||
}
|
||||
|
||||
u8 ItemIdToBerryType(u16 item)
|
||||
u8 ItemIdToBerryType(enum Item item)
|
||||
{
|
||||
u16 berry = item - FIRST_BERRY_INDEX;
|
||||
|
||||
|
|
@ -2010,9 +2010,9 @@ u8 ItemIdToBerryType(u16 item)
|
|||
return ITEM_TO_BERRY(item);
|
||||
}
|
||||
|
||||
static u16 BerryTypeToItemId(u16 berry)
|
||||
static enum Item BerryTypeToItemId(u16 berry)
|
||||
{
|
||||
u16 item = berry - 1;
|
||||
enum Item item = berry - 1;
|
||||
|
||||
if (item > LAST_BERRY_INDEX - FIRST_BERRY_INDEX)
|
||||
return FIRST_BERRY_INDEX;
|
||||
|
|
|
|||
|
|
@ -115,7 +115,7 @@ enum {
|
|||
|
||||
struct BlenderBerry
|
||||
{
|
||||
u16 itemId;
|
||||
enum Item itemId;
|
||||
u8 name[BERRY_NAME_LENGTH + 1];
|
||||
u8 flavors[FLAVOR_COUNT + 1]; // 5 flavors, + 1 for feel
|
||||
};
|
||||
|
|
@ -218,7 +218,7 @@ static bool8 UpdateBlenderLandScreenShake(void);
|
|||
static void SetPlayerIdMaps(void);
|
||||
static void PrintPlayerNames(void);
|
||||
static void InitBlenderBgs(void);
|
||||
static void SetPlayerBerryData(u8, u16);
|
||||
static void SetPlayerBerryData(u8 playerId, enum Item itemId);
|
||||
static void Blender_AddTextPrinter(u8, const u8 *, u8, u8, s32, s32);
|
||||
static void ResetLinkCmds(void);
|
||||
static void CreateParticleSprites(void);
|
||||
|
|
@ -1183,7 +1183,7 @@ static void SetBerrySpriteData(struct Sprite *sprite, s32 x, s32 y, s32 bounceSp
|
|||
sprite->callback = SpriteCB_Berry;
|
||||
}
|
||||
|
||||
static void CreateBerrySprite(u32 itemId, u32 playerId)
|
||||
static void CreateBerrySprite(enum Item itemId, u32 playerId)
|
||||
{
|
||||
u32 berryId = ITEM_TO_BERRY(itemId) - 1;
|
||||
u32 spriteId = CreateSpinningBerrySprite(berryId, 0, 80, playerId & 1);
|
||||
|
|
@ -1196,7 +1196,7 @@ static void CreateBerrySprite(u32 itemId, u32 playerId)
|
|||
berryId);
|
||||
}
|
||||
|
||||
static void ConvertItemToBlenderBerry(struct BlenderBerry *berry, u16 itemId)
|
||||
static void ConvertItemToBlenderBerry(struct BlenderBerry *berry, enum Item itemId)
|
||||
{
|
||||
const struct Berry *berryInfo = GetBerryInfo(ITEM_TO_BERRY(itemId));
|
||||
|
||||
|
|
@ -3195,7 +3195,7 @@ static void SpriteCB_ScoreSymbolBest(struct Sprite *sprite)
|
|||
DestroySprite(sprite);
|
||||
}
|
||||
|
||||
static void SetPlayerBerryData(u8 playerId, u16 itemId)
|
||||
static void SetPlayerBerryData(u8 playerId, enum Item itemId)
|
||||
{
|
||||
sBerryBlender->chosenItemId[playerId] = itemId;
|
||||
ConvertItemToBlenderBerry(&sBerryBlender->blendedBerries[playerId], itemId);
|
||||
|
|
|
|||
|
|
@ -159,7 +159,7 @@ static const u8 sGenericMulchDesc[] = _("A fertilizer that\n"
|
|||
"is unsuitable for\n"
|
||||
"local soil.");
|
||||
|
||||
const struct Item gItemsInfo[] =
|
||||
const struct ItemInfo gItemsInfo[] =
|
||||
{
|
||||
[ITEM_NONE] =
|
||||
{
|
||||
|
|
|
|||
|
|
@ -86,7 +86,7 @@ static const struct ListMenuTemplate sDaycareListMenuLevelTemplate =
|
|||
|
||||
static const struct {
|
||||
u16 currSpecies;
|
||||
u16 item;
|
||||
enum Item item;
|
||||
u16 babySpecies;
|
||||
} sIncenseBabyTable[] =
|
||||
{
|
||||
|
|
@ -988,8 +988,8 @@ static void AlterEggSpeciesWithIncenseItem(u16 *species, struct DayCare *daycare
|
|||
|
||||
static const struct {
|
||||
u16 offspring;
|
||||
u16 item;
|
||||
u16 move;
|
||||
enum Item item;
|
||||
enum Move move;
|
||||
} sBreedingSpecialMoveItemTable[] =
|
||||
{
|
||||
// Offspring, Item, Move
|
||||
|
|
|
|||
16
src/debug.c
16
src/debug.c
|
|
@ -2597,7 +2597,7 @@ static void DebugAction_FlagsVars_CatchingOnOff(u8 taskId)
|
|||
#define tItemId data[5]
|
||||
#define tSpriteId data[6]
|
||||
|
||||
static void Debug_Display_ItemInfo(u32 itemId, u32 digit, u8 windowId)
|
||||
static void Debug_Display_ItemInfo(enum Item itemId, u32 digit, u8 windowId)
|
||||
{
|
||||
StringCopy(gStringVar2, gText_DigitIndicator[digit]);
|
||||
u8* end = CopyItemName(itemId, gStringVar1);
|
||||
|
|
@ -2696,7 +2696,7 @@ static void DebugAction_Give_Item_SelectId(u8 taskId)
|
|||
|
||||
static void DebugAction_Give_Item_SelectQuantity(u8 taskId)
|
||||
{
|
||||
u32 itemId = gTasks[taskId].tItemId;
|
||||
enum Item itemId = gTasks[taskId].tItemId;
|
||||
|
||||
if (JOY_NEW(DPAD_ANY))
|
||||
{
|
||||
|
|
@ -3557,7 +3557,7 @@ static void DebugAction_Give_Pokemon_ComplexCreateMon(u8 taskId) //https://githu
|
|||
//Decoration
|
||||
#define tSpriteId data[6]
|
||||
|
||||
static void Debug_Display_DecorationInfo(u32 itemId, u32 digit, u8 windowId)
|
||||
static void Debug_Display_DecorationInfo(enum Item itemId, u32 digit, u8 windowId)
|
||||
{
|
||||
StringCopy(gStringVar2, gText_DigitIndicator[digit]);
|
||||
u8* end = StringCopy(gStringVar1, gDecorations[itemId].name);
|
||||
|
|
@ -3770,7 +3770,7 @@ static void DebugAction_PCBag_Fill_PCBoxes_Slow(u8 taskId)
|
|||
|
||||
static void DebugAction_PCBag_Fill_PCItemStorage(u8 taskId)
|
||||
{
|
||||
u16 itemId;
|
||||
enum Item itemId;
|
||||
|
||||
for (itemId = 1; itemId < ITEMS_COUNT; itemId++)
|
||||
{
|
||||
|
|
@ -3781,7 +3781,7 @@ static void DebugAction_PCBag_Fill_PCItemStorage(u8 taskId)
|
|||
|
||||
static void DebugAction_PCBag_Fill_PocketItems(u8 taskId)
|
||||
{
|
||||
u16 itemId;
|
||||
enum Item itemId;
|
||||
|
||||
for (itemId = 1; itemId < ITEMS_COUNT; itemId++)
|
||||
{
|
||||
|
|
@ -3794,7 +3794,7 @@ static void DebugAction_PCBag_Fill_PocketPokeBalls(u8 taskId)
|
|||
{
|
||||
for (enum PokeBall ballId = BALL_STRANGE; ballId < POKEBALL_COUNT; ballId++)
|
||||
{
|
||||
if (CheckBagHasSpace(ballId, MAX_BAG_ITEM_CAPACITY))
|
||||
if (CheckBagHasSpace(gBallItemIds[ballId], MAX_BAG_ITEM_CAPACITY))
|
||||
AddBagItem(gBallItemIds[ballId], MAX_BAG_ITEM_CAPACITY);
|
||||
}
|
||||
}
|
||||
|
|
@ -3813,7 +3813,7 @@ static void DebugAction_PCBag_Fill_PocketTMHM(u8 taskId)
|
|||
|
||||
static void DebugAction_PCBag_Fill_PocketBerries(u8 taskId)
|
||||
{
|
||||
u16 itemId;
|
||||
enum Item itemId;
|
||||
|
||||
for (itemId = FIRST_BERRY_INDEX; itemId < LAST_BERRY_INDEX; itemId++)
|
||||
{
|
||||
|
|
@ -3824,7 +3824,7 @@ static void DebugAction_PCBag_Fill_PocketBerries(u8 taskId)
|
|||
|
||||
static void DebugAction_PCBag_Fill_PocketKeyItems(u8 taskId)
|
||||
{
|
||||
u16 itemId;
|
||||
enum Item itemId;
|
||||
|
||||
for (itemId = 1; itemId < ITEMS_COUNT; itemId++)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -150,7 +150,7 @@ static u8 DexNavGetAbilityNum(u16 species, u8 searchLevel);
|
|||
static u8 DexNavGeneratePotential(u8 searchLevel);
|
||||
static u8 DexNavTryGenerateMonLevel(u16 species, enum EncounterType environment);
|
||||
static u8 GetEncounterLevelFromMapData(u16 species, enum EncounterType environment);
|
||||
static void CreateDexNavWildMon(u16 species, u8 potential, u8 level, u8 abilityNum, u16 item, u16 *moves);
|
||||
static void CreateDexNavWildMon(u16 species, u8 potential, u8 level, u8 abilityNum, enum Item item, enum Move *moves);
|
||||
static u8 GetPlayerDistance(s16 x, s16 y);
|
||||
static u8 DexNavPickTile(enum EncounterType environment, u8 xSize, u8 ySize, bool8 smallScan);
|
||||
static void DexNavProximityUpdate(void);
|
||||
|
|
@ -1179,7 +1179,7 @@ static void DexNavUpdateSearchWindow(u8 proximity, u8 searchLevel)
|
|||
//////////////////////////////
|
||||
//// DEXNAV MON GENERATOR ////
|
||||
//////////////////////////////
|
||||
static void CreateDexNavWildMon(u16 species, u8 potential, u8 level, u8 abilityNum, u16 item, u16 *moves)
|
||||
static void CreateDexNavWildMon(u16 species, u8 potential, u8 level, u8 abilityNum, enum Item item, enum Move *moves)
|
||||
{
|
||||
struct Pokemon *mon = &gEnemyParty[0];
|
||||
u8 iv[3] = {NUM_STATS};
|
||||
|
|
@ -1295,8 +1295,8 @@ static u16 DexNavGenerateHeldItem(u16 species, u8 searchLevel)
|
|||
{
|
||||
u16 randVal = Random() % 100;
|
||||
u8 searchLevelInfluence = searchLevel >> 1;
|
||||
u16 item1 = gSpeciesInfo[species].itemCommon;
|
||||
u16 item2 = gSpeciesInfo[species].itemRare;
|
||||
enum Item item1 = gSpeciesInfo[species].itemCommon;
|
||||
enum Item item2 = gSpeciesInfo[species].itemRare;
|
||||
|
||||
// if both are the same, 100% to hold
|
||||
if (item1 == item2)
|
||||
|
|
|
|||
|
|
@ -2872,7 +2872,7 @@ enum {
|
|||
static u8 TryGivePrize(void)
|
||||
{
|
||||
u8 multiplayerId = sGame->multiplayerId;
|
||||
u16 itemId = GetPrizeItemId();
|
||||
enum Item itemId = GetPrizeItemId();
|
||||
|
||||
if (GetScore(multiplayerId) != GetHighestScore())
|
||||
return NO_PRIZE;
|
||||
|
|
|
|||
|
|
@ -146,7 +146,7 @@ static void CloseScrollableMultichoice(u8);
|
|||
static void ScrollableMultichoice_RemoveScrollArrows(u8);
|
||||
static void Task_ScrollableMultichoice_WaitReturnToList(u8);
|
||||
static void Task_ScrollableMultichoice_ReturnToList(u8);
|
||||
static void ShowFrontierExchangeCornerItemIcon(u16);
|
||||
static void ShowFrontierExchangeCornerItemIcon(enum Item);
|
||||
static void Task_DeoxysRockInteraction(u8);
|
||||
static void ChangeDeoxysRockLevel(u8);
|
||||
static void WaitForDeoxysRockMovement(u8);
|
||||
|
|
@ -3081,7 +3081,7 @@ static void FillFrontierExchangeCornerWindowAndItemIcon(enum ScrollMulti menu, u
|
|||
}
|
||||
}
|
||||
|
||||
static void ShowFrontierExchangeCornerItemIcon(u16 item)
|
||||
static void ShowFrontierExchangeCornerItemIcon(enum Item item)
|
||||
{
|
||||
FreeSpriteTilesByTag(TAG_ITEM_ICON);
|
||||
FreeSpritePaletteByTag(TAG_ITEM_ICON);
|
||||
|
|
|
|||
|
|
@ -2078,7 +2078,7 @@ static void AppendIfValid(u16 species, u16 heldItem, u16 hp, u8 lvlMode, u8 monL
|
|||
static void CheckPartyIneligibility(void)
|
||||
{
|
||||
u16 speciesArray[PARTY_SIZE];
|
||||
u16 itemArray[PARTY_SIZE];
|
||||
enum Item itemArray[PARTY_SIZE];
|
||||
s32 monId = 0;
|
||||
s32 toChoose = 0;
|
||||
u8 count = 0;
|
||||
|
|
@ -2113,7 +2113,7 @@ static void CheckPartyIneligibility(void)
|
|||
do
|
||||
{
|
||||
u16 species = GetMonData(&gPlayerParty[monId], MON_DATA_SPECIES_OR_EGG);
|
||||
u16 heldItem = GetMonData(&gPlayerParty[monId], MON_DATA_HELD_ITEM);
|
||||
enum Item heldItem = GetMonData(&gPlayerParty[monId], MON_DATA_HELD_ITEM);
|
||||
u8 level = GetMonData(&gPlayerParty[monId], MON_DATA_LEVEL);
|
||||
u16 hp = GetMonData(&gPlayerParty[monId], MON_DATA_HP);
|
||||
if (VarGet(VAR_FRONTIER_FACILITY) == FRONTIER_FACILITY_PYRAMID)
|
||||
|
|
@ -2259,7 +2259,7 @@ static void RestoreHeldItems(void)
|
|||
{
|
||||
if (gSaveBlock2Ptr->frontier.selectedPartyMons[i] != 0)
|
||||
{
|
||||
u16 item = GetMonData(GetSavedPlayerPartyMon(gSaveBlock2Ptr->frontier.selectedPartyMons[i] - 1), MON_DATA_HELD_ITEM);
|
||||
enum Item item = GetMonData(GetSavedPlayerPartyMon(gSaveBlock2Ptr->frontier.selectedPartyMons[i] - 1), MON_DATA_HELD_ITEM);
|
||||
SetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM, &item);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
94
src/item.c
94
src/item.c
|
|
@ -28,10 +28,10 @@
|
|||
.itemSlots = gSaveBlock1Ptr->pcItems, \
|
||||
}
|
||||
|
||||
static bool32 CheckPyramidBagHasItem(u16 itemId, u16 count);
|
||||
static bool32 CheckPyramidBagHasSpace(u16 itemId, u16 count);
|
||||
static const u8 *GetItemPluralName(u16);
|
||||
static bool32 DoesItemHavePluralName(u16);
|
||||
static bool32 CheckPyramidBagHasItem(enum Item itemId, u16 count);
|
||||
static bool32 CheckPyramidBagHasSpace(enum Item itemId, u16 count);
|
||||
static const u8 *GetItemPluralName(enum Item);
|
||||
static bool32 DoesItemHavePluralName(enum Item);
|
||||
static void NONNULL BagPocket_CompactItems(struct BagPocket *pocket);
|
||||
|
||||
EWRAM_DATA struct BagPocket gBagPockets[POCKETS_COUNT] = {0};
|
||||
|
|
@ -131,7 +131,7 @@ void NONNULL BagPocket_SetSlotData(struct BagPocket *pocket, u32 pocketPos, stru
|
|||
void ApplyNewEncryptionKeyToBagItems(u32 newKey)
|
||||
{
|
||||
enum Pocket pocketId;
|
||||
u32 item;
|
||||
enum Item item;
|
||||
for (pocketId = 0; pocketId < POCKETS_COUNT; pocketId++)
|
||||
{
|
||||
for (item = 0; item < gBagPockets[pocketId].capacity; item++)
|
||||
|
|
@ -162,14 +162,14 @@ void SetBagItemsPointers(void)
|
|||
gBagPockets[POCKET_BERRIES].id = POCKET_BERRIES;
|
||||
}
|
||||
|
||||
u8 *CopyItemName(u16 itemId, u8 *dst)
|
||||
u8 *CopyItemName(enum Item itemId, u8 *dst)
|
||||
{
|
||||
return StringCopy(dst, GetItemName(itemId));
|
||||
}
|
||||
|
||||
const u8 sText_s[] =_("s");
|
||||
|
||||
u8 *CopyItemNameHandlePlural(u16 itemId, u8 *dst, u32 quantity)
|
||||
u8 *CopyItemNameHandlePlural(enum Item itemId, u8 *dst, u32 quantity)
|
||||
{
|
||||
if (quantity == 1)
|
||||
{
|
||||
|
|
@ -198,7 +198,7 @@ bool32 IsBagPocketNonEmpty(enum Pocket pocketId)
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
static bool32 NONNULL BagPocket_CheckHasItem(struct BagPocket *pocket, u16 itemId, u16 count)
|
||||
static bool32 NONNULL BagPocket_CheckHasItem(struct BagPocket *pocket, enum Item itemId, u16 count)
|
||||
{
|
||||
struct ItemSlot tempItem;
|
||||
|
||||
|
|
@ -213,7 +213,7 @@ static bool32 NONNULL BagPocket_CheckHasItem(struct BagPocket *pocket, u16 itemI
|
|||
return count == 0;
|
||||
}
|
||||
|
||||
bool32 CheckBagHasItem(u16 itemId, u16 count)
|
||||
bool32 CheckBagHasItem(enum Item itemId, u16 count)
|
||||
{
|
||||
if (GetItemPocket(itemId) >= POCKETS_COUNT)
|
||||
return FALSE;
|
||||
|
|
@ -243,7 +243,7 @@ bool32 HasAtLeastOnePokeBall(void)
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
bool32 CheckBagHasSpace(u16 itemId, u16 count)
|
||||
bool32 CheckBagHasSpace(enum Item itemId, u16 count)
|
||||
{
|
||||
if (GetItemPocket(itemId) >= POCKETS_COUNT)
|
||||
return FALSE;
|
||||
|
|
@ -254,7 +254,7 @@ bool32 CheckBagHasSpace(u16 itemId, u16 count)
|
|||
return GetFreeSpaceForItemInBag(itemId) >= count;
|
||||
}
|
||||
|
||||
static u32 NONNULL BagPocket_GetFreeSpaceForItem(struct BagPocket *pocket, u16 itemId)
|
||||
static u32 NONNULL BagPocket_GetFreeSpaceForItem(struct BagPocket *pocket, enum Item itemId)
|
||||
{
|
||||
u32 spaceForItem = 0;
|
||||
struct ItemSlot tempItem;
|
||||
|
|
@ -270,7 +270,7 @@ static u32 NONNULL BagPocket_GetFreeSpaceForItem(struct BagPocket *pocket, u16 i
|
|||
return spaceForItem;
|
||||
}
|
||||
|
||||
u32 GetFreeSpaceForItemInBag(u16 itemId)
|
||||
u32 GetFreeSpaceForItemInBag(enum Item itemId)
|
||||
{
|
||||
if (GetItemPocket(itemId) >= POCKETS_COUNT)
|
||||
return 0;
|
||||
|
|
@ -278,7 +278,7 @@ u32 GetFreeSpaceForItemInBag(u16 itemId)
|
|||
return BagPocket_GetFreeSpaceForItem(&gBagPockets[GetItemPocket(itemId)], itemId);
|
||||
}
|
||||
|
||||
static inline bool32 NONNULL CheckSlotAndUpdateCount(struct BagPocket *pocket, u16 itemId, u32 pocketPos, u32 *nextPocketPos, u16 *count, u16 *tempPocketSlotQuantities)
|
||||
static inline bool32 NONNULL CheckSlotAndUpdateCount(struct BagPocket *pocket, enum Item itemId, u32 pocketPos, u32 *nextPocketPos, u16 *count, u16 *tempPocketSlotQuantities)
|
||||
{
|
||||
struct ItemSlot tempItem = BagPocket_GetSlotData(pocket, pocketPos);
|
||||
if (tempItem.itemId == ITEM_NONE || tempItem.itemId == itemId)
|
||||
|
|
@ -301,7 +301,7 @@ static inline bool32 NONNULL CheckSlotAndUpdateCount(struct BagPocket *pocket, u
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
static bool32 NONNULL BagPocket_AddItem(struct BagPocket *pocket, u16 itemId, u16 count)
|
||||
static bool32 NONNULL BagPocket_AddItem(struct BagPocket *pocket, enum Item itemId, u16 count)
|
||||
{
|
||||
u32 itemLookupIndex, itemAddIndex = 0;
|
||||
|
||||
|
|
@ -343,7 +343,7 @@ static bool32 NONNULL BagPocket_AddItem(struct BagPocket *pocket, u16 itemId, u1
|
|||
return count == 0;
|
||||
}
|
||||
|
||||
bool32 AddBagItem(u16 itemId, u16 count)
|
||||
bool32 AddBagItem(enum Item itemId, u16 count)
|
||||
{
|
||||
if (GetItemPocket(itemId) >= POCKETS_COUNT)
|
||||
return FALSE;
|
||||
|
|
@ -355,7 +355,7 @@ bool32 AddBagItem(u16 itemId, u16 count)
|
|||
return BagPocket_AddItem(&gBagPockets[GetItemPocket(itemId)], itemId, count);
|
||||
}
|
||||
|
||||
static bool32 NONNULL BagPocket_RemoveItem(struct BagPocket *pocket, u16 itemId, u16 count)
|
||||
static bool32 NONNULL BagPocket_RemoveItem(struct BagPocket *pocket, enum Item itemId, u16 count)
|
||||
{
|
||||
u32 itemLookupIndex, itemRemoveIndex = 0, totalQuantity = 0;
|
||||
struct ItemSlot tempItem;
|
||||
|
|
@ -399,7 +399,7 @@ static bool32 NONNULL BagPocket_RemoveItem(struct BagPocket *pocket, u16 itemId,
|
|||
return totalQuantity >= count;
|
||||
}
|
||||
|
||||
bool32 RemoveBagItem(u16 itemId, u16 count)
|
||||
bool32 RemoveBagItem(enum Item itemId, u16 count)
|
||||
{
|
||||
if (GetItemPocket(itemId) >= POCKETS_COUNT || itemId == ITEM_NONE)
|
||||
return FALSE;
|
||||
|
|
@ -436,7 +436,7 @@ u8 CountUsedPCItemSlots(void)
|
|||
return BagPocket_CountUsedItemSlots(&dummyPocket);
|
||||
}
|
||||
|
||||
static bool32 NONNULL BagPocket_CheckPocketForItemCount(struct BagPocket *pocket, u16 itemId, u16 count)
|
||||
static bool32 NONNULL BagPocket_CheckPocketForItemCount(struct BagPocket *pocket, enum Item itemId, u16 count)
|
||||
{
|
||||
struct ItemSlot tempItem;
|
||||
|
||||
|
|
@ -449,13 +449,13 @@ static bool32 NONNULL BagPocket_CheckPocketForItemCount(struct BagPocket *pocket
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
bool32 CheckPCHasItem(u16 itemId, u16 count)
|
||||
bool32 CheckPCHasItem(enum Item itemId, u16 count)
|
||||
{
|
||||
struct BagPocket dummyPocket = DUMMY_PC_BAG_POCKET;
|
||||
return BagPocket_CheckPocketForItemCount(&dummyPocket, itemId, count);
|
||||
}
|
||||
|
||||
bool32 AddPCItem(u16 itemId, u16 count)
|
||||
bool32 AddPCItem(enum Item itemId, u16 count)
|
||||
{
|
||||
struct BagPocket dummyPocket = DUMMY_PC_BAG_POCKET;
|
||||
return BagPocket_AddItem(&dummyPocket, itemId, count);
|
||||
|
|
@ -556,7 +556,7 @@ void ClearBag(void)
|
|||
CpuFastFill(0, &gSaveBlock1Ptr->bag, sizeof(struct Bag));
|
||||
}
|
||||
|
||||
static inline u16 NONNULL BagPocket_CountTotalItemQuantity(struct BagPocket *pocket, u16 itemId)
|
||||
static inline u16 NONNULL BagPocket_CountTotalItemQuantity(struct BagPocket *pocket, enum Item itemId)
|
||||
{
|
||||
u32 ownedCount = 0;
|
||||
struct ItemSlot tempItem;
|
||||
|
|
@ -571,12 +571,12 @@ static inline u16 NONNULL BagPocket_CountTotalItemQuantity(struct BagPocket *poc
|
|||
return ownedCount;
|
||||
}
|
||||
|
||||
u16 CountTotalItemQuantityInBag(u16 itemId)
|
||||
u16 CountTotalItemQuantityInBag(enum Item itemId)
|
||||
{
|
||||
return BagPocket_CountTotalItemQuantity(&gBagPockets[GetItemPocket(itemId)], itemId);
|
||||
}
|
||||
|
||||
static bool32 CheckPyramidBagHasItem(u16 itemId, u16 count)
|
||||
static bool32 CheckPyramidBagHasItem(enum Item itemId, u16 count)
|
||||
{
|
||||
u8 i;
|
||||
u16 *items = gSaveBlock2Ptr->frontier.pyramidBag.itemId[gSaveBlock2Ptr->frontier.lvlMode];
|
||||
|
|
@ -602,7 +602,7 @@ static bool32 CheckPyramidBagHasItem(u16 itemId, u16 count)
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
static bool32 CheckPyramidBagHasSpace(u16 itemId, u16 count)
|
||||
static bool32 CheckPyramidBagHasSpace(enum Item itemId, u16 count)
|
||||
{
|
||||
u8 i;
|
||||
u16 *items = gSaveBlock2Ptr->frontier.pyramidBag.itemId[gSaveBlock2Ptr->frontier.lvlMode];
|
||||
|
|
@ -628,7 +628,7 @@ static bool32 CheckPyramidBagHasSpace(u16 itemId, u16 count)
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
bool32 AddPyramidBagItem(u16 itemId, u16 count)
|
||||
bool32 AddPyramidBagItem(enum Item itemId, u16 count)
|
||||
{
|
||||
u16 i;
|
||||
|
||||
|
|
@ -706,7 +706,7 @@ bool32 AddPyramidBagItem(u16 itemId, u16 count)
|
|||
}
|
||||
}
|
||||
|
||||
bool32 RemovePyramidBagItem(u16 itemId, u16 count)
|
||||
bool32 RemovePyramidBagItem(enum Item itemId, u16 count)
|
||||
{
|
||||
u16 i;
|
||||
|
||||
|
|
@ -777,7 +777,7 @@ bool32 RemovePyramidBagItem(u16 itemId, u16 count)
|
|||
}
|
||||
}
|
||||
|
||||
static u16 SanitizeItemId(u16 itemId)
|
||||
static u16 SanitizeItemId(enum Item itemId)
|
||||
{
|
||||
assertf(itemId < ITEMS_COUNT, "invalid item: %d", itemId)
|
||||
{
|
||||
|
|
@ -787,29 +787,29 @@ static u16 SanitizeItemId(u16 itemId)
|
|||
return itemId;
|
||||
}
|
||||
|
||||
const u8 *GetItemName(u16 itemId)
|
||||
const u8 *GetItemName(enum Item itemId)
|
||||
{
|
||||
const u8 *name = gItemsInfo[SanitizeItemId(itemId)].name;
|
||||
|
||||
return name == NULL ? gQuestionMarksItemName : name;
|
||||
}
|
||||
|
||||
u32 GetItemPrice(u16 itemId)
|
||||
u32 GetItemPrice(enum Item itemId)
|
||||
{
|
||||
return gItemsInfo[SanitizeItemId(itemId)].price;
|
||||
}
|
||||
|
||||
static bool32 DoesItemHavePluralName(u16 itemId)
|
||||
static bool32 DoesItemHavePluralName(enum Item itemId)
|
||||
{
|
||||
return gItemsInfo[SanitizeItemId(itemId)].pluralName != NULL;
|
||||
}
|
||||
|
||||
static const u8 *GetItemPluralName(u16 itemId)
|
||||
static const u8 *GetItemPluralName(enum Item itemId)
|
||||
{
|
||||
return gItemsInfo[SanitizeItemId(itemId)].pluralName;
|
||||
}
|
||||
|
||||
const u8 *GetItemEffect(u32 itemId)
|
||||
const u8 *GetItemEffect(enum Item itemId)
|
||||
{
|
||||
if (itemId == ITEM_ENIGMA_BERRY_E_READER)
|
||||
#if FREE_ENIGMA_BERRY == FALSE
|
||||
|
|
@ -821,50 +821,50 @@ const u8 *GetItemEffect(u32 itemId)
|
|||
return gItemsInfo[SanitizeItemId(itemId)].effect;
|
||||
}
|
||||
|
||||
enum HoldEffect GetItemHoldEffect(u32 itemId)
|
||||
enum HoldEffect GetItemHoldEffect(enum Item itemId)
|
||||
{
|
||||
return gItemsInfo[SanitizeItemId(itemId)].holdEffect;
|
||||
}
|
||||
|
||||
u32 GetItemHoldEffectParam(u32 itemId)
|
||||
u32 GetItemHoldEffectParam(enum Item itemId)
|
||||
{
|
||||
return gItemsInfo[SanitizeItemId(itemId)].holdEffectParam;
|
||||
}
|
||||
|
||||
const u8 *GetItemDescription(u16 itemId)
|
||||
const u8 *GetItemDescription(enum Item itemId)
|
||||
{
|
||||
return gItemsInfo[SanitizeItemId(itemId)].description;
|
||||
}
|
||||
|
||||
u8 GetItemImportance(u16 itemId)
|
||||
u8 GetItemImportance(enum Item itemId)
|
||||
{
|
||||
return gItemsInfo[SanitizeItemId(itemId)].importance;
|
||||
}
|
||||
|
||||
u8 GetItemConsumability(u16 itemId)
|
||||
u8 GetItemConsumability(enum Item itemId)
|
||||
{
|
||||
return !gItemsInfo[SanitizeItemId(itemId)].notConsumed;
|
||||
}
|
||||
|
||||
enum Pocket GetItemPocket(u16 itemId)
|
||||
enum Pocket GetItemPocket(enum Item itemId)
|
||||
{
|
||||
return gItemsInfo[SanitizeItemId(itemId)].pocket;
|
||||
}
|
||||
|
||||
u8 GetItemType(u16 itemId)
|
||||
u8 GetItemType(enum Item itemId)
|
||||
{
|
||||
return gItemsInfo[SanitizeItemId(itemId)].type;
|
||||
}
|
||||
|
||||
ItemUseFunc GetItemFieldFunc(u16 itemId)
|
||||
ItemUseFunc GetItemFieldFunc(enum Item itemId)
|
||||
{
|
||||
return gItemsInfo[SanitizeItemId(itemId)].fieldUseFunc;
|
||||
}
|
||||
|
||||
// Returns an item's battle effect script ID.
|
||||
u8 GetItemBattleUsage(u16 itemId)
|
||||
u8 GetItemBattleUsage(enum Item itemId)
|
||||
{
|
||||
u16 item = SanitizeItemId(itemId);
|
||||
enum Item item = SanitizeItemId(itemId);
|
||||
// Handle E-Reader berries.
|
||||
if (item == ITEM_ENIGMA_BERRY_E_READER)
|
||||
{
|
||||
|
|
@ -893,18 +893,18 @@ u8 GetItemBattleUsage(u16 itemId)
|
|||
return gItemsInfo[item].battleUsage;
|
||||
}
|
||||
|
||||
u32 GetItemSecondaryId(u32 itemId)
|
||||
u32 GetItemSecondaryId(enum Item itemId)
|
||||
{
|
||||
return gItemsInfo[SanitizeItemId(itemId)].secondaryId;
|
||||
}
|
||||
|
||||
u32 GetItemFlingPower(u32 itemId)
|
||||
u32 GetItemFlingPower(enum Item itemId)
|
||||
{
|
||||
return gItemsInfo[SanitizeItemId(itemId)].flingPower;
|
||||
}
|
||||
|
||||
|
||||
u32 GetItemStatus1Mask(u16 itemId)
|
||||
u32 GetItemStatus1Mask(enum Item itemId)
|
||||
{
|
||||
const u8 *effect = GetItemEffect(itemId);
|
||||
switch (effect[3])
|
||||
|
|
@ -925,7 +925,7 @@ u32 GetItemStatus1Mask(u16 itemId)
|
|||
return 0;
|
||||
}
|
||||
|
||||
bool32 ItemHasVolatileFlag(u16 itemId, enum Volatile _volatile)
|
||||
bool32 ItemHasVolatileFlag(enum Item itemId, enum Volatile _volatile)
|
||||
{
|
||||
const u8 *effect = GetItemEffect(itemId);
|
||||
switch (_volatile)
|
||||
|
|
@ -939,7 +939,7 @@ bool32 ItemHasVolatileFlag(u16 itemId, enum Volatile _volatile)
|
|||
}
|
||||
}
|
||||
|
||||
u32 GetItemSellPrice(u32 itemId)
|
||||
u32 GetItemSellPrice(enum Item itemId)
|
||||
{
|
||||
return GetItemPrice(itemId) / ITEM_SELL_FACTOR;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ static u32 GetItemBallAmountFromTemplate(u32 itemBallId)
|
|||
|
||||
static u32 GetItemBallIdFromTemplate(u32 itemBallId)
|
||||
{
|
||||
u32 itemId = gMapHeader.events->objectEvents[itemBallId].trainerRange_berryTreeId;
|
||||
enum Item itemId = gMapHeader.events->objectEvents[itemBallId].trainerRange_berryTreeId;
|
||||
|
||||
return (itemId >= ITEMS_COUNT) ? (ITEM_NONE + 1) : itemId;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -83,7 +83,7 @@ void CopyItemIconPicTo4x4Buffer(const void *src, void *dest)
|
|||
CpuCopy16(src + i * 96, dest + i * 128, 0x60);
|
||||
}
|
||||
|
||||
u8 AddItemIconSprite(u16 tilesTag, u16 paletteTag, u16 itemId)
|
||||
u8 AddItemIconSprite(u16 tilesTag, u16 paletteTag, enum Item itemId)
|
||||
{
|
||||
if (!AllocItemIconTemporaryBuffers())
|
||||
{
|
||||
|
|
@ -120,7 +120,7 @@ u8 AddItemIconSprite(u16 tilesTag, u16 paletteTag, u16 itemId)
|
|||
}
|
||||
}
|
||||
|
||||
u8 AddCustomItemIconSprite(const struct SpriteTemplate *customSpriteTemplate, u16 tilesTag, u16 paletteTag, u16 itemId)
|
||||
u8 AddCustomItemIconSprite(const struct SpriteTemplate *customSpriteTemplate, u16 tilesTag, u16 paletteTag, enum Item itemId)
|
||||
{
|
||||
if (!AllocItemIconTemporaryBuffers())
|
||||
{
|
||||
|
|
@ -157,7 +157,7 @@ u8 AddCustomItemIconSprite(const struct SpriteTemplate *customSpriteTemplate, u1
|
|||
}
|
||||
}
|
||||
|
||||
const void *GetItemIconPic(u16 itemId)
|
||||
const void *GetItemIconPic(enum Item itemId)
|
||||
{
|
||||
if (itemId == ITEM_LIST_END)
|
||||
return gItemIcon_ReturnToFieldArrow; // Use last icon, the "return to field" arrow
|
||||
|
|
@ -173,7 +173,7 @@ const void *GetItemIconPic(u16 itemId)
|
|||
return gItemsInfo[itemId].iconPic;
|
||||
}
|
||||
|
||||
const u16 *GetItemIconPalette(u16 itemId)
|
||||
const u16 *GetItemIconPalette(enum Item itemId)
|
||||
{
|
||||
if (itemId == ITEM_LIST_END)
|
||||
return gItemIconPalette_ReturnToFieldArrow;
|
||||
|
|
|
|||
|
|
@ -141,7 +141,7 @@ static void PrepareTMHMMoveWindow(void);
|
|||
static bool8 IsWallysBag(void);
|
||||
static void Task_WallyTutorialBagMenu(u8);
|
||||
static void Task_BagMenu_HandleInput(u8);
|
||||
static void GetItemNameFromPocket(u8 *, u16);
|
||||
static void GetItemNameFromPocket(u8 *dest, enum Item itemId);
|
||||
static void PrintItemDescription(int);
|
||||
static void BagMenu_PrintCursorAtPos(u8, u8);
|
||||
static void BagMenu_Print(u8, u8, const u8 *, u8, u8, u8, u8, u8, u8);
|
||||
|
|
@ -159,7 +159,7 @@ static void Task_SwitchBagPocket(u8);
|
|||
static void Task_HandleSwappingItemsInput(u8);
|
||||
static void DoItemSwap(u8);
|
||||
static void CancelItemSwap(u8);
|
||||
static void PrintTMHMMoveData(u16);
|
||||
static void PrintTMHMMoveData(enum Item itemId);
|
||||
static void PrintContextMenuItems(u8);
|
||||
static void PrintContextMenuItemGrid(u8, u8, u8);
|
||||
static void Task_ItemContext_SingleRow(u8);
|
||||
|
|
@ -930,7 +930,7 @@ static void LoadBagItemListBuffers(u8 pocketId)
|
|||
gMultiuseListMenuTemplate.maxShowed = gBagMenu->numShownItems[pocketId];
|
||||
}
|
||||
|
||||
static void GetItemNameFromPocket(u8 *dest, u16 itemId)
|
||||
static void GetItemNameFromPocket(u8 *dest, enum Item itemId)
|
||||
{
|
||||
u8 *end;
|
||||
switch (gBagPosition.pocket)
|
||||
|
|
@ -2665,7 +2665,7 @@ static void PrepareTMHMMoveWindow(void)
|
|||
CopyWindowToVram(WIN_TMHM_INFO_ICONS, COPYWIN_GFX);
|
||||
}
|
||||
|
||||
static void PrintTMHMMoveData(u16 itemId)
|
||||
static void PrintTMHMMoveData(enum Item itemId)
|
||||
{
|
||||
u8 i;
|
||||
enum Move move;
|
||||
|
|
|
|||
|
|
@ -544,7 +544,7 @@ static void SpriteCB_SwitchPocketRotatingBallContinue(struct Sprite *sprite)
|
|||
RemoveBagSprite(ITEMMENUSPRITE_BALL);
|
||||
}
|
||||
|
||||
void AddBagItemIconSprite(u16 itemId, u8 id)
|
||||
void AddBagItemIconSprite(enum Item itemId, u8 id)
|
||||
{
|
||||
u8 *spriteId = &gBagMenu->spriteIds[id + ITEMMENUSPRITE_ITEM];
|
||||
if (*spriteId == SPRITE_NONE)
|
||||
|
|
|
|||
|
|
@ -219,7 +219,7 @@ static void Task_CloseCantUseKeyItemMessage(u8 taskId)
|
|||
UnlockPlayerFieldControls();
|
||||
}
|
||||
|
||||
u8 CheckIfItemIsTMHMOrEvolutionStone(u16 itemId)
|
||||
u8 CheckIfItemIsTMHMOrEvolutionStone(enum Item itemId)
|
||||
{
|
||||
if (GetItemFieldFunc(itemId) == ItemUseOutOfBattle_TMHM)
|
||||
return 1;
|
||||
|
|
@ -1227,7 +1227,7 @@ void ItemUseInBattle_PartyMenuChooseMove(u8 taskId)
|
|||
ItemUseInBattle_ShowPartyMenu(taskId);
|
||||
}
|
||||
|
||||
static bool32 IteamHealsMonVolatile(u32 battler, u16 itemId)
|
||||
static bool32 IteamHealsMonVolatile(u32 battler, enum Item itemId)
|
||||
{
|
||||
const u8 *effect = GetItemEffect(itemId);
|
||||
if (effect[3] & ITEM3_STATUS_ALL)
|
||||
|
|
@ -1240,7 +1240,7 @@ static bool32 IteamHealsMonVolatile(u32 battler, u16 itemId)
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
static bool32 SelectedMonHasVolatile(u16 itemId)
|
||||
static bool32 SelectedMonHasVolatile(enum Item itemId)
|
||||
{
|
||||
if (gPartyMenu.slotId == 0)
|
||||
return IteamHealsMonVolatile(0, itemId);
|
||||
|
|
@ -1250,7 +1250,7 @@ static bool32 SelectedMonHasVolatile(u16 itemId)
|
|||
}
|
||||
|
||||
// Returns whether an item can be used in battle and sets the fail text.
|
||||
bool32 CannotUseItemsInBattle(u16 itemId, struct Pokemon *mon)
|
||||
bool32 CannotUseItemsInBattle(enum Item itemId, struct Pokemon *mon)
|
||||
{
|
||||
u16 battleUsage = GetItemBattleUsage(itemId);
|
||||
bool8 cannotUse = FALSE;
|
||||
|
|
|
|||
|
|
@ -190,7 +190,7 @@ bool8 HasAnotherPlayerGivenFavorLadyItem(void)
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
static void BufferItemName(u8 *dest, u16 itemId)
|
||||
static void BufferItemName(u8 *dest, enum Item itemId)
|
||||
{
|
||||
StringCopy(dest, GetItemName(itemId));
|
||||
}
|
||||
|
|
@ -226,7 +226,7 @@ void Script_FavorLadyOpenBagMenu(void)
|
|||
FavorLadyOpenBagMenu();
|
||||
}
|
||||
|
||||
static bool8 DoesFavorLadyLikeItem(u16 itemId)
|
||||
static bool8 DoesFavorLadyLikeItem(enum Item itemId)
|
||||
{
|
||||
u8 numItems;
|
||||
u8 i;
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@ bool8 MonHasMail(struct Pokemon *mon)
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
u8 GiveMailToMonByItemId(struct Pokemon *mon, u16 itemId)
|
||||
u8 GiveMailToMonByItemId(struct Pokemon *mon, enum Item itemId)
|
||||
{
|
||||
u8 heldItem[2];
|
||||
u8 id, i;
|
||||
|
|
@ -111,7 +111,7 @@ u16 MailSpeciesToSpecies(u16 mailSpecies, u16 *buffer)
|
|||
u8 GiveMailToMon(struct Pokemon *mon, struct Mail *mail)
|
||||
{
|
||||
u8 heldItem[2];
|
||||
u16 itemId = mail->itemId;
|
||||
enum Item itemId = mail->itemId;
|
||||
u8 mailId = GiveMailToMonByItemId(mon, itemId);
|
||||
|
||||
if (mailId == MAIL_NONE)
|
||||
|
|
@ -182,7 +182,7 @@ u8 TakeMailFromMonAndSave(struct Pokemon *mon)
|
|||
return MAIL_NONE;
|
||||
}
|
||||
|
||||
bool8 ItemIsMail(u16 itemId)
|
||||
bool8 ItemIsMail(enum Item itemId)
|
||||
{
|
||||
switch (itemId)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -272,7 +272,7 @@ u8 GetLRKeysPressedAndHeld(void)
|
|||
return 0;
|
||||
}
|
||||
|
||||
bool8 IsHoldingItemAllowed(u16 itemId)
|
||||
bool8 IsHoldingItemAllowed(enum Item itemId)
|
||||
{
|
||||
// e-Reader Enigma Berry can't be held in link areas
|
||||
if (itemId == ITEM_ENIGMA_BERRY_E_READER
|
||||
|
|
@ -284,7 +284,7 @@ bool8 IsHoldingItemAllowed(u16 itemId)
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
bool8 IsWritingMailAllowed(u16 itemId)
|
||||
bool8 IsWritingMailAllowed(enum Item itemId)
|
||||
{
|
||||
if ((IsOverworldLinkActive() == TRUE || InUnionRoom() == TRUE) && ItemIsMail(itemId) == TRUE)
|
||||
return FALSE;
|
||||
|
|
|
|||
|
|
@ -505,7 +505,7 @@ static void PrintMessageWithPlaceholders(const u8 *src)
|
|||
// If reusable TMs is off, remove the TM from the bag
|
||||
static void RemoveRelearnerTMFromBag(enum Move move)
|
||||
{
|
||||
u16 item = GetTMHMItemIdFromMoveId(move);
|
||||
enum Item item = GetTMHMItemIdFromMoveId(move);
|
||||
|
||||
if (!I_REUSABLE_TMS && !P_ENABLE_ALL_TM_MOVES
|
||||
&& gMoveRelearnerState == MOVE_RELEARNER_TM_MOVES && GetItemTMHMIndex(item) <= NUM_TECHNICAL_MACHINES)
|
||||
|
|
|
|||
|
|
@ -132,7 +132,7 @@ static void ClearRecordMixingGift(void)
|
|||
CpuFill16(0, &gSaveBlock1Ptr->recordMixingGift, sizeof(gSaveBlock1Ptr->recordMixingGift));
|
||||
}
|
||||
|
||||
static void SetRecordMixingGift(u8 unk, u8 quantity, u16 itemId)
|
||||
static void SetRecordMixingGift(u8 unk, u8 quantity, enum Item itemId)
|
||||
{
|
||||
if (!unk || !quantity || !itemId)
|
||||
{
|
||||
|
|
@ -158,7 +158,7 @@ u16 GetRecordMixingGift(void)
|
|||
}
|
||||
else
|
||||
{
|
||||
u16 itemId = data->itemId;
|
||||
enum Item itemId = data->itemId;
|
||||
data->quantity--;
|
||||
if (data->quantity == 0)
|
||||
ClearRecordMixingGift();
|
||||
|
|
@ -305,7 +305,7 @@ bool8 MEScrCmd_setrecordmixinggift(struct ScriptContext *ctx)
|
|||
{
|
||||
u8 unk = ScriptReadByte(ctx);
|
||||
u8 quantity = ScriptReadByte(ctx);
|
||||
u16 itemId = ScriptReadHalfword(ctx);
|
||||
enum Item itemId = ScriptReadHalfword(ctx);
|
||||
SetRecordMixingGift(unk, quantity, itemId);
|
||||
return FALSE;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3495,7 +3495,7 @@ static void SpriteCB_LinkPlayer(struct Sprite *sprite)
|
|||
#define ITEM_ICON_Y 24
|
||||
#define ITEM_TAG 0x2722 //same as money label
|
||||
|
||||
bool8 GetSetItemObtained(u16 item, enum ItemObtainFlags caseId)
|
||||
bool8 GetSetItemObtained(enum Item item, enum ItemObtainFlags caseId)
|
||||
{
|
||||
#if OW_SHOW_ITEM_DESCRIPTIONS == OW_ITEM_DESCRIPTIONS_FIRST_TIME
|
||||
u8 index = item / 8;
|
||||
|
|
@ -3517,10 +3517,10 @@ EWRAM_DATA static u8 sHeaderBoxWindowId = 0;
|
|||
EWRAM_DATA u8 sItemIconSpriteId = 0;
|
||||
EWRAM_DATA u8 sItemIconSpriteId2 = 0;
|
||||
|
||||
static void ShowItemIconSprite(u16 item, bool8 firstTime, bool8 flash);
|
||||
static void ShowItemIconSprite(enum Item item, bool8 firstTime, bool8 flash);
|
||||
static void DestroyItemIconSprite(void);
|
||||
|
||||
static u8 ReformatItemDescription(u16 item, u8 *dest)
|
||||
static u8 ReformatItemDescription(enum Item item, u8 *dest)
|
||||
{
|
||||
u8 count = 0;
|
||||
u8 numLines = 1;
|
||||
|
|
@ -3575,7 +3575,7 @@ void ScriptShowItemDescription(struct ScriptContext *ctx)
|
|||
Script_RequestEffects(SCREFF_V1 | SCREFF_HARDWARE);
|
||||
|
||||
struct WindowTemplate template;
|
||||
u16 item = gSpecialVar_0x8006;
|
||||
enum Item item = gSpecialVar_0x8006;
|
||||
u8 textY;
|
||||
u8 *dst;
|
||||
bool8 handleFlash = FALSE;
|
||||
|
|
@ -3630,7 +3630,7 @@ void ScriptHideItemDescription(struct ScriptContext *ctx)
|
|||
}
|
||||
}
|
||||
|
||||
static void ShowItemIconSprite(u16 item, bool8 firstTime, bool8 flash)
|
||||
static void ShowItemIconSprite(enum Item item, bool8 firstTime, bool8 flash)
|
||||
{
|
||||
s16 x = 0, y = 0;
|
||||
u8 iconSpriteId;
|
||||
|
|
|
|||
|
|
@ -288,7 +288,7 @@ static void DisplayPartyPokemonHP(u16 hp, u16 maxHp, struct PartyMenuBox *menuBo
|
|||
static void DisplayPartyPokemonMaxHP(u16, struct PartyMenuBox *);
|
||||
static void DisplayPartyPokemonHPBar(u16, u16, struct PartyMenuBox *);
|
||||
static void CreatePartyMonIconSpriteParameterized(u16 species, u32 pid, bool32 isEgg, struct PartyMenuBox *menuBox, u8 priority);
|
||||
static void CreatePartyMonHeldItemSpriteParameterized(u16, u16, struct PartyMenuBox *);
|
||||
static void CreatePartyMonHeldItemSpriteParameterized(u16, enum Item, struct PartyMenuBox *);
|
||||
static void CreatePartyMonPokeballSpriteParameterized(u16, struct PartyMenuBox *);
|
||||
static void CreatePartyMonStatusSpriteParameterized(u16, u8, struct PartyMenuBox *);
|
||||
// These next 4 functions are essentially redundant with the above 4
|
||||
|
|
@ -388,7 +388,7 @@ static u16 GetFieldMoveMonSpecies(void);
|
|||
static void UpdatePartyMonHPBar(u8, struct Pokemon *);
|
||||
static void SpriteCB_UpdatePartyMonIcon(struct Sprite *);
|
||||
static void SpriteCB_BouncePartyMonIcon(struct Sprite *);
|
||||
static void ShowOrHideHeldItemSprite(u16, struct PartyMenuBox *);
|
||||
static void ShowOrHideHeldItemSprite(enum Item, struct PartyMenuBox *);
|
||||
static void CreateHeldItemSpriteForTrade(u8, bool8);
|
||||
static void SpriteCB_HeldItem(struct Sprite *);
|
||||
static void SetPartyMonAilmentGfx(struct Pokemon *, struct PartyMenuBox *);
|
||||
|
|
@ -439,7 +439,7 @@ static void CB2_WriteMailToGiveMonFromBag(void);
|
|||
static void GiveItemToSelectedMon(u8);
|
||||
static void Task_UpdateHeldItemSpriteAndClosePartyMenu(u8);
|
||||
static void CB2_ReturnToPartyOrBagMenuFromWritingMail(void);
|
||||
static bool8 ReturnGiveItemToBagOrPC(u16);
|
||||
static bool8 ReturnGiveItemToBagOrPC(enum Item);
|
||||
static void Task_DisplayGaveMailFromBagMessage(u8);
|
||||
static void Task_HandleSwitchItemsFromBagYesNoInput(u8);
|
||||
static void Task_ValidateChosenHalfParty(u8);
|
||||
|
|
@ -1144,7 +1144,7 @@ static void DisplayPartyPokemonDataForBattlePyramidHeldItem(u8 slot)
|
|||
static bool8 DisplayPartyPokemonDataForMoveTutorOrEvolutionItem(u8 slot)
|
||||
{
|
||||
struct Pokemon *currentPokemon = &gPlayerParty[slot];
|
||||
u16 item = gSpecialVar_ItemId;
|
||||
enum Item item = gSpecialVar_ItemId;
|
||||
|
||||
if (gPartyMenu.action == PARTY_ACTION_MOVE_TUTOR)
|
||||
{
|
||||
|
|
@ -1999,7 +1999,7 @@ static void Task_ReturnToChooseMonAfterText(u8 taskId)
|
|||
}
|
||||
}
|
||||
|
||||
static void DisplayGaveHeldItemMessage(struct Pokemon *mon, u16 item, bool8 keepOpen, u8 unused)
|
||||
static void DisplayGaveHeldItemMessage(struct Pokemon *mon, enum Item item, bool8 keepOpen, u8 unused)
|
||||
{
|
||||
GetMonNickname(mon, gStringVar1);
|
||||
CopyItemName(item, gStringVar2);
|
||||
|
|
@ -2008,7 +2008,7 @@ static void DisplayGaveHeldItemMessage(struct Pokemon *mon, u16 item, bool8 keep
|
|||
ScheduleBgCopyTilemapToVram(2);
|
||||
}
|
||||
|
||||
static void DisplayTookHeldItemMessage(struct Pokemon *mon, u16 item, bool8 keepOpen)
|
||||
static void DisplayTookHeldItemMessage(struct Pokemon *mon, enum Item item, bool8 keepOpen)
|
||||
{
|
||||
GetMonNickname(mon, gStringVar1);
|
||||
CopyItemName(item, gStringVar2);
|
||||
|
|
@ -2017,7 +2017,7 @@ static void DisplayTookHeldItemMessage(struct Pokemon *mon, u16 item, bool8 keep
|
|||
ScheduleBgCopyTilemapToVram(2);
|
||||
}
|
||||
|
||||
static void DisplayAlreadyHoldingItemSwitchMessage(struct Pokemon *mon, u16 item, bool8 keepOpen)
|
||||
static void DisplayAlreadyHoldingItemSwitchMessage(struct Pokemon *mon, enum Item item, bool8 keepOpen)
|
||||
{
|
||||
GetMonNickname(mon, gStringVar1);
|
||||
CopyItemName(item, gStringVar2);
|
||||
|
|
@ -2026,7 +2026,7 @@ static void DisplayAlreadyHoldingItemSwitchMessage(struct Pokemon *mon, u16 item
|
|||
ScheduleBgCopyTilemapToVram(2);
|
||||
}
|
||||
|
||||
static void DisplaySwitchedHeldItemMessage(u16 item, u16 item2, bool8 keepOpen)
|
||||
static void DisplaySwitchedHeldItemMessage(enum Item item, enum Item item2, bool8 keepOpen)
|
||||
{
|
||||
CopyItemName(item, gStringVar1);
|
||||
CopyItemName(item2, gStringVar2);
|
||||
|
|
@ -2035,7 +2035,7 @@ static void DisplaySwitchedHeldItemMessage(u16 item, u16 item2, bool8 keepOpen)
|
|||
ScheduleBgCopyTilemapToVram(2);
|
||||
}
|
||||
|
||||
static void GiveItemToMon(struct Pokemon *mon, u16 item)
|
||||
static void GiveItemToMon(struct Pokemon *mon, enum Item item)
|
||||
{
|
||||
u8 itemBytes[2];
|
||||
|
||||
|
|
@ -2052,7 +2052,7 @@ static void GiveItemToMon(struct Pokemon *mon, u16 item)
|
|||
|
||||
static u8 TryTakeMonItem(struct Pokemon *mon)
|
||||
{
|
||||
u16 item = GetMonData(mon, MON_DATA_HELD_ITEM);
|
||||
enum Item item = GetMonData(mon, MON_DATA_HELD_ITEM);
|
||||
|
||||
if (item == ITEM_NONE)
|
||||
return 0;
|
||||
|
|
@ -2999,7 +2999,7 @@ static u8 GetPartyMenuActionsType(struct Pokemon *mon)
|
|||
static bool8 CreateSelectionWindow(u8 taskId)
|
||||
{
|
||||
struct Pokemon *mon = &gPlayerParty[gPartyMenu.slotId];
|
||||
u16 item;
|
||||
enum Item item;
|
||||
|
||||
GetMonNickname(mon, gStringVar1);
|
||||
PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[1]);
|
||||
|
|
@ -3446,7 +3446,7 @@ static void CB2_GiveHoldItem(void)
|
|||
|
||||
static void Task_GiveHoldItem(u8 taskId)
|
||||
{
|
||||
u16 item;
|
||||
enum Item item;
|
||||
|
||||
if (!gPaletteFade.active)
|
||||
{
|
||||
|
|
@ -3537,7 +3537,7 @@ static void CB2_WriteMailToGiveMon(void)
|
|||
static void CB2_ReturnToPartyMenuFromWritingMail(void)
|
||||
{
|
||||
struct Pokemon *mon = &gPlayerParty[gPartyMenu.slotId];
|
||||
u16 item = GetMonData(mon, MON_DATA_HELD_ITEM);
|
||||
enum Item item = GetMonData(mon, MON_DATA_HELD_ITEM);
|
||||
|
||||
// Canceled writing mail
|
||||
if (gSpecialVar_Result == FALSE)
|
||||
|
|
@ -3589,7 +3589,7 @@ static void Task_UpdateHeldItemSprite(u8 taskId)
|
|||
static void CursorCb_TakeItem(u8 taskId)
|
||||
{
|
||||
struct Pokemon *mon = &gPlayerParty[gPartyMenu.slotId];
|
||||
u16 item = GetMonData(mon, MON_DATA_HELD_ITEM);
|
||||
enum Item item = GetMonData(mon, MON_DATA_HELD_ITEM);
|
||||
|
||||
PlaySE(SE_SELECT);
|
||||
PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[0]);
|
||||
|
|
@ -3616,7 +3616,7 @@ static void CursorCb_TakeItem(u8 taskId)
|
|||
static void CursorCb_Toss(u8 taskId)
|
||||
{
|
||||
struct Pokemon *mon = &gPlayerParty[gPartyMenu.slotId];
|
||||
u16 item = GetMonData(mon, MON_DATA_HELD_ITEM);
|
||||
enum Item item = GetMonData(mon, MON_DATA_HELD_ITEM);
|
||||
|
||||
PlaySE(SE_SELECT);
|
||||
PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[0]);
|
||||
|
|
@ -3673,7 +3673,7 @@ static void Task_TossHeldItem(u8 taskId)
|
|||
|
||||
if (IsPartyMenuTextPrinterActive() != TRUE)
|
||||
{
|
||||
u16 item = ITEM_NONE;
|
||||
enum Item item = ITEM_NONE;
|
||||
|
||||
SetMonData(mon, MON_DATA_HELD_ITEM, &item);
|
||||
UpdatePartyMonHeldItemSprite(mon, &sPartyMenuBoxes[gPartyMenu.slotId]);
|
||||
|
|
@ -3767,7 +3767,7 @@ static void Task_LoseMailMessageYesNo(u8 taskId)
|
|||
|
||||
static void Task_HandleLoseMailMessageYesNoInput(u8 taskId)
|
||||
{
|
||||
u16 item;
|
||||
enum Item item;
|
||||
|
||||
switch (Menu_ProcessInputNoWrapClearOnChoose())
|
||||
{
|
||||
|
|
@ -4414,7 +4414,7 @@ static void CreatePartyMonHeldItemSprite(struct Pokemon *mon, struct PartyMenuBo
|
|||
}
|
||||
}
|
||||
|
||||
static void CreatePartyMonHeldItemSpriteParameterized(u16 species, u16 item, struct PartyMenuBox *menuBox)
|
||||
static void CreatePartyMonHeldItemSpriteParameterized(u16 species, enum Item item, struct PartyMenuBox *menuBox)
|
||||
{
|
||||
if (species != SPECIES_NONE)
|
||||
{
|
||||
|
|
@ -4429,7 +4429,7 @@ static void UpdatePartyMonHeldItemSprite(struct Pokemon *mon, struct PartyMenuBo
|
|||
ShowOrHideHeldItemSprite(GetMonData(mon, MON_DATA_HELD_ITEM), menuBox);
|
||||
}
|
||||
|
||||
static void ShowOrHideHeldItemSprite(u16 item, struct PartyMenuBox *menuBox)
|
||||
static void ShowOrHideHeldItemSprite(enum Item item, struct PartyMenuBox *menuBox)
|
||||
{
|
||||
if (item == ITEM_NONE)
|
||||
{
|
||||
|
|
@ -4454,7 +4454,7 @@ void LoadHeldItemIcons(void)
|
|||
void DrawHeldItemIconsForTrade(u8 *partyCounts, u8 *partySpriteIds, u8 whichParty)
|
||||
{
|
||||
u16 i;
|
||||
u16 item;
|
||||
enum Item item;
|
||||
|
||||
switch (whichParty)
|
||||
{
|
||||
|
|
@ -4684,7 +4684,7 @@ static void Task_SetSacredAshCB(u8 taskId)
|
|||
}
|
||||
}
|
||||
|
||||
static bool8 IsHPRecoveryItem(u16 item)
|
||||
static bool32 IsHPRecoveryItem(enum Item item)
|
||||
{
|
||||
const u8 *effect = GetItemEffect(item);
|
||||
|
||||
|
|
@ -4697,7 +4697,7 @@ static bool8 IsHPRecoveryItem(u16 item)
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
static void GetMedicineItemEffectMessage(u16 item, u32 statusCured)
|
||||
static void GetMedicineItemEffectMessage(enum Item item, u32 statusCured)
|
||||
{
|
||||
switch (GetItemEffectType(item))
|
||||
{
|
||||
|
|
@ -4765,14 +4765,14 @@ static void GetMedicineItemEffectMessage(u16 item, u32 statusCured)
|
|||
}
|
||||
}
|
||||
|
||||
static bool8 NotUsingHPEVItemOnShedinja(struct Pokemon *mon, u16 item)
|
||||
static bool32 NotUsingHPEVItemOnShedinja(struct Pokemon *mon, enum Item item)
|
||||
{
|
||||
if (GetItemEffectType(item) == ITEM_EFFECT_HP_EV && GetMonData(mon, MON_DATA_SPECIES) == SPECIES_SHEDINJA)
|
||||
return FALSE;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static bool32 IsItemFlute(u16 item)
|
||||
static bool32 IsItemFlute(enum Item item)
|
||||
{
|
||||
if (item == ITEM_BLUE_FLUTE || item == ITEM_RED_FLUTE || item == ITEM_YELLOW_FLUTE)
|
||||
return TRUE;
|
||||
|
|
@ -4815,7 +4815,7 @@ void ItemUseCB_Medicine(u8 taskId, TaskFunc task)
|
|||
{
|
||||
u16 hp = 0;
|
||||
struct Pokemon *mon = &gPlayerParty[gPartyMenu.slotId];
|
||||
u16 item = gSpecialVar_ItemId;
|
||||
enum Item item = gSpecialVar_ItemId;
|
||||
bool8 canHeal, cannotUse;
|
||||
u32 oldStatus = GetMonData(mon, MON_DATA_STATUS);
|
||||
|
||||
|
|
@ -5194,7 +5194,7 @@ static void Task_ClosePartyMenuAfterText(u8 taskId)
|
|||
void ItemUseCB_ResetEVs(u8 taskId, TaskFunc task)
|
||||
{
|
||||
struct Pokemon *mon = &gPlayerParty[gPartyMenu.slotId];
|
||||
u16 item = gSpecialVar_ItemId;
|
||||
enum Item item = gSpecialVar_ItemId;
|
||||
bool8 cannotUseEffect = ExecuteTableBasedItemEffect(mon, item, gPartyMenu.slotId, 0);
|
||||
|
||||
if (cannotUseEffect)
|
||||
|
|
@ -5221,7 +5221,7 @@ void ItemUseCB_ResetEVs(u8 taskId, TaskFunc task)
|
|||
void ItemUseCB_ReduceEV(u8 taskId, TaskFunc task)
|
||||
{
|
||||
struct Pokemon *mon = &gPlayerParty[gPartyMenu.slotId];
|
||||
u16 item = gSpecialVar_ItemId;
|
||||
enum Item item = gSpecialVar_ItemId;
|
||||
u8 effectType = GetItemEffectType(item);
|
||||
u16 friendship = GetMonData(mon, MON_DATA_FRIENDSHIP);
|
||||
u16 ev = ItemEffectToMonEv(mon, effectType);
|
||||
|
|
@ -5409,7 +5409,7 @@ static void TryUseItemOnMove(u8 taskId)
|
|||
{
|
||||
enum Move move = MOVE_NONE;
|
||||
s16 *moveSlot = &gPartyMenu.data1;
|
||||
u16 item = gSpecialVar_ItemId;
|
||||
enum Item item = gSpecialVar_ItemId;
|
||||
|
||||
if (ExecuteTableBasedItemEffect(mon, item, ptr->slotId, *moveSlot))
|
||||
{
|
||||
|
|
@ -5442,7 +5442,7 @@ void ItemUseCB_PPUp(u8 taskId, TaskFunc task)
|
|||
gTasks[taskId].func = Task_HandleWhichMoveInput;
|
||||
}
|
||||
|
||||
enum Move ItemIdToBattleMoveId(u16 item)
|
||||
enum Move ItemIdToBattleMoveId(enum Item item)
|
||||
{
|
||||
return (GetItemPocket(item) == POCKET_TM_HM) ? GetItemTMHMMoveId(item) : MOVE_NONE;
|
||||
}
|
||||
|
|
@ -5489,7 +5489,7 @@ static void DisplayLearnMoveMessageAndClose(u8 taskId, const u8 *str)
|
|||
void ItemUseCB_TMHM(u8 taskId, TaskFunc task)
|
||||
{
|
||||
struct Pokemon *mon;
|
||||
u16 item = gSpecialVar_ItemId;
|
||||
enum Item item = gSpecialVar_ItemId;
|
||||
enum Move move = ItemIdToBattleMoveId(item);
|
||||
|
||||
gPartyMenu.data1 = move;
|
||||
|
|
@ -5526,7 +5526,7 @@ static void Task_LearnedMove(u8 taskId)
|
|||
{
|
||||
struct Pokemon *mon = &gPlayerParty[gPartyMenu.slotId];
|
||||
s16 *move = &gPartyMenu.data1;
|
||||
u16 item = gSpecialVar_ItemId;
|
||||
enum Item item = gSpecialVar_ItemId;
|
||||
|
||||
if (move[1] == 0)
|
||||
{
|
||||
|
|
@ -6923,7 +6923,7 @@ void TryItemHoldFormChange(struct Pokemon *mon, s8 slotId)
|
|||
#undef tAnimWait
|
||||
#undef tNextFunc
|
||||
|
||||
u8 GetItemEffectType(u16 item)
|
||||
u8 GetItemEffectType(enum Item item)
|
||||
{
|
||||
u32 statusCure;
|
||||
const u8 *itemEffect = GetItemEffect(item);
|
||||
|
|
@ -7067,7 +7067,7 @@ static void GiveItemOrMailToSelectedMon(u8 taskId)
|
|||
|
||||
static void GiveItemToSelectedMon(u8 taskId)
|
||||
{
|
||||
u16 item;
|
||||
enum Item item;
|
||||
|
||||
if (!gPaletteFade.active)
|
||||
{
|
||||
|
|
@ -7106,7 +7106,7 @@ static void CB2_WriteMailToGiveMonFromBag(void)
|
|||
static void CB2_ReturnToPartyOrBagMenuFromWritingMail(void)
|
||||
{
|
||||
struct Pokemon *mon = &gPlayerParty[gPartyMenu.slotId];
|
||||
u16 item = GetMonData(mon, MON_DATA_HELD_ITEM);
|
||||
enum Item item = GetMonData(mon, MON_DATA_HELD_ITEM);
|
||||
|
||||
// Canceled writing mail
|
||||
if (gSpecialVar_Result == FALSE)
|
||||
|
|
@ -7147,7 +7147,7 @@ static void Task_SwitchItemsFromBagYesNo(u8 taskId)
|
|||
|
||||
static void Task_HandleSwitchItemsFromBagYesNoInput(u8 taskId)
|
||||
{
|
||||
u16 item;
|
||||
enum Item item;
|
||||
|
||||
switch (Menu_ProcessInputNoWrapClearOnChoose())
|
||||
{
|
||||
|
|
@ -7191,7 +7191,7 @@ static void DisplayItemMustBeRemovedFirstMessage(u8 taskId)
|
|||
|
||||
// Returns FALSE if there was no space to return the item
|
||||
// but there always should be, and the return is ignored in all uses
|
||||
static bool8 ReturnGiveItemToBagOrPC(u16 item)
|
||||
static bool8 ReturnGiveItemToBagOrPC(enum Item item)
|
||||
{
|
||||
if (gPartyMenu.action == PARTY_ACTION_GIVE_ITEM)
|
||||
return AddBagItem(item, 1);
|
||||
|
|
@ -7300,7 +7300,7 @@ static u8 CheckBattleEntriesAndGetMessage(void)
|
|||
for (i = 0; i < maxBattlers - 1; i++)
|
||||
{
|
||||
u16 species = GetMonData(&party[order[i] - 1], MON_DATA_SPECIES);
|
||||
u16 item = GetMonData(&party[order[i] - 1], MON_DATA_HELD_ITEM);
|
||||
enum Item item = GetMonData(&party[order[i] - 1], MON_DATA_HELD_ITEM);
|
||||
for (j = i + 1; j < maxBattlers; j++)
|
||||
{
|
||||
if (species == GetMonData(&party[order[j] - 1], MON_DATA_SPECIES))
|
||||
|
|
@ -8240,7 +8240,7 @@ static void CursorCb_LearnMovesSubMenu(u8 taskId)
|
|||
|
||||
void CursorCb_MoveItemCallback(u8 taskId)
|
||||
{
|
||||
u16 item1, item2;
|
||||
enum Item item1, item2;
|
||||
u8 buffer[100];
|
||||
|
||||
if (gPaletteFade.active || MenuHelpers_ShouldWaitForLinkRecv())
|
||||
|
|
|
|||
|
|
@ -66,19 +66,6 @@ enum {
|
|||
// When showing the main list, the first window to this window are drawn
|
||||
#define ITEMPC_WIN_LIST_END ITEMPC_WIN_TITLE
|
||||
|
||||
// Message IDs for Item Storage
|
||||
enum {
|
||||
MSG_SWITCH_WHICH_ITEM = 0xFFF7,
|
||||
MSG_OKAY_TO_THROW_AWAY,
|
||||
MSG_TOO_IMPORTANT,
|
||||
MSG_NO_MORE_ROOM,
|
||||
MSG_THREW_AWAY_ITEM,
|
||||
MSG_HOW_MANY_TO_TOSS,
|
||||
MSG_WITHDREW_ITEM,
|
||||
MSG_HOW_MANY_TO_WITHDRAW,
|
||||
MSG_GO_BACK_TO_PREV
|
||||
};
|
||||
|
||||
#define TAG_ITEM_ICON 5110
|
||||
#define TAG_SCROLL_ARROW 5112
|
||||
|
||||
|
|
@ -161,8 +148,7 @@ static void ItemStorage_HandleRemoveItem(u8);
|
|||
static void ItemStorage_HandleErrorMessageInput(u8);
|
||||
static void ItemStorage_ReturnToListInput(u8);
|
||||
|
||||
static const u8 *ItemStorage_GetMessage(u16);
|
||||
static void CopyItemName_PlayerPC(u8 *, u16);
|
||||
static void CopyItemName_PlayerPC(u8 *, enum Item);
|
||||
|
||||
static void ItemStorage_Init(void);
|
||||
static void ItemStorage_DrawSwapArrow(u8, u8, u8);
|
||||
|
|
@ -170,7 +156,7 @@ static void ItemStorage_RemoveWindow(u8);
|
|||
static void ItemStorage_UpdateSwapLinePos(u8);
|
||||
static void ItemStorage_ProcessItemSwapInput(u8);
|
||||
static void ItemStorage_EraseItemIcon(void);
|
||||
static void ItemStorage_DrawItemIcon(u16);
|
||||
static void ItemStorage_DrawItemIcon(enum Item);
|
||||
static void ItemStorage_PrintDescription(s32);
|
||||
static void ItemStorage_EraseMainMenu(u8);
|
||||
static void ItemStorage_MoveCursor(s32, bool8, struct ListMenu *);
|
||||
|
|
@ -1018,7 +1004,7 @@ void ItemStorage_RefreshListMenu(void)
|
|||
gMultiuseListMenuTemplate.maxShowed = gPlayerPCItemPageInfo.pageItems;
|
||||
}
|
||||
|
||||
void CopyItemName_PlayerPC(u8 *string, u16 itemId)
|
||||
void CopyItemName_PlayerPC(u8 *string, enum Item itemId)
|
||||
{
|
||||
CopyItemName(itemId, string);
|
||||
}
|
||||
|
|
@ -1064,7 +1050,7 @@ static void ItemStorage_PrintDescription(s32 id)
|
|||
if (id != LIST_CANCEL)
|
||||
description = (u8 *)GetItemDescription(gSaveBlock1Ptr->pcItems[id].itemId);
|
||||
else
|
||||
description = ItemStorage_GetMessage(MSG_GO_BACK_TO_PREV);
|
||||
description = gText_GoBackPrevMenu;
|
||||
|
||||
FillWindowPixelBuffer(windowId, PIXEL_FILL(1));
|
||||
AddTextPrinterParameterized(windowId, FONT_NORMAL, description, 0, 1, 0, NULL);
|
||||
|
|
@ -1103,7 +1089,7 @@ static void ItemStorage_DrawSwapArrow(u8 y, u8 b, u8 speed)
|
|||
AddTextPrinterParameterized4(windowId, FONT_NORMAL, 0, y, 0, 0, sSwapArrowTextColors, speed, gText_SelectorArrow2);
|
||||
}
|
||||
|
||||
static void ItemStorage_DrawItemIcon(u16 itemId)
|
||||
static void ItemStorage_DrawItemIcon(enum Item itemId)
|
||||
{
|
||||
u8 spriteId;
|
||||
u8 *spriteIdLoc = &sItemStorageMenu->spriteId;
|
||||
|
|
@ -1172,46 +1158,6 @@ static void ItemStorage_CreateListMenu(u8 taskId)
|
|||
gTasks[taskId].func = ItemStorage_ProcessInput;
|
||||
}
|
||||
|
||||
static const u8 *ItemStorage_GetMessage(u16 itemId)
|
||||
{
|
||||
const u8 *string;
|
||||
|
||||
switch(itemId)
|
||||
{
|
||||
case MSG_GO_BACK_TO_PREV:
|
||||
string = gText_GoBackPrevMenu;
|
||||
break;
|
||||
case MSG_HOW_MANY_TO_WITHDRAW:
|
||||
string = sText_WithdrawHowManyItems;
|
||||
break;
|
||||
case MSG_WITHDREW_ITEM:
|
||||
string = sText_WithdrawXItems;
|
||||
break;
|
||||
case MSG_HOW_MANY_TO_TOSS:
|
||||
string = gText_TossHowManyVar1s;
|
||||
break;
|
||||
case MSG_THREW_AWAY_ITEM:
|
||||
string = gText_ThrewAwayVar2Var1s;
|
||||
break;
|
||||
case MSG_NO_MORE_ROOM:
|
||||
string = sText_NoRoomInBag;
|
||||
break;
|
||||
case MSG_TOO_IMPORTANT:
|
||||
string = sText_TooImportantToToss;
|
||||
break;
|
||||
case MSG_OKAY_TO_THROW_AWAY:
|
||||
string = gText_ConfirmTossItems;
|
||||
break;
|
||||
case MSG_SWITCH_WHICH_ITEM:
|
||||
string = gText_MoveVar1Where;
|
||||
break;
|
||||
default:
|
||||
string = GetItemDescription(itemId);
|
||||
break;
|
||||
}
|
||||
return string;
|
||||
}
|
||||
|
||||
static void ItemStorage_PrintMessage(const u8 *string)
|
||||
{
|
||||
u8 windowId = sItemStorageMenu->windowIds[ITEMPC_WIN_MESSAGE];
|
||||
|
|
@ -1289,7 +1235,7 @@ static void ItemStorage_StartItemSwap(u8 taskId)
|
|||
ItemStorage_SetSwapArrow(tListTaskId, 0, 0);
|
||||
ItemStorage_UpdateSwapLinePos(sItemStorageMenu->toSwapPos);
|
||||
CopyItemName(gSaveBlock1Ptr->pcItems[sItemStorageMenu->toSwapPos].itemId, gStringVar1);
|
||||
ItemStorage_PrintMessage(ItemStorage_GetMessage(MSG_SWITCH_WHICH_ITEM));
|
||||
ItemStorage_PrintMessage(gText_MoveVar1Where);
|
||||
gTasks[taskId].func = ItemStorage_ProcessItemSwapInput;
|
||||
}
|
||||
|
||||
|
|
@ -1380,7 +1326,7 @@ static void ItemStorage_DoItemAction(u8 taskId)
|
|||
// Withdrawing multiple items, show "how many" message
|
||||
end = CopyItemNameHandlePlural(gSaveBlock1Ptr->pcItems[pos].itemId, gStringVar1, 2);
|
||||
WrapFontIdToFit(gStringVar1, end, FONT_NORMAL, WindowWidthPx(ITEMPC_WIN_MESSAGE) - 6);
|
||||
ItemStorage_PrintMessage(ItemStorage_GetMessage(MSG_HOW_MANY_TO_WITHDRAW));
|
||||
ItemStorage_PrintMessage(sText_WithdrawHowManyItems);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -1394,7 +1340,7 @@ static void ItemStorage_DoItemAction(u8 taskId)
|
|||
// Tossing multiple items, show "how many" message
|
||||
end = CopyItemNameHandlePlural(gSaveBlock1Ptr->pcItems[pos].itemId, gStringVar1, 2);
|
||||
WrapFontIdToFit(gStringVar1, end, FONT_NORMAL, WindowWidthPx(ITEMPC_WIN_MESSAGE) - 6);
|
||||
ItemStorage_PrintMessage(ItemStorage_GetMessage(MSG_HOW_MANY_TO_TOSS));
|
||||
ItemStorage_PrintMessage(gText_TossHowManyVar1s);
|
||||
}
|
||||
|
||||
// Set up "how many" prompt
|
||||
|
|
@ -1428,7 +1374,7 @@ static void ItemStorage_HandleQuantityRolling(u8 taskId)
|
|||
// Canceled action
|
||||
PlaySE(SE_SELECT);
|
||||
ItemStorage_RemoveWindow(ITEMPC_WIN_QUANTITY);
|
||||
ItemStorage_PrintMessage(ItemStorage_GetMessage(gSaveBlock1Ptr->pcItems[pos].itemId));
|
||||
ItemStorage_PrintMessage(GetItemDescription(gSaveBlock1Ptr->pcItems[pos].itemId));
|
||||
ItemStorage_ReturnToListInput(taskId);
|
||||
}
|
||||
}
|
||||
|
|
@ -1445,14 +1391,14 @@ static void ItemStorage_DoItemWithdraw(u8 taskId)
|
|||
u8 *end = CopyItemNameHandlePlural(gSaveBlock1Ptr->pcItems[pos].itemId, gStringVar1, tQuantity);
|
||||
WrapFontIdToFit(gStringVar1, end, FONT_NORMAL, WindowWidthPx(ITEMPC_WIN_MESSAGE) - 6);
|
||||
ConvertIntToDecimalStringN(gStringVar2, tQuantity, STR_CONV_MODE_LEFT_ALIGN, 3);
|
||||
ItemStorage_PrintMessage(ItemStorage_GetMessage(MSG_WITHDREW_ITEM));
|
||||
ItemStorage_PrintMessage(sText_WithdrawXItems);
|
||||
gTasks[taskId].func = ItemStorage_HandleRemoveItem;
|
||||
}
|
||||
else
|
||||
{
|
||||
// No room to withdraw items
|
||||
tQuantity = 0;
|
||||
ItemStorage_PrintMessage(ItemStorage_GetMessage(MSG_NO_MORE_ROOM));
|
||||
ItemStorage_PrintMessage(sText_NoRoomInBag);
|
||||
gTasks[taskId].func = ItemStorage_HandleErrorMessageInput;
|
||||
}
|
||||
}
|
||||
|
|
@ -1468,27 +1414,27 @@ static void ItemStorage_DoItemToss(u8 taskId)
|
|||
u8 *end = CopyItemNameHandlePlural(gSaveBlock1Ptr->pcItems[pos].itemId, gStringVar1, tQuantity);
|
||||
WrapFontIdToFit(gStringVar1, end, FONT_NORMAL, WindowWidthPx(ITEMPC_WIN_MESSAGE) - 6);
|
||||
ConvertIntToDecimalStringN(gStringVar2, tQuantity, STR_CONV_MODE_LEFT_ALIGN, 3);
|
||||
ItemStorage_PrintMessage(ItemStorage_GetMessage(MSG_OKAY_TO_THROW_AWAY));
|
||||
ItemStorage_PrintMessage(gText_ConfirmTossItems);
|
||||
CreateYesNoMenuWithCallbacks(taskId, &sWindowTemplates_ItemStorage[ITEMPC_WIN_YESNO], 1, 0, 1, 0x214, 0xE, &ItemTossYesNoFuncs);
|
||||
}
|
||||
else
|
||||
{
|
||||
// Can't toss important items
|
||||
tQuantity = 0;
|
||||
ItemStorage_PrintMessage(ItemStorage_GetMessage(MSG_TOO_IMPORTANT));
|
||||
ItemStorage_PrintMessage(sText_TooImportantToToss);
|
||||
gTasks[taskId].func = ItemStorage_HandleErrorMessageInput;
|
||||
}
|
||||
}
|
||||
|
||||
static void ItemStorage_TossItemYes(u8 taskId)
|
||||
{
|
||||
ItemStorage_PrintMessage(ItemStorage_GetMessage(MSG_THREW_AWAY_ITEM));
|
||||
ItemStorage_PrintMessage(gText_ThrewAwayVar2Var1s);
|
||||
gTasks[taskId].func = ItemStorage_HandleRemoveItem;
|
||||
}
|
||||
|
||||
static void ItemStorage_TossItemNo(u8 taskId)
|
||||
{
|
||||
ItemStorage_PrintMessage(ItemStorage_GetMessage(gSaveBlock1Ptr->pcItems[gPlayerPCItemPageInfo.itemsAbove + gPlayerPCItemPageInfo.cursorPos].itemId));
|
||||
ItemStorage_PrintMessage(GetItemDescription(gSaveBlock1Ptr->pcItems[gPlayerPCItemPageInfo.itemsAbove + gPlayerPCItemPageInfo.cursorPos].itemId));
|
||||
ItemStorage_ReturnToListInput(taskId);
|
||||
}
|
||||
|
||||
|
|
@ -1512,7 +1458,7 @@ static void ItemStorage_HandleErrorMessageInput(u8 taskId)
|
|||
{
|
||||
if (JOY_NEW(A_BUTTON | B_BUTTON))
|
||||
{
|
||||
ItemStorage_PrintMessage(ItemStorage_GetMessage(gSaveBlock1Ptr->pcItems[gPlayerPCItemPageInfo.itemsAbove + gPlayerPCItemPageInfo.cursorPos].itemId));
|
||||
ItemStorage_PrintMessage(GetItemDescription(gSaveBlock1Ptr->pcItems[gPlayerPCItemPageInfo.itemsAbove + gPlayerPCItemPageInfo.cursorPos].itemId));
|
||||
ItemStorage_ReturnToListInput(taskId);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -596,7 +596,7 @@ static u16 NationalPokedexNumToSpeciesHGSS(u16 nationalNum);
|
|||
u32 GetSpeciesNameFontId(u32 nameWidth);
|
||||
u32 GetSpeciesNameWidthInChars(const u8 *speciesName);
|
||||
bool32 IsSpeciesAlcremie(u32 targetSpecies);
|
||||
bool32 IsItemSweet(u32 item);
|
||||
bool32 IsItemSweet(enum Item item);
|
||||
|
||||
//Stat bars by DizzyEgg
|
||||
#define TAG_STAT_BAR 4097
|
||||
|
|
@ -5104,7 +5104,7 @@ static void PrintStatsScreen_Moves_Top(u8 taskId)
|
|||
u8 moves_x = 5;
|
||||
u8 moves_y = 3;
|
||||
|
||||
u32 item = ITEM_MASTER_BALL;
|
||||
enum Item item = ITEM_MASTER_BALL;
|
||||
u32 species = NationalPokedexNumToSpeciesHGSS(sPokedexListItem->dexNum);
|
||||
u32 selected = sPokedexView->moveSelected;
|
||||
enum Move move = GetSelectedMove(species, selected);
|
||||
|
|
@ -5130,7 +5130,7 @@ static void PrintStatsScreen_Moves_Top(u8 taskId)
|
|||
}
|
||||
else if (move)
|
||||
{
|
||||
u32 TMHMItemId = ITEM_NONE;
|
||||
enum Item TMHMItemId = ITEM_NONE;
|
||||
for (u32 i = 0; i < NUM_ALL_MACHINES; i++)
|
||||
{
|
||||
if (move == GetTMHMMoveId(i + 1))
|
||||
|
|
@ -6399,7 +6399,7 @@ bool32 IsSpeciesAlcremie(u32 targetSpecies)
|
|||
return GET_BASE_SPECIES_ID(targetSpecies) == SPECIES_ALCREMIE;
|
||||
}
|
||||
|
||||
bool32 IsItemSweet(u32 item)
|
||||
bool32 IsItemSweet(enum Item item)
|
||||
{
|
||||
return item >= ITEM_STRAWBERRY_SWEET && item <= ITEM_RIBBON_SWEET;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -76,7 +76,7 @@
|
|||
struct SpeciesItem
|
||||
{
|
||||
u16 species;
|
||||
u16 item;
|
||||
enum Item item;
|
||||
};
|
||||
|
||||
static u16 CalculateBoxMonChecksum(struct BoxPokemon *boxMon);
|
||||
|
|
@ -3599,7 +3599,7 @@ void CopyPartyMonToBattleData(u32 battler, u32 partyIndex)
|
|||
ClearTemporarySpeciesSpriteData(battler, FALSE, FALSE);
|
||||
}
|
||||
|
||||
bool8 ExecuteTableBasedItemEffect(struct Pokemon *mon, u16 item, u8 partyIndex, u8 moveIndex)
|
||||
bool8 ExecuteTableBasedItemEffect(struct Pokemon *mon, enum Item item, u8 partyIndex, u8 moveIndex)
|
||||
{
|
||||
return PokemonUseItemEffects(mon, item, partyIndex, moveIndex, FALSE);
|
||||
}
|
||||
|
|
@ -3630,7 +3630,7 @@ const u32 sExpCandyExperienceTable[] = {
|
|||
};
|
||||
|
||||
// Returns TRUE if the item has no effect on the Pokémon, FALSE otherwise
|
||||
bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 moveIndex, bool8 usedByAI)
|
||||
bool8 PokemonUseItemEffects(struct Pokemon *mon, enum Item item, u8 partyIndex, u8 moveIndex, bool8 usedByAI)
|
||||
{
|
||||
u32 dataUnsigned;
|
||||
s32 dataSigned, evCap;
|
||||
|
|
@ -3644,7 +3644,7 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov
|
|||
enum HoldEffect holdEffect;
|
||||
u8 battler = MAX_BATTLERS_COUNT;
|
||||
bool32 friendshipOnly = FALSE;
|
||||
u16 heldItem;
|
||||
enum Item heldItem;
|
||||
u8 effectFlags;
|
||||
s8 evChange;
|
||||
u16 evCount;
|
||||
|
|
@ -4114,7 +4114,7 @@ bool8 HealStatusConditions(struct Pokemon *mon, u32 healMask, u8 battler)
|
|||
}
|
||||
}
|
||||
|
||||
u8 GetItemEffectParamOffset(u32 battler, u16 itemId, u8 effectByte, u8 effectBit)
|
||||
u8 GetItemEffectParamOffset(u32 battler, enum Item itemId, u8 effectByte, u8 effectBit)
|
||||
{
|
||||
const u8 *temp;
|
||||
const u8 *itemEffect;
|
||||
|
|
@ -4244,7 +4244,7 @@ static void BufferStatRoseMessage(enum Stat statIdx)
|
|||
BattleStringExpandPlaceholdersToDisplayedString(gText_DefendersStatRose);
|
||||
}
|
||||
|
||||
u8 *UseStatIncreaseItem(u16 itemId)
|
||||
u8 *UseStatIncreaseItem(enum Item itemId)
|
||||
{
|
||||
const u8 *itemEffect;
|
||||
|
||||
|
|
@ -5483,7 +5483,7 @@ u32 GetRelearnerTMMovesBox(struct BoxPokemon *boxMon, u16 *moves)
|
|||
|
||||
for (u32 i = 0; i < NUM_ALL_MACHINES; i++)
|
||||
{
|
||||
enum TMHMItemId item = GetTMHMItemId(i + 1);
|
||||
enum Item item = GetTMHMItemId(i + 1);
|
||||
enum Move move = GetTMHMMoveId(i + 1);
|
||||
|
||||
if (move == MOVE_NONE)
|
||||
|
|
@ -5622,7 +5622,7 @@ bool32 HasRelearnerTMMovesBox(struct BoxPokemon *boxMon)
|
|||
|
||||
for (u32 i = 0; i < NUM_ALL_MACHINES; i++)
|
||||
{
|
||||
enum TMHMItemId item = GetTMHMItemId(i + 1);
|
||||
enum Item item = GetTMHMItemId(i + 1);
|
||||
enum Move move = GetTMHMMoveId(i + 1);
|
||||
|
||||
if (move == MOVE_NONE)
|
||||
|
|
|
|||
|
|
@ -339,7 +339,7 @@ static u16 GetPrizeData(void);
|
|||
static void UnpackPrizeData(u16, u16 *, u16 *);
|
||||
static u16 GetPrizeItemId(void);
|
||||
static u16 GetPrizeQuantity(void);
|
||||
static u16 GetQuantityLimitedByBag(u16, u16);
|
||||
static u16 GetQuantityLimitedByBag(enum Item, u16);
|
||||
static void SpriteCB_Star(struct Sprite *);
|
||||
static void SpriteCB_MonHitShake(struct Sprite *);
|
||||
static void SpriteCB_MonHitFlash(struct Sprite *);
|
||||
|
|
@ -352,9 +352,9 @@ static void SetUpPokeJumpGfxFuncById(int);
|
|||
static bool32 IsPokeJumpGfxFuncFinished(void);
|
||||
static void SetUpResetVineGfx(void);
|
||||
static bool32 ResetVineGfx(void);
|
||||
static void PrintPrizeMessage(u16, u16);
|
||||
static void PrintPrizeFilledBagMessage(u16);
|
||||
static void PrintNoRoomForPrizeMessage(u16);
|
||||
static void PrintPrizeMessage(enum Item, u16);
|
||||
static void PrintPrizeFilledBagMessage(enum Item);
|
||||
static void PrintNoRoomForPrizeMessage(enum Item);
|
||||
static bool32 DoPrizeMessageAndFanfare(void);
|
||||
static void ClearMessageWindow(void);
|
||||
static void SetMonSpriteY(u32, s16);
|
||||
|
|
@ -2153,7 +2153,7 @@ static bool32 HasEnoughScoreForPrize(void)
|
|||
|
||||
static u16 GetPrizeData(void)
|
||||
{
|
||||
u16 itemId = GetPrizeItemId();
|
||||
enum Item itemId = GetPrizeItemId();
|
||||
u16 quantity = GetPrizeQuantity();
|
||||
return (quantity << 12) | (itemId & 0xFFF);
|
||||
}
|
||||
|
|
@ -2186,7 +2186,7 @@ static u16 GetPrizeQuantity(void)
|
|||
return quantity;
|
||||
}
|
||||
|
||||
static u16 GetQuantityLimitedByBag(u16 item, u16 quantity)
|
||||
static u16 GetQuantityLimitedByBag(enum Item item, u16 quantity)
|
||||
{
|
||||
while (quantity && !CheckBagHasSpace(item, quantity))
|
||||
quantity--;
|
||||
|
|
@ -3331,7 +3331,7 @@ static bool32 ResetVineGfx(void)
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
static void PrintPrizeMessage(u16 itemId, u16 quantity)
|
||||
static void PrintPrizeMessage(enum Item itemId, u16 quantity)
|
||||
{
|
||||
CopyItemNameHandlePlural(itemId, sPokemonJumpGfx->itemName, quantity);
|
||||
ConvertIntToDecimalStringN(sPokemonJumpGfx->itemQuantityStr, quantity, STR_CONV_MODE_LEFT_ALIGN, 1);
|
||||
|
|
@ -3346,7 +3346,7 @@ static void PrintPrizeMessage(u16 itemId, u16 quantity)
|
|||
sPokemonJumpGfx->msgWindowState = 0;
|
||||
}
|
||||
|
||||
static void PrintPrizeFilledBagMessage(u16 itemId)
|
||||
static void PrintPrizeFilledBagMessage(enum Item itemId)
|
||||
{
|
||||
CopyItemName(itemId, sPokemonJumpGfx->itemName);
|
||||
DynamicPlaceholderTextUtil_Reset();
|
||||
|
|
@ -3359,7 +3359,7 @@ static void PrintPrizeFilledBagMessage(u16 itemId)
|
|||
sPokemonJumpGfx->msgWindowState = 0;
|
||||
}
|
||||
|
||||
static void PrintNoRoomForPrizeMessage(u16 itemId)
|
||||
static void PrintNoRoomForPrizeMessage(enum Item itemId)
|
||||
{
|
||||
CopyItemName(itemId, sPokemonJumpGfx->itemName);
|
||||
DynamicPlaceholderTextUtil_Reset();
|
||||
|
|
|
|||
|
|
@ -703,7 +703,7 @@ static void CreateItemIconSprites(void);
|
|||
static void TryLoadItemIconAtPos(u8, u8);
|
||||
static void TryHideItemIconAtPos(u8, u8);
|
||||
static void TakeItemFromMon(u8, u8);
|
||||
static void InitItemIconInCursor(u16);
|
||||
static void InitItemIconInCursor(enum Item);
|
||||
static void SwapItemsWithMon(u8, u8);
|
||||
static void GiveItemToMon(u8, u8);
|
||||
static void MoveItemFromMonToBag(u8, u8);
|
||||
|
|
@ -3781,7 +3781,7 @@ static void Task_ChangeScreen(u8 taskId)
|
|||
|
||||
static void GiveChosenBagItem(void)
|
||||
{
|
||||
u16 itemId = gSpecialVar_ItemId;
|
||||
enum Item itemId = gSpecialVar_ItemId;
|
||||
|
||||
if (itemId != ITEM_NONE)
|
||||
{
|
||||
|
|
@ -6521,7 +6521,7 @@ static bool8 TryHideReleaseMon(void)
|
|||
static void ReleaseMon(void)
|
||||
{
|
||||
u8 boxId;
|
||||
u16 item = ITEM_NONE;
|
||||
enum Item item = ITEM_NONE;
|
||||
|
||||
DestroyReleaseMonIcon();
|
||||
if (sIsMonBeingMoved)
|
||||
|
|
@ -8916,7 +8916,7 @@ static void TryHideItemIconAtPos(u8 cursorArea, u8 cursorPos)
|
|||
static void TakeItemFromMon(u8 cursorArea, u8 cursorPos)
|
||||
{
|
||||
u8 id;
|
||||
u16 itemId;
|
||||
enum Item itemId;
|
||||
|
||||
if (sStorage->boxOption != OPTION_MOVE_ITEMS)
|
||||
return;
|
||||
|
|
@ -8945,7 +8945,7 @@ static void TakeItemFromMon(u8 cursorArea, u8 cursorPos)
|
|||
sStorage->movingItemId = sStorage->displayMonItemId;
|
||||
}
|
||||
|
||||
static void InitItemIconInCursor(u16 itemId)
|
||||
static void InitItemIconInCursor(enum Item itemId)
|
||||
{
|
||||
const u32 *tiles = GetItemIconPic(itemId);
|
||||
const u16 *pal = GetItemIconPalette(itemId);
|
||||
|
|
@ -8961,7 +8961,7 @@ static void InitItemIconInCursor(u16 itemId)
|
|||
static void SwapItemsWithMon(u8 cursorArea, u8 cursorPos)
|
||||
{
|
||||
u8 id;
|
||||
u16 itemId;
|
||||
enum Item itemId;
|
||||
|
||||
if (sStorage->boxOption != OPTION_MOVE_ITEMS)
|
||||
return;
|
||||
|
|
@ -9022,7 +9022,7 @@ static void GiveItemToMon(u8 cursorArea, u8 cursorPos)
|
|||
static void MoveItemFromMonToBag(u8 cursorArea, u8 cursorPos)
|
||||
{
|
||||
u8 id;
|
||||
u16 itemId;
|
||||
enum Item itemId;
|
||||
|
||||
if (sStorage->boxOption != OPTION_MOVE_ITEMS)
|
||||
return;
|
||||
|
|
|
|||
|
|
@ -147,7 +147,7 @@ static EWRAM_DATA struct PokemonSummaryScreenData
|
|||
u8 metGame; // 0xB
|
||||
u32 pid; // 0xC
|
||||
u32 exp; // 0x10
|
||||
u16 moves[MAX_MON_MOVES]; // 0x14
|
||||
enum Move moves[MAX_MON_MOVES]; // 0x14
|
||||
u8 pp[MAX_MON_MOVES]; // 0x1C
|
||||
u16 currentHP; // 0x20
|
||||
u16 maxHP; // 0x22
|
||||
|
|
@ -156,7 +156,7 @@ static EWRAM_DATA struct PokemonSummaryScreenData
|
|||
u16 spatk; // 0x28
|
||||
u16 spdef; // 0x2A
|
||||
u16 speed; // 0x2C
|
||||
u16 item; // 0x2E
|
||||
enum Item item; // 0x2E
|
||||
u16 friendship; // 0x30
|
||||
u8 OTGender; // 0x32
|
||||
u8 nature; // 0x33
|
||||
|
|
|
|||
|
|
@ -899,7 +899,7 @@ static void ReceiveDaycareMailData(struct RecordMixingDaycareMail *records, size
|
|||
// Both daycare slots can hold an item, choose which one to use.
|
||||
// If either one is the only one to have associated mail, use that one.
|
||||
// If both do or don't have associated mail, choose one randomly.
|
||||
u32 itemId1, itemId2;
|
||||
enum Item itemId1, itemId2;
|
||||
idxs[j][MULTIPLAYER_ID] = i;
|
||||
itemId1 = GetDaycareMailItemId(&mixMail->mail[0]);
|
||||
itemId2 = GetDaycareMailItemId(&mixMail->mail[1]);
|
||||
|
|
|
|||
|
|
@ -73,7 +73,7 @@ struct GFRomHeader
|
|||
const struct SpeciesInfo *speciesInfo;
|
||||
const u8 (*abilityNames)[];
|
||||
const u8 *const *abilityDescriptions;
|
||||
const struct Item *items;
|
||||
const struct ItemInfo *items;
|
||||
const struct MoveInfo *moves;
|
||||
const struct CompressedSpriteSheet *ballGfx;
|
||||
const struct SpritePalette *ballPalettes;
|
||||
|
|
|
|||
24
src/scrcmd.c
24
src/scrcmd.c
|
|
@ -623,7 +623,7 @@ bool8 ScrCmd_random(struct ScriptContext *ctx)
|
|||
|
||||
bool8 ScrCmd_additem(struct ScriptContext *ctx)
|
||||
{
|
||||
u16 itemId = VarGet(ScriptReadHalfword(ctx));
|
||||
enum Item itemId = VarGet(ScriptReadHalfword(ctx));
|
||||
u32 quantity = VarGet(ScriptReadHalfword(ctx));
|
||||
|
||||
Script_RequestEffects(SCREFF_V1 | SCREFF_SAVE);
|
||||
|
|
@ -634,7 +634,7 @@ bool8 ScrCmd_additem(struct ScriptContext *ctx)
|
|||
|
||||
bool8 ScrCmd_removeitem(struct ScriptContext *ctx)
|
||||
{
|
||||
u16 itemId = VarGet(ScriptReadHalfword(ctx));
|
||||
enum Item itemId = VarGet(ScriptReadHalfword(ctx));
|
||||
u32 quantity = VarGet(ScriptReadHalfword(ctx));
|
||||
|
||||
Script_RequestEffects(SCREFF_V1 | SCREFF_SAVE);
|
||||
|
|
@ -645,7 +645,7 @@ bool8 ScrCmd_removeitem(struct ScriptContext *ctx)
|
|||
|
||||
bool8 ScrCmd_checkitemspace(struct ScriptContext *ctx)
|
||||
{
|
||||
u16 itemId = VarGet(ScriptReadHalfword(ctx));
|
||||
enum Item itemId = VarGet(ScriptReadHalfword(ctx));
|
||||
u32 quantity = VarGet(ScriptReadHalfword(ctx));
|
||||
|
||||
Script_RequestEffects(SCREFF_V1);
|
||||
|
|
@ -656,7 +656,7 @@ bool8 ScrCmd_checkitemspace(struct ScriptContext *ctx)
|
|||
|
||||
bool8 ScrCmd_checkitem(struct ScriptContext *ctx)
|
||||
{
|
||||
u16 itemId = VarGet(ScriptReadHalfword(ctx));
|
||||
enum Item itemId = VarGet(ScriptReadHalfword(ctx));
|
||||
u32 quantity = VarGet(ScriptReadHalfword(ctx));
|
||||
|
||||
Script_RequestEffects(SCREFF_V1);
|
||||
|
|
@ -667,7 +667,7 @@ bool8 ScrCmd_checkitem(struct ScriptContext *ctx)
|
|||
|
||||
bool8 ScrCmd_checkitemtype(struct ScriptContext *ctx)
|
||||
{
|
||||
u16 itemId = VarGet(ScriptReadHalfword(ctx));
|
||||
enum Item itemId = VarGet(ScriptReadHalfword(ctx));
|
||||
|
||||
Script_RequestEffects(SCREFF_V1);
|
||||
|
||||
|
|
@ -677,7 +677,7 @@ bool8 ScrCmd_checkitemtype(struct ScriptContext *ctx)
|
|||
|
||||
bool8 ScrCmd_addpcitem(struct ScriptContext *ctx)
|
||||
{
|
||||
u16 itemId = VarGet(ScriptReadHalfword(ctx));
|
||||
enum Item itemId = VarGet(ScriptReadHalfword(ctx));
|
||||
u16 quantity = VarGet(ScriptReadHalfword(ctx));
|
||||
|
||||
Script_RequestEffects(SCREFF_V1 | SCREFF_SAVE);
|
||||
|
|
@ -688,7 +688,7 @@ bool8 ScrCmd_addpcitem(struct ScriptContext *ctx)
|
|||
|
||||
bool8 ScrCmd_checkpcitem(struct ScriptContext *ctx)
|
||||
{
|
||||
u16 itemId = VarGet(ScriptReadHalfword(ctx));
|
||||
enum Item itemId = VarGet(ScriptReadHalfword(ctx));
|
||||
u16 quantity = VarGet(ScriptReadHalfword(ctx));
|
||||
|
||||
Script_RequestEffects(SCREFF_V1);
|
||||
|
|
@ -2159,7 +2159,7 @@ bool8 ScrCmd_bufferpartymonnick(struct ScriptContext *ctx)
|
|||
bool8 ScrCmd_bufferitemname(struct ScriptContext *ctx)
|
||||
{
|
||||
u8 stringVarIndex = ScriptReadByte(ctx);
|
||||
u16 itemId = VarGet(ScriptReadHalfword(ctx));
|
||||
enum Item itemId = VarGet(ScriptReadHalfword(ctx));
|
||||
|
||||
Script_RequestEffects(SCREFF_V1);
|
||||
|
||||
|
|
@ -2170,7 +2170,7 @@ bool8 ScrCmd_bufferitemname(struct ScriptContext *ctx)
|
|||
bool8 ScrCmd_bufferitemnameplural(struct ScriptContext *ctx)
|
||||
{
|
||||
u8 stringVarIndex = ScriptReadByte(ctx);
|
||||
u16 itemId = VarGet(ScriptReadHalfword(ctx));
|
||||
enum Item itemId = VarGet(ScriptReadHalfword(ctx));
|
||||
u16 quantity = VarGet(ScriptReadHalfword(ctx));
|
||||
|
||||
Script_RequestEffects(SCREFF_V1);
|
||||
|
|
@ -2514,10 +2514,10 @@ bool8 ScrCmd_setwildbattle(struct ScriptContext *ctx)
|
|||
{
|
||||
u16 species = ScriptReadHalfword(ctx);
|
||||
u8 level = ScriptReadByte(ctx);
|
||||
u16 item = ScriptReadHalfword(ctx);
|
||||
enum Item item = ScriptReadHalfword(ctx);
|
||||
u16 species2 = ScriptReadHalfword(ctx);
|
||||
u8 level2 = ScriptReadByte(ctx);
|
||||
u16 item2 = ScriptReadHalfword(ctx);
|
||||
enum Item item2 = ScriptReadHalfword(ctx);
|
||||
|
||||
Script_RequestEffects(SCREFF_V1);
|
||||
|
||||
|
|
@ -3070,7 +3070,7 @@ void ScriptSetDoubleBattleFlag(struct ScriptContext *ctx)
|
|||
|
||||
bool8 ScrCmd_removeallitem(struct ScriptContext *ctx)
|
||||
{
|
||||
u32 itemId = VarGet(ScriptReadHalfword(ctx));
|
||||
enum Item itemId = VarGet(ScriptReadHalfword(ctx));
|
||||
|
||||
Script_RequestEffects(SCREFF_V1 | SCREFF_SAVE);
|
||||
|
||||
|
|
|
|||
|
|
@ -91,7 +91,7 @@ void HasEnoughMonsForDoubleBattle(void)
|
|||
}
|
||||
}
|
||||
|
||||
static bool8 CheckPartyMonHasHeldItem(u16 item)
|
||||
static bool32 CheckPartyMonHasHeldItem(enum Item item)
|
||||
{
|
||||
int i;
|
||||
|
||||
|
|
@ -113,7 +113,7 @@ bool8 DoesPartyHaveEnigmaBerry(void)
|
|||
return hasItem;
|
||||
}
|
||||
|
||||
void CreateScriptedWildMon(u16 species, u8 level, u16 item)
|
||||
void CreateScriptedWildMon(u16 species, u8 level, enum Item item)
|
||||
{
|
||||
u8 heldItem[2];
|
||||
|
||||
|
|
@ -131,7 +131,7 @@ void CreateScriptedWildMon(u16 species, u8 level, u16 item)
|
|||
SetMonData(&gEnemyParty[0], MON_DATA_HELD_ITEM, heldItem);
|
||||
}
|
||||
}
|
||||
void CreateScriptedDoubleWildMon(u16 species1, u8 level1, u16 item1, u16 species2, u8 level2, u16 item2)
|
||||
void CreateScriptedDoubleWildMon(u16 species1, u8 level1, enum Item item1, u16 species2, u8 level2, enum Item item2)
|
||||
{
|
||||
u8 heldItem1[2];
|
||||
u8 heldItem2[2];
|
||||
|
|
@ -358,7 +358,7 @@ void SetTeraType(struct ScriptContext *ctx)
|
|||
* if side/slot are assigned, it will create the mon at the assigned party location
|
||||
* if slot == PARTY_SIZE, it will give the mon to first available party or storage slot
|
||||
*/
|
||||
static u32 ScriptGiveMonParameterized(u8 side, u8 slot, u16 species, u8 level, u16 item, enum PokeBall ball, u8 nature, u8 abilityNum, u8 gender, u16 *evs, u16 *ivs, u16 *moves, enum ShinyMode shinyMode, bool8 gmaxFactor, enum Type teraType, u8 dmaxLevel)
|
||||
static u32 ScriptGiveMonParameterized(u8 side, u8 slot, u16 species, u8 level, enum Item item, enum PokeBall ball, u8 nature, u8 abilityNum, u8 gender, u16 *evs, u16 *ivs, enum Move *moves, enum ShinyMode shinyMode, bool8 gmaxFactor, enum Type teraType, u8 dmaxLevel)
|
||||
{
|
||||
struct Pokemon mon;
|
||||
u32 i;
|
||||
|
|
@ -460,7 +460,7 @@ static u32 ScriptGiveMonParameterized(u8 side, u8 slot, u16 species, u8 level, u
|
|||
return MON_GIVEN_TO_PARTY;
|
||||
}
|
||||
|
||||
u32 ScriptGiveMon(u16 species, u8 level, u16 item)
|
||||
u32 ScriptGiveMon(u16 species, u8 level, enum Item item)
|
||||
{
|
||||
struct Pokemon mon;
|
||||
u8 heldItem[2];
|
||||
|
|
@ -504,7 +504,7 @@ void ScrCmd_createmon(struct ScriptContext *ctx)
|
|||
u8 level = VarGet(ScriptReadHalfword(ctx));
|
||||
|
||||
u32 flags = ScriptReadWord(ctx);
|
||||
u16 item = PARSE_FLAG(0, ITEM_NONE);
|
||||
enum Item item = PARSE_FLAG(0, ITEM_NONE);
|
||||
u8 ball = PARSE_FLAG(1, ITEM_POKE_BALL);
|
||||
u8 nature = PARSE_FLAG(2, NATURE_RANDOM);
|
||||
u8 abilityNum = PARSE_FLAG(3, NUM_ABILITY_PERSONALITY);
|
||||
|
|
|
|||
12
src/shop.c
12
src/shop.c
|
|
@ -128,9 +128,9 @@ static void BuyMenuBuildListMenuTemplate(void);
|
|||
static void BuyMenuInitBgs(void);
|
||||
static void BuyMenuInitWindows(void);
|
||||
static void BuyMenuDecompressBgGraphics(void);
|
||||
static void BuyMenuSetListEntry(struct ListMenuItem *, u16, u8 *);
|
||||
static void BuyMenuAddItemIcon(u16, u8);
|
||||
static void BuyMenuRemoveItemIcon(u16, u8);
|
||||
static void BuyMenuSetListEntry(struct ListMenuItem *, enum Item, u8 *);
|
||||
static void BuyMenuAddItemIcon(enum Item, u8);
|
||||
static void BuyMenuRemoveItemIcon(enum Item, u8);
|
||||
static void BuyMenuPrint(u8 windowId, const u8 *text, u8 x, u8 y, s8 speed, u8 colorSet);
|
||||
static void BuyMenuDrawMapGraphics(void);
|
||||
static void BuyMenuCopyMenuBgToBg1TilemapBuffer(void);
|
||||
|
|
@ -580,7 +580,7 @@ static void BuyMenuBuildListMenuTemplate(void)
|
|||
sShopData->itemsShowed = gMultiuseListMenuTemplate.maxShowed;
|
||||
}
|
||||
|
||||
static void BuyMenuSetListEntry(struct ListMenuItem *menuItem, u16 item, u8 *name)
|
||||
static void BuyMenuSetListEntry(struct ListMenuItem *menuItem, enum Item item, u8 *name)
|
||||
{
|
||||
if (sMartInfo.martType == MART_TYPE_NORMAL)
|
||||
CopyItemName(item, name);
|
||||
|
|
@ -683,7 +683,7 @@ static void BuyMenuPrintCursor(u8 scrollIndicatorsTaskId, u8 colorSet)
|
|||
BuyMenuPrint(WIN_ITEM_LIST, gText_SelectorArrow2, 0, y, 0, colorSet);
|
||||
}
|
||||
|
||||
static void BuyMenuAddItemIcon(u16 item, u8 iconSlot)
|
||||
static void BuyMenuAddItemIcon(enum Item item, u8 iconSlot)
|
||||
{
|
||||
u8 spriteId;
|
||||
u8 *spriteIdPtr = &sShopData->itemSpriteIds[iconSlot];
|
||||
|
|
@ -708,7 +708,7 @@ static void BuyMenuAddItemIcon(u16 item, u8 iconSlot)
|
|||
}
|
||||
}
|
||||
|
||||
static void BuyMenuRemoveItemIcon(u16 item, u8 iconSlot)
|
||||
static void BuyMenuRemoveItemIcon(enum Item item, u8 iconSlot)
|
||||
{
|
||||
u8 *spriteIdPtr = &sShopData->itemSpriteIds[iconSlot];
|
||||
if (*spriteIdPtr == SPRITE_NONE)
|
||||
|
|
|
|||
|
|
@ -446,7 +446,7 @@ static void GetOwnerState(void)
|
|||
static void GiveChallengePrize(void)
|
||||
{
|
||||
#if FREE_TRAINER_HILL == FALSE
|
||||
u16 itemId = GetPrizeItemId();
|
||||
enum Item itemId = GetPrizeItemId();
|
||||
|
||||
if (sHillData->challenge.numFloors != NUM_TRAINER_HILL_FLOORS || gSaveBlock1Ptr->trainerHill.receivedPrize)
|
||||
{
|
||||
|
|
|
|||
2
src/tv.c
2
src/tv.c
|
|
@ -1109,7 +1109,7 @@ void TryPutPokemonTodayOnAir(void)
|
|||
u16 ballsUsed;
|
||||
TVShow *show;
|
||||
u32 language2;
|
||||
u16 itemLastUsed;
|
||||
enum Item itemLastUsed;
|
||||
|
||||
ballsUsed = 0;
|
||||
TryPutRandomPokeNewsOnAir();
|
||||
|
|
|
|||
|
|
@ -104,7 +104,7 @@ u16 WonderNews_GetRewardInfo(void)
|
|||
|
||||
static u32 GetRewardItem(struct WonderNewsMetadata *data)
|
||||
{
|
||||
u32 itemId;
|
||||
enum Item itemId;
|
||||
data->newsType = WONDER_NEWS_NONE;
|
||||
itemId = data->berry + FIRST_BERRY_INDEX - 1;
|
||||
data->berry = 0;
|
||||
|
|
|
|||
|
|
@ -127,7 +127,7 @@ SINGLE_BATTLE_TEST("Aerilate doesn't affect Natural Gift's type")
|
|||
SINGLE_BATTLE_TEST("Aerilate doesn't affect Judgment / Techno Blast / Multi-Attack's type")
|
||||
{
|
||||
enum Move move;
|
||||
u32 item;
|
||||
enum Item item;
|
||||
PARAMETRIZE { move = MOVE_JUDGMENT; item = ITEM_ZAP_PLATE; }
|
||||
PARAMETRIZE { move = MOVE_TECHNO_BLAST; item = ITEM_SHOCK_DRIVE; }
|
||||
PARAMETRIZE { move = MOVE_MULTI_ATTACK; item = ITEM_ELECTRIC_MEMORY; }
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
WILD_BATTLE_TEST("Ball Fetch causes the Pokémon to pick up the last failed Ball at the end of the turn")
|
||||
{
|
||||
u32 item = 0;
|
||||
enum Item item = ITEM_NONE;
|
||||
|
||||
PARAMETRIZE { item = ITEM_POKE_BALL; }
|
||||
PARAMETRIZE { item = ITEM_GREAT_BALL; }
|
||||
|
|
@ -32,7 +32,7 @@ WILD_BATTLE_TEST("Ball Fetch causes the Pokémon to pick up the last failed Ball
|
|||
|
||||
WILD_BATTLE_TEST("Ball Fetch doesn't trigger if the Pokémon is already holding an item")
|
||||
{
|
||||
u32 item = 0;
|
||||
enum Item item = ITEM_NONE;
|
||||
|
||||
PARAMETRIZE { item = ITEM_NONE; }
|
||||
PARAMETRIZE { item = ITEM_NUGGET; }
|
||||
|
|
@ -66,8 +66,8 @@ WILD_BATTLE_TEST("Ball Fetch doesn't trigger if the Pokémon is already holding
|
|||
|
||||
WILD_BATTLE_TEST("Ball Fetch only picks up the first failed ball, once per battle")
|
||||
{
|
||||
u32 item = 0;
|
||||
u32 item2 = 0;
|
||||
enum Item item = ITEM_NONE;
|
||||
enum Item item2 = ITEM_NONE;
|
||||
|
||||
PARAMETRIZE { item = ITEM_GREAT_BALL; item2 = ITEM_X_ACCURACY; }
|
||||
PARAMETRIZE { item = ITEM_GREAT_BALL; item2 = ITEM_ULTRA_BALL; }
|
||||
|
|
@ -97,7 +97,7 @@ WILD_BATTLE_TEST("Ball Fetch only picks up the first failed ball, once per battl
|
|||
|
||||
SINGLE_BATTLE_TEST("Ball Fetch doesn't trigger in Trainer Battles")
|
||||
{
|
||||
u32 item = 0;
|
||||
enum Item item = ITEM_NONE;
|
||||
|
||||
PARAMETRIZE { item = ITEM_POKE_BALL; }
|
||||
PARAMETRIZE { item = ITEM_GREAT_BALL; }
|
||||
|
|
|
|||
|
|
@ -149,7 +149,7 @@ SINGLE_BATTLE_TEST("Dry Skin is only triggered once on multi strike moves")
|
|||
|
||||
SINGLE_BATTLE_TEST("Dry Skin prevents Absorb Bulb and Luminous Moss from activating")
|
||||
{
|
||||
u32 item;
|
||||
enum Item item;
|
||||
PARAMETRIZE { item = ITEM_ABSORB_BULB; }
|
||||
PARAMETRIZE { item = ITEM_LUMINOUS_MOSS; }
|
||||
GIVEN {
|
||||
|
|
|
|||
|
|
@ -118,7 +118,7 @@ SINGLE_BATTLE_TEST("Galvanize doesn't affect Natural Gift's type")
|
|||
SINGLE_BATTLE_TEST("Galvanize doesn't affect Judgment / Techno Blast / Multi-Attack's type")
|
||||
{
|
||||
enum Move move;
|
||||
u32 item;
|
||||
enum Item item;
|
||||
PARAMETRIZE { move = MOVE_JUDGMENT; item = ITEM_SPLASH_PLATE; }
|
||||
PARAMETRIZE { move = MOVE_TECHNO_BLAST; item = ITEM_DOUSE_DRIVE; }
|
||||
PARAMETRIZE { move = MOVE_MULTI_ATTACK; item = ITEM_WATER_MEMORY; }
|
||||
|
|
|
|||
|
|
@ -301,7 +301,7 @@ DOUBLE_BATTLE_TEST("Intimidate activates when it's no longer affected by Neutral
|
|||
SINGLE_BATTLE_TEST("Intimidate activates when it's no longer affected by Neutralizing Gas - opponent caused switches")
|
||||
{
|
||||
enum Move move;
|
||||
u32 item;
|
||||
enum Item item;
|
||||
PARAMETRIZE { move = MOVE_SCRATCH; item = ITEM_EJECT_BUTTON; }
|
||||
PARAMETRIZE { move = MOVE_GROWL; item = ITEM_EJECT_PACK; }
|
||||
PARAMETRIZE { move = MOVE_ROAR; item = ITEM_NONE; }
|
||||
|
|
|
|||
|
|
@ -71,7 +71,7 @@ SINGLE_BATTLE_TEST("Leaf Guard doesn't prevent non-volatile status conditions if
|
|||
|
||||
SINGLE_BATTLE_TEST("Leaf Guard prevents status conditions from Flame Orb and Toxic Orb")
|
||||
{
|
||||
u32 item;
|
||||
enum Item item;
|
||||
PARAMETRIZE { item = ITEM_FLAME_ORB; }
|
||||
PARAMETRIZE { item = ITEM_TOXIC_ORB; }
|
||||
GIVEN {
|
||||
|
|
@ -93,7 +93,9 @@ SINGLE_BATTLE_TEST("Leaf Guard prevents status conditions from Flame Orb and Tox
|
|||
|
||||
SINGLE_BATTLE_TEST("Leaf Guard doesn't prevent status conditions from Flame Orb and Toxic Orb if Cloud Nine/Air Lock is on the field")
|
||||
{
|
||||
u32 item, species, ability;
|
||||
enum Item item;
|
||||
u32 species;
|
||||
enum Ability ability;
|
||||
PARAMETRIZE { item = ITEM_FLAME_ORB; species = SPECIES_GOLDUCK; ability = ABILITY_CLOUD_NINE; }
|
||||
PARAMETRIZE { item = ITEM_TOXIC_ORB; species = SPECIES_GOLDUCK; ability = ABILITY_CLOUD_NINE; }
|
||||
PARAMETRIZE { item = ITEM_FLAME_ORB; species = SPECIES_RAYQUAZA; ability = ABILITY_AIR_LOCK; }
|
||||
|
|
|
|||
|
|
@ -88,7 +88,8 @@ DOUBLE_BATTLE_TEST("Levitate does not cause single remaining target to take high
|
|||
|
||||
AI_SINGLE_BATTLE_TEST("Levitate is seen correctly by switch AI")
|
||||
{
|
||||
enum Ability ability = ABILITY_NONE, item = ITEM_NONE;
|
||||
enum Ability ability = ABILITY_NONE;
|
||||
enum Item item = ITEM_NONE;
|
||||
|
||||
PARAMETRIZE { ability = ABILITY_OWN_TEMPO, item = ITEM_NONE ; }
|
||||
PARAMETRIZE { ability = ABILITY_MOLD_BREAKER, item = ITEM_NONE ; }
|
||||
|
|
|
|||
|
|
@ -233,7 +233,7 @@ SINGLE_BATTLE_TEST("Normalize doesn't affect Natural Gift's type")
|
|||
SINGLE_BATTLE_TEST("Normalize doesn't affect Judgment / Techno Blast / Multi-Attack's type")
|
||||
{
|
||||
enum Move move;
|
||||
u32 item;
|
||||
enum Item item;
|
||||
PARAMETRIZE { move = MOVE_JUDGMENT; item = ITEM_ZAP_PLATE; }
|
||||
PARAMETRIZE { move = MOVE_TECHNO_BLAST; item = ITEM_SHOCK_DRIVE; }
|
||||
PARAMETRIZE { move = MOVE_MULTI_ATTACK; item = ITEM_ELECTRIC_MEMORY; }
|
||||
|
|
|
|||
|
|
@ -97,7 +97,7 @@ SINGLE_BATTLE_TEST("Pixilate doesn't affect Natural Gift's type")
|
|||
SINGLE_BATTLE_TEST("Pixilate doesn't affect Judgment / Techno Blast / Multi-Attack's type")
|
||||
{
|
||||
enum Move move;
|
||||
u32 item;
|
||||
enum Item item;
|
||||
PARAMETRIZE { move = MOVE_JUDGMENT; item = ITEM_ZAP_PLATE; }
|
||||
PARAMETRIZE { move = MOVE_TECHNO_BLAST; item = ITEM_SHOCK_DRIVE; }
|
||||
PARAMETRIZE { move = MOVE_MULTI_ATTACK; item = ITEM_ELECTRIC_MEMORY; }
|
||||
|
|
|
|||
|
|
@ -96,7 +96,7 @@ SINGLE_BATTLE_TEST("Refrigerate doesn't affect Natural Gift's type")
|
|||
SINGLE_BATTLE_TEST("Refrigerate doesn't affect Judgment / Techno Blast / Multi-Attack's type")
|
||||
{
|
||||
enum Move move;
|
||||
u32 item;
|
||||
enum Item item;
|
||||
PARAMETRIZE { move = MOVE_JUDGMENT; item = ITEM_ZAP_PLATE; }
|
||||
PARAMETRIZE { move = MOVE_TECHNO_BLAST; item = ITEM_SHOCK_DRIVE; }
|
||||
PARAMETRIZE { move = MOVE_MULTI_ATTACK; item = ITEM_ELECTRIC_MEMORY; }
|
||||
|
|
|
|||
|
|
@ -79,7 +79,7 @@ DOUBLE_BATTLE_TEST("Toxic Chain can inflict bad poison on both foes")
|
|||
|
||||
SINGLE_BATTLE_TEST("Toxic Chain makes Lum/Pecha Berry trigger before being knocked off")
|
||||
{
|
||||
u16 item = 0;
|
||||
enum Item item = ITEM_NONE;
|
||||
|
||||
PARAMETRIZE { item = ITEM_PECHA_BERRY; }
|
||||
PARAMETRIZE { item = ITEM_LUM_BERRY; }
|
||||
|
|
|
|||
|
|
@ -63,7 +63,7 @@ SINGLE_BATTLE_TEST("Water Absorb is only triggered once on multi strike moves")
|
|||
|
||||
SINGLE_BATTLE_TEST("Water Absorb prevents Absorb Bulb and Luminous Moss from activating")
|
||||
{
|
||||
u32 item;
|
||||
enum Item item;
|
||||
PARAMETRIZE { item = ITEM_ABSORB_BULB; }
|
||||
PARAMETRIZE { item = ITEM_LUMINOUS_MOSS; }
|
||||
GIVEN {
|
||||
|
|
|
|||
|
|
@ -583,7 +583,7 @@ AI_SINGLE_BATTLE_TEST("AI calculates guaranteed criticals and detects critical i
|
|||
|
||||
AI_SINGLE_BATTLE_TEST("AI avoids contact moves against rocky helmet")
|
||||
{
|
||||
u32 item;
|
||||
enum Item item;
|
||||
|
||||
PARAMETRIZE { item = ITEM_NONE; }
|
||||
PARAMETRIZE { item = ITEM_ROCKY_HELMET; }
|
||||
|
|
|
|||
|
|
@ -187,7 +187,8 @@ AI_MULTI_BATTLE_TEST("AI opponents do not steal their partner pokemon in multi b
|
|||
|
||||
AI_MULTI_BATTLE_TEST("AI opponents do not steal their partner pokemon in multi battle when forced out")
|
||||
{
|
||||
u32 item, move;
|
||||
enum Item item;
|
||||
enum Move move;
|
||||
PARAMETRIZE { item = ITEM_EJECT_BUTTON; move = MOVE_TACKLE; }
|
||||
PARAMETRIZE { item = ITEM_EJECT_PACK; move = MOVE_TAIL_WHIP; }
|
||||
PARAMETRIZE { item = ITEM_NONE; move = MOVE_ROAR; }
|
||||
|
|
|
|||
|
|
@ -1465,7 +1465,7 @@ AI_SINGLE_BATTLE_TEST("AI_FLAG_SMART_SWITCHING: AI won't switch in absorbing mon
|
|||
|
||||
AI_SINGLE_BATTLE_TEST("AI_FLAG_SMART_MON_CHOICES: AI will consider choice-locked player when determining which mon to send out")
|
||||
{
|
||||
u32 item;
|
||||
enum Item item;
|
||||
PARAMETRIZE { item = ITEM_NONE; }
|
||||
PARAMETRIZE { item = ITEM_CHOICE_BAND; }
|
||||
GIVEN {
|
||||
|
|
@ -1871,7 +1871,7 @@ AI_SINGLE_BATTLE_TEST("AI_FLAG_SMART_SWITCHING: AI will consider player's endure
|
|||
|
||||
AI_SINGLE_BATTLE_TEST("AI_FLAG_SMART_SWITCHING: AI will consider player's endure effects when evaluating switchin candidates")
|
||||
{
|
||||
u32 item;
|
||||
enum Item item;
|
||||
PARAMETRIZE { item = ITEM_NONE; }
|
||||
PARAMETRIZE { item = ITEM_FOCUS_SASH; }
|
||||
GIVEN {
|
||||
|
|
@ -1918,7 +1918,7 @@ AI_SINGLE_BATTLE_TEST("AI_FLAG_SMART_SWITCHING: Fake Out style moves won't confu
|
|||
|
||||
AI_SINGLE_BATTLE_TEST("AI_FLAG_SMART_MON_CHOICES: AI will consider choice-locked player priority when determining which mon to send out")
|
||||
{
|
||||
u32 item;
|
||||
enum Item item;
|
||||
PARAMETRIZE { item = ITEM_NONE; }
|
||||
PARAMETRIZE { item = ITEM_CHOICE_BAND; }
|
||||
GIVEN {
|
||||
|
|
|
|||
|
|
@ -140,7 +140,7 @@ WILD_BATTLE_TEST("Capture: Missing badge malus apply correcly in gen 9")
|
|||
|
||||
WILD_BATTLE_TEST("Capture: when CRITICAL_CAPTURE_IF_OWNED is enabled, capture of owned pokemon always appear critical")
|
||||
{
|
||||
u32 item;
|
||||
enum Item item;
|
||||
bool32 alreadyOwned;
|
||||
u32 catchingChance;
|
||||
|
||||
|
|
|
|||
|
|
@ -50,7 +50,7 @@ WILD_BATTLE_TEST("Higher leveled Pokemon give more exp", s32 exp)
|
|||
|
||||
WILD_BATTLE_TEST("Lucky Egg boosts gained exp points by 50%", s32 exp)
|
||||
{
|
||||
u32 item = 0;
|
||||
enum Item item = ITEM_NONE;
|
||||
|
||||
PARAMETRIZE { item = ITEM_LUCKY_EGG; }
|
||||
PARAMETRIZE { item = ITEM_NONE; }
|
||||
|
|
@ -124,7 +124,7 @@ WILD_BATTLE_TEST("Large exp gains are supported", s32 exp) // #1455
|
|||
|
||||
WILD_BATTLE_TEST("Exp Share(held) gives Experience to mons which did not participate in battle")
|
||||
{
|
||||
u32 item = 0;
|
||||
enum Item item = ITEM_NONE;
|
||||
|
||||
PARAMETRIZE { item = ITEM_NONE; }
|
||||
PARAMETRIZE { item = ITEM_EXP_SHARE; }
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ SINGLE_BATTLE_TEST("Xerneas changes into Active Form upon battle start")
|
|||
|
||||
SINGLE_BATTLE_TEST("Zacian changes into its Crowned Form when holding the Rusted Sword upon battle start")
|
||||
{
|
||||
u16 item;
|
||||
enum Item item;
|
||||
PARAMETRIZE { item = ITEM_NONE; }
|
||||
PARAMETRIZE { item = ITEM_RUSTED_SWORD; }
|
||||
GIVEN {
|
||||
|
|
@ -46,7 +46,7 @@ SINGLE_BATTLE_TEST("Zacian's Iron Head becomes Behemoth Blade upon form change")
|
|||
|
||||
SINGLE_BATTLE_TEST("Zamazenta changes into its Crowned Form when holding the Rusted Shield upon battle start")
|
||||
{
|
||||
u16 item;
|
||||
enum Item item;
|
||||
PARAMETRIZE { item = ITEM_NONE; }
|
||||
PARAMETRIZE { item = ITEM_RUSTED_SHIELD; }
|
||||
GIVEN {
|
||||
|
|
|
|||
|
|
@ -534,7 +534,7 @@ DOUBLE_BATTLE_TEST("Dynamax: Dynamaxed Pokemon are immune to Instruct")
|
|||
|
||||
SINGLE_BATTLE_TEST("Dynamax: Dynamaxed Pokemon are not affected by Choice items", s16 damage)
|
||||
{
|
||||
u16 item;
|
||||
enum Item item;
|
||||
PARAMETRIZE { item = ITEM_CHOICE_BAND; }
|
||||
PARAMETRIZE { item = ITEM_NONE; }
|
||||
GIVEN {
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ ASSUMPTIONS
|
|||
|
||||
SINGLE_BATTLE_TEST("Ability Shield protects against Neutralizing Gas")
|
||||
{
|
||||
u32 item;
|
||||
enum Item item;
|
||||
|
||||
PARAMETRIZE { item = ITEM_ABILITY_SHIELD; }
|
||||
PARAMETRIZE { item = ITEM_NONE; }
|
||||
|
|
@ -37,7 +37,7 @@ SINGLE_BATTLE_TEST("Ability Shield protects against Neutralizing Gas")
|
|||
|
||||
SINGLE_BATTLE_TEST("Ability Shield protects against Mold Breaker (no message)")
|
||||
{
|
||||
u32 item;
|
||||
enum Item item;
|
||||
|
||||
PARAMETRIZE { item = ITEM_ABILITY_SHIELD; }
|
||||
PARAMETRIZE { item = ITEM_NONE; }
|
||||
|
|
@ -65,7 +65,7 @@ SINGLE_BATTLE_TEST("Ability Shield protects against Mold Breaker (no message)")
|
|||
|
||||
SINGLE_BATTLE_TEST("Ability Shield protects against Mycelium Might (no message)")
|
||||
{
|
||||
u32 item;
|
||||
enum Item item;
|
||||
|
||||
PARAMETRIZE { item = ITEM_ABILITY_SHIELD; }
|
||||
PARAMETRIZE { item = ITEM_NONE; }
|
||||
|
|
@ -96,7 +96,7 @@ SINGLE_BATTLE_TEST("Ability Shield protects against Mycelium Might (no message)"
|
|||
|
||||
SINGLE_BATTLE_TEST("Ability Shield protects against Sunsteel Strike (no message)")
|
||||
{
|
||||
u32 item;
|
||||
enum Item item;
|
||||
|
||||
PARAMETRIZE { item = ITEM_ABILITY_SHIELD; }
|
||||
PARAMETRIZE { item = ITEM_NONE; }
|
||||
|
|
@ -177,7 +177,7 @@ SINGLE_BATTLE_TEST("Ability Shield doesn't reactivate an ability when receiving
|
|||
|
||||
SINGLE_BATTLE_TEST("Ability Shield protects the user from having its ability suppressed by Gastro Acid")
|
||||
{
|
||||
u32 item;
|
||||
enum Item item;
|
||||
|
||||
PARAMETRIZE { item = ITEM_ABILITY_SHIELD; }
|
||||
PARAMETRIZE { item = ITEM_NONE; }
|
||||
|
|
@ -219,7 +219,7 @@ SINGLE_BATTLE_TEST("Ability Shield doesn't protect the user's ability from being
|
|||
|
||||
SINGLE_BATTLE_TEST("Ability Shield protects against Skill Swap")
|
||||
{
|
||||
u32 item;
|
||||
enum Item item;
|
||||
|
||||
PARAMETRIZE { item = ITEM_ABILITY_SHIELD; }
|
||||
PARAMETRIZE { item = ITEM_NONE; }
|
||||
|
|
@ -247,7 +247,7 @@ SINGLE_BATTLE_TEST("Ability Shield protects against Skill Swap")
|
|||
|
||||
SINGLE_BATTLE_TEST("Ability Shield protects against Skill Swap even if user has Klutz")
|
||||
{
|
||||
u32 item;
|
||||
enum Item item;
|
||||
|
||||
PARAMETRIZE { item = ITEM_ABILITY_SHIELD; }
|
||||
PARAMETRIZE { item = ITEM_NONE; }
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ ASSUMPTIONS
|
|||
|
||||
SINGLE_BATTLE_TEST("Berserk Gene sharply raises attack at the start of a single battle", s16 damage)
|
||||
{
|
||||
u16 item;
|
||||
enum Item item;
|
||||
PARAMETRIZE { item = ITEM_NONE; }
|
||||
PARAMETRIZE { item = ITEM_BERSERK_GENE; }
|
||||
GIVEN {
|
||||
|
|
@ -33,7 +33,7 @@ SINGLE_BATTLE_TEST("Berserk Gene sharply raises attack at the start of a single
|
|||
|
||||
DOUBLE_BATTLE_TEST("Berserk Gene sharply raises attack at the start of a double battle", s16 damage)
|
||||
{
|
||||
u16 item;
|
||||
enum Item item;
|
||||
PARAMETRIZE { item = ITEM_NONE; }
|
||||
PARAMETRIZE { item = ITEM_BERSERK_GENE; }
|
||||
GIVEN {
|
||||
|
|
@ -60,7 +60,7 @@ DOUBLE_BATTLE_TEST("Berserk Gene sharply raises attack at the start of a double
|
|||
|
||||
SINGLE_BATTLE_TEST("Berserk Gene activates on switch in", s16 damage)
|
||||
{
|
||||
u16 item;
|
||||
enum Item item;
|
||||
PARAMETRIZE { item = ITEM_NONE; }
|
||||
PARAMETRIZE { item = ITEM_BERSERK_GENE; }
|
||||
GIVEN {
|
||||
|
|
@ -87,7 +87,7 @@ SINGLE_BATTLE_TEST("Berserk Gene activates on switch in", s16 damage)
|
|||
|
||||
SINGLE_BATTLE_TEST("Berserk Gene does not confuse a Pokemon with Own Tempo but still raises attack sharply in a single battle", s16 damage)
|
||||
{
|
||||
u16 item;
|
||||
enum Item item;
|
||||
PARAMETRIZE { item = ITEM_NONE; }
|
||||
PARAMETRIZE { item = ITEM_BERSERK_GENE; }
|
||||
GIVEN {
|
||||
|
|
@ -115,7 +115,7 @@ SINGLE_BATTLE_TEST("Berserk Gene does not confuse a Pokemon with Own Tempo but s
|
|||
|
||||
DOUBLE_BATTLE_TEST("Berserk Gene does not confuse a Pokemon with Own Tempo but still raises attack sharply in a double battle", s16 damage)
|
||||
{
|
||||
u16 item;
|
||||
enum Item item;
|
||||
bool8 positionLeft = FALSE;
|
||||
|
||||
PARAMETRIZE { item = ITEM_NONE; }
|
||||
|
|
@ -255,7 +255,7 @@ SINGLE_BATTLE_TEST("Berserk Gene does not cause an infinite loop")
|
|||
|
||||
SINGLE_BATTLE_TEST("Berserker Gene confusion can be healed with bag items")
|
||||
{
|
||||
u16 item;
|
||||
enum Item item;
|
||||
PARAMETRIZE { item = ITEM_FULL_HEAL; }
|
||||
PARAMETRIZE { item = ITEM_HEAL_POWDER; }
|
||||
PARAMETRIZE { item = ITEM_PEWTER_CRUNCHIES; }
|
||||
|
|
@ -284,7 +284,7 @@ SINGLE_BATTLE_TEST("Berserker Gene confusion can be healed with bag items")
|
|||
|
||||
SINGLE_BATTLE_TEST("Berserker Gene confusion can be healed with used held items")
|
||||
{
|
||||
u16 item;
|
||||
enum Item item;
|
||||
PARAMETRIZE { item = ITEM_PERSIM_BERRY; }
|
||||
PARAMETRIZE { item = ITEM_LUM_BERRY; }
|
||||
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ ASSUMPTIONS
|
|||
|
||||
SINGLE_BATTLE_TEST("Big Root increases healing from absorbing moves", s16 damage, s16 heal)
|
||||
{
|
||||
u32 item;
|
||||
enum Item item;
|
||||
|
||||
PARAMETRIZE { item = ITEM_NONE; }
|
||||
PARAMETRIZE { item = ITEM_BIG_ROOT; }
|
||||
|
|
@ -30,7 +30,7 @@ SINGLE_BATTLE_TEST("Big Root increases healing from absorbing moves", s16 damage
|
|||
|
||||
SINGLE_BATTLE_TEST("Big Root increases the damage restored from Leech Seed, Ingrain and Aqua Ring", s16 heal, s16 damage)
|
||||
{
|
||||
u32 item;
|
||||
enum Item item;
|
||||
enum Move move;
|
||||
|
||||
PARAMETRIZE { item = ITEM_NONE; move = MOVE_LEECH_SEED; }
|
||||
|
|
@ -59,7 +59,7 @@ SINGLE_BATTLE_TEST("Big Root increases the damage restored from Leech Seed, Ingr
|
|||
|
||||
SINGLE_BATTLE_TEST("Big Root increases damage from absorbing Liquid Ooze", s16 damage)
|
||||
{
|
||||
u32 item;
|
||||
enum Item item;
|
||||
|
||||
PARAMETRIZE { item = ITEM_NONE; }
|
||||
PARAMETRIZE { item = ITEM_BIG_ROOT; }
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user