diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/battle_anim_mon_movement.c | 21 | ||||
-rw-r--r-- | src/berry.c | 16 | ||||
-rw-r--r-- | src/berry_powder.c (renamed from src/unk_815EDDC.c) | 6 | ||||
-rw-r--r-- | src/data/items.json | 6062 | ||||
-rw-r--r-- | src/data/items.json.txt | 31 | ||||
-rw-r--r-- | src/fame_checker.c | 2 | ||||
-rw-r--r-- | src/item.c | 684 | ||||
-rw-r--r-- | src/item_pc.c | 2 | ||||
-rw-r--r-- | src/item_use.c | 880 | ||||
-rw-r--r-- | src/load_save.c | 4 | ||||
-rw-r--r-- | src/pokemon.c | 2 | ||||
-rw-r--r-- | src/quest_log.c | 4 | ||||
-rw-r--r-- | src/teachy_tv.c | 2 | ||||
-rw-r--r-- | src/tm_case.c | 4 | ||||
-rw-r--r-- | src/unk_815C980.c | 3 |
15 files changed, 7701 insertions, 22 deletions
diff --git a/src/battle_anim_mon_movement.c b/src/battle_anim_mon_movement.c new file mode 100644 index 000000000..30d796758 --- /dev/null +++ b/src/battle_anim_mon_movement.c @@ -0,0 +1,21 @@ +#include "global.h" + +void sub_80990AC(struct Sprite * sprite); +void sub_8099144(struct Sprite * sprite); +void sub_80991B4(struct Sprite * sprite); +void sub_80992E0(struct Sprite * sprite); +void sub_8099394(struct Sprite * sprite); + +const struct SpriteTemplate gUnknown_83D4E4C[] = { + { + 0, 0, &gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80990AC + }, { + 0, 0, &gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8099144 + }, { + 0, 0, &gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80991B4 + }, { + 0, 0, &gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80992E0 + }, { + 0, 0, &gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8099394 + } +}; diff --git a/src/berry.c b/src/berry.c index 5cbcd4e90..91d83f40c 100644 --- a/src/berry.c +++ b/src/berry.c @@ -5,7 +5,7 @@ extern const struct Berry sBerries[]; -#define ENIGMA_BERRY_STRUCT ({const struct Berry2 *berries = (const struct Berry2 *)sBerries;berries[ITEM_ENIGMA_BERRY - ITEM_CHERI_BERRY];}) +#define ENIGMA_BERRY_STRUCT ({const struct Berry2 *berries = (const struct Berry2 *)sBerries;berries[ITEM_ENIGMA_BERRY - FIRST_BERRY_INDEX];}) void sub_809C718(void) { @@ -136,10 +136,10 @@ bool32 IsEnigmaBerryValid(void) const struct Berry * sub_809C8A0(u8 berryIdx) { - if (berryIdx == ITEM_ENIGMA_BERRY - ITEM_CHERI_BERRY + 1 && IsEnigmaBerryValid()) + if (berryIdx == ITEM_TO_BERRY(ITEM_ENIGMA_BERRY) && IsEnigmaBerryValid()) return (struct Berry *)&gSaveBlock1Ptr->enigmaBerry.berry; - if (berryIdx == 0 || berryIdx > ITEM_ENIGMA_BERRY - ITEM_CHERI_BERRY + 1) + if (berryIdx == 0 || berryIdx > ITEM_TO_BERRY(ITEM_ENIGMA_BERRY)) berryIdx = 1; return &sBerries[berryIdx - 1]; @@ -147,18 +147,18 @@ const struct Berry * sub_809C8A0(u8 berryIdx) u8 ItemIdToBerryType(u16 itemId) { - if (itemId - ITEM_CHERI_BERRY < 0 || itemId - ITEM_CHERI_BERRY > ITEM_ENIGMA_BERRY - ITEM_CHERI_BERRY) + if (itemId - FIRST_BERRY_INDEX < 0 || itemId - FIRST_BERRY_INDEX > ITEM_ENIGMA_BERRY - FIRST_BERRY_INDEX) return 1; - return itemId - ITEM_CHERI_BERRY + 1; + return ITEM_TO_BERRY(itemId); } u16 BerryTypeToItemId(u16 berryType) { - if (berryType - 1 < 0 || berryType - 1 > ITEM_ENIGMA_BERRY - ITEM_CHERI_BERRY) - return ITEM_CHERI_BERRY; + if (berryType - 1 < 0 || berryType - 1 > ITEM_ENIGMA_BERRY - FIRST_BERRY_INDEX) + return FIRST_BERRY_INDEX; - return berryType + ITEM_CHERI_BERRY - 1; + return berryType + FIRST_BERRY_INDEX - 1; } void GetBerryNameByBerryType(u8 berryType, u8 * dest) diff --git a/src/unk_815EDDC.c b/src/berry_powder.c index 669bb2ddb..b3069d697 100644 --- a/src/unk_815EDDC.c +++ b/src/berry_powder.c @@ -84,7 +84,7 @@ bool8 sub_815EF5C(void) } } -u32 sub_815EFA0(void) +u32 GetBerryPowder(void) { return sub_815EE3C(&gSaveBlock2Ptr->berryCrush.berryPowderAmount); } @@ -104,7 +104,7 @@ void sub_815F014(u8 windowId, u16 baseBlock, u8 palette, u32 powder) void sub_815F070(void) { - sub_815EFBC(gUnknown_203F464, sub_815EFA0(), 39, 12, 0); + sub_815EFBC(gUnknown_203F464, GetBerryPowder(), 39, 12, 0); } void sub_815F094(void) @@ -120,7 +120,7 @@ void sub_815F094(void) FillWindowPixelBuffer(gUnknown_203F464, 0); PutWindowTilemap(gUnknown_203F464); TextWindow_SetStdFrame0_WithPal(gUnknown_203F464, 0x21D, 0xD0); - sub_815F014(gUnknown_203F464, 0x21D, 0xD, sub_815EFA0()); + sub_815F014(gUnknown_203F464, 0x21D, 0xD, GetBerryPowder()); } } diff --git a/src/data/items.json b/src/data/items.json new file mode 100644 index 000000000..b976e4c3e --- /dev/null +++ b/src/data/items.json @@ -0,0 +1,6062 @@ +{ + "items": [ + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "MASTER BALL", + "itemId": "ITEM_MASTER_BALL", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "The best BALL with the ultimate\\nperformance. It will catch any wild\\nPOKéMON without fail.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_POKE_BALLS", + "type": 0, + "fieldUseFunc": "NULL", + "battleUsage": 2, + "battleUseFunc": "BattleUseFunc_PokeBallEtc", + "secondaryId": 0 + }, + { + "english": "ULTRA BALL", + "itemId": "ITEM_ULTRA_BALL", + "price": 1200, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A very high-grade BALL that offers\\na higher POKéMON catch rate than\\na GREAT BALL.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_POKE_BALLS", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 2, + "battleUseFunc": "BattleUseFunc_PokeBallEtc", + "secondaryId": 1 + }, + { + "english": "GREAT BALL", + "itemId": "ITEM_GREAT_BALL", + "price": 600, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A good, quality BALL that offers\\na higher POKéMON catch rate than\\na standard POKé BALL.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_POKE_BALLS", + "type": 2, + "fieldUseFunc": "NULL", + "battleUsage": 2, + "battleUseFunc": "BattleUseFunc_PokeBallEtc", + "secondaryId": 2 + }, + { + "english": "POK\u00e9 BALL", + "itemId": "ITEM_POKE_BALL", + "price": 200, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A BALL thrown to catch a wild\\nPOKéMON. It is designed in a\\ncapsule style.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_POKE_BALLS", + "type": 3, + "fieldUseFunc": "NULL", + "battleUsage": 2, + "battleUseFunc": "BattleUseFunc_PokeBallEtc", + "secondaryId": 3 + }, + { + "english": "SAFARI BALL", + "itemId": "ITEM_SAFARI_BALL", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A special BALL that is used only in\\nthe SAFARI ZONE. It is finished in\\na camouflage pattern.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_POKE_BALLS", + "type": 4, + "fieldUseFunc": "NULL", + "battleUsage": 2, + "battleUseFunc": "BattleUseFunc_PokeBallEtc", + "secondaryId": 4 + }, + { + "english": "NET BALL", + "itemId": "ITEM_NET_BALL", + "price": 1000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A somewhat different BALL that\\nworks especially well on WATER- and\\nBUG-type POKéMON.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_POKE_BALLS", + "type": 5, + "fieldUseFunc": "NULL", + "battleUsage": 2, + "battleUseFunc": "BattleUseFunc_PokeBallEtc", + "secondaryId": 5 + }, + { + "english": "DIVE BALL", + "itemId": "ITEM_DIVE_BALL", + "price": 1000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A somewhat different BALL that\\nworks especially well on POKéMON\\ndeep in the sea.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_POKE_BALLS", + "type": 6, + "fieldUseFunc": "NULL", + "battleUsage": 2, + "battleUseFunc": "BattleUseFunc_PokeBallEtc", + "secondaryId": 6 + }, + { + "english": "NEST BALL", + "itemId": "ITEM_NEST_BALL", + "price": 1000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A somewhat different BALL that\\nworks especially well on weaker\\nPOKéMON.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_POKE_BALLS", + "type": 7, + "fieldUseFunc": "NULL", + "battleUsage": 2, + "battleUseFunc": "BattleUseFunc_PokeBallEtc", + "secondaryId": 7 + }, + { + "english": "REPEAT BALL", + "itemId": "ITEM_REPEAT_BALL", + "price": 1000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A somewhat different BALL that\\nworks especially well on POKéMON\\ncaught before.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_POKE_BALLS", + "type": 8, + "fieldUseFunc": "NULL", + "battleUsage": 2, + "battleUseFunc": "BattleUseFunc_PokeBallEtc", + "secondaryId": 8 + }, + { + "english": "TIMER BALL", + "itemId": "ITEM_TIMER_BALL", + "price": 1000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A somewhat different BALL that\\nbecomes progressively better the\\nmore turns there are in a battle.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_POKE_BALLS", + "type": 9, + "fieldUseFunc": "NULL", + "battleUsage": 2, + "battleUseFunc": "BattleUseFunc_PokeBallEtc", + "secondaryId": 9 + }, + { + "english": "LUXURY BALL", + "itemId": "ITEM_LUXURY_BALL", + "price": 1000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A comfortable BALL that makes a\\ncaptured wild POKéMON quickly grow\\nfriendly.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_POKE_BALLS", + "type": 10, + "fieldUseFunc": "NULL", + "battleUsage": 2, + "battleUseFunc": "BattleUseFunc_PokeBallEtc", + "secondaryId": 10 + }, + { + "english": "PREMIER BALL", + "itemId": "ITEM_PREMIER_BALL", + "price": 200, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A rare BALL that has been\\nspecially made to commemorate an\\nevent of some sort.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_POKE_BALLS", + "type": 11, + "fieldUseFunc": "NULL", + "battleUsage": 2, + "battleUseFunc": "BattleUseFunc_PokeBallEtc", + "secondaryId": 11 + }, + { + "english": "POTION", + "itemId": "ITEM_POTION", + "price": 300, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 20, + "description_english": "A spray-type wound medicine.\\nIt restores the HP of one POKéMON\\nby 20 points.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 1, + "fieldUseFunc": "FieldUseFunc_Medicine", + "battleUsage": 1, + "battleUseFunc": "BattleUseFunc_Medicine", + "secondaryId": 0 + }, + { + "english": "ANTIDOTE", + "itemId": "ITEM_ANTIDOTE", + "price": 100, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A spray-type medicine.\\nIt heals one POKéMON from a\\npoisoning.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 1, + "fieldUseFunc": "FieldUseFunc_Medicine", + "battleUsage": 1, + "battleUseFunc": "BattleUseFunc_Medicine", + "secondaryId": 0 + }, + { + "english": "BURN HEAL", + "itemId": "ITEM_BURN_HEAL", + "price": 250, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A spray-type medicine.\\nIt heals one POKéMON of a burn.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 1, + "fieldUseFunc": "FieldUseFunc_Medicine", + "battleUsage": 1, + "battleUseFunc": "BattleUseFunc_Medicine", + "secondaryId": 0 + }, + { + "english": "ICE HEAL", + "itemId": "ITEM_ICE_HEAL", + "price": 250, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A spray-type medicine.\\nIt defrosts a frozen POKéMON.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 1, + "fieldUseFunc": "FieldUseFunc_Medicine", + "battleUsage": 1, + "battleUseFunc": "BattleUseFunc_Medicine", + "secondaryId": 0 + }, + { + "english": "AWAKENING", + "itemId": "ITEM_AWAKENING", + "price": 250, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A spray-type medicine.\\nIt awakens a sleeping POKéMON.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 1, + "fieldUseFunc": "FieldUseFunc_Medicine", + "battleUsage": 1, + "battleUseFunc": "BattleUseFunc_Medicine", + "secondaryId": 0 + }, + { + "english": "PARLYZ HEAL", + "itemId": "ITEM_PARALYZE_HEAL", + "price": 200, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A spray-type medicine.\\nIt heals one POKéMON from\\nparalysis.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 1, + "fieldUseFunc": "FieldUseFunc_Medicine", + "battleUsage": 1, + "battleUseFunc": "BattleUseFunc_Medicine", + "secondaryId": 0 + }, + { + "english": "FULL RESTORE", + "itemId": "ITEM_FULL_RESTORE", + "price": 3000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 255, + "description_english": "A medicine that fully restores the\\nHP and heals any status problems\\nof one POKéMON.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 1, + "fieldUseFunc": "FieldUseFunc_Medicine", + "battleUsage": 1, + "battleUseFunc": "BattleUseFunc_Medicine", + "secondaryId": 0 + }, + { + "english": "MAX POTION", + "itemId": "ITEM_MAX_POTION", + "price": 2500, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 255, + "description_english": "A spray-type wound medicine.\\nIt fully restores the HP of one\\nPOKéMON.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 1, + "fieldUseFunc": "FieldUseFunc_Medicine", + "battleUsage": 1, + "battleUseFunc": "BattleUseFunc_Medicine", + "secondaryId": 0 + }, + { + "english": "HYPER POTION", + "itemId": "ITEM_HYPER_POTION", + "price": 1200, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 200, + "description_english": "A spray-type wound medicine.\\nIt restores the HP of one POKéMON\\nby 200 points.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 1, + "fieldUseFunc": "FieldUseFunc_Medicine", + "battleUsage": 1, + "battleUseFunc": "BattleUseFunc_Medicine", + "secondaryId": 0 + }, + { + "english": "SUPER POTION", + "itemId": "ITEM_SUPER_POTION", + "price": 700, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 50, + "description_english": "A spray-type wound medicine.\\nIt restores the HP of one POKéMON\\nby 50 points.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 1, + "fieldUseFunc": "FieldUseFunc_Medicine", + "battleUsage": 1, + "battleUseFunc": "BattleUseFunc_Medicine", + "secondaryId": 0 + }, + { + "english": "FULL HEAL", + "itemId": "ITEM_FULL_HEAL", + "price": 600, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A spray-type medicine.\\nIt heals all the status problems of\\none POKéMON.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 1, + "fieldUseFunc": "FieldUseFunc_Medicine", + "battleUsage": 1, + "battleUseFunc": "BattleUseFunc_Medicine", + "secondaryId": 0 + }, + { + "english": "REVIVE", + "itemId": "ITEM_REVIVE", + "price": 1500, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A medicine that revives a fainted\\nPOKéMON, restoring HP by half the\\nmaximum amount.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 1, + "fieldUseFunc": "FieldUseFunc_Medicine", + "battleUsage": 1, + "battleUseFunc": "BattleUseFunc_Medicine", + "secondaryId": 0 + }, + { + "english": "MAX REVIVE", + "itemId": "ITEM_MAX_REVIVE", + "price": 4000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A medicine that revives a fainted\\nPOKéMON, restoring HP fully.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 1, + "fieldUseFunc": "FieldUseFunc_Medicine", + "battleUsage": 1, + "battleUseFunc": "BattleUseFunc_Medicine", + "secondaryId": 0 + }, + { + "english": "FRESH WATER", + "itemId": "ITEM_FRESH_WATER", + "price": 200, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 50, + "description_english": "Water with a high mineral content.\\nIt restores the HP of one POKéMON\\nby 50 points.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 1, + "fieldUseFunc": "FieldUseFunc_Medicine", + "battleUsage": 1, + "battleUseFunc": "BattleUseFunc_Medicine", + "secondaryId": 0 + }, + { + "english": "SODA POP", + "itemId": "ITEM_SODA_POP", + "price": 300, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 60, + "description_english": "A fizzy soda drink.\\nIt restores the HP of one POKéMON\\nby 60 points.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 1, + "fieldUseFunc": "FieldUseFunc_Medicine", + "battleUsage": 1, + "battleUseFunc": "BattleUseFunc_Medicine", + "secondaryId": 0 + }, + { + "english": "LEMONADE", + "itemId": "ITEM_LEMONADE", + "price": 350, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 80, + "description_english": "A very sweet drink.\\nIt restores the HP of one POKéMON\\nby 80 points.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 1, + "fieldUseFunc": "FieldUseFunc_Medicine", + "battleUsage": 1, + "battleUseFunc": "BattleUseFunc_Medicine", + "secondaryId": 0 + }, + { + "english": "MOOMOO MILK", + "itemId": "ITEM_MOOMOO_MILK", + "price": 500, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 100, + "description_english": "Highly nutritious milk.\\nIt restores the HP of one POKéMON\\nby 100 points.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 1, + "fieldUseFunc": "FieldUseFunc_Medicine", + "battleUsage": 1, + "battleUseFunc": "BattleUseFunc_Medicine", + "secondaryId": 0 + }, + { + "english": "ENERGYPOWDER", + "itemId": "ITEM_ENERGY_POWDER", + "price": 500, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A very bitter medicine powder.\\nIt restores the HP of one POKéMON\\nby 50 points.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 1, + "fieldUseFunc": "FieldUseFunc_Medicine", + "battleUsage": 1, + "battleUseFunc": "BattleUseFunc_Medicine", + "secondaryId": 0 + }, + { + "english": "ENERGY ROOT", + "itemId": "ITEM_ENERGY_ROOT", + "price": 800, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A very bitter root.\\nIt restores the HP of one POKéMON\\nby 200 points.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 1, + "fieldUseFunc": "FieldUseFunc_Medicine", + "battleUsage": 1, + "battleUseFunc": "BattleUseFunc_Medicine", + "secondaryId": 0 + }, + { + "english": "HEAL POWDER", + "itemId": "ITEM_HEAL_POWDER", + "price": 450, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A very bitter medicine powder.\\nIt heals all the status problems of\\none POKéMON.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 1, + "fieldUseFunc": "FieldUseFunc_Medicine", + "battleUsage": 1, + "battleUseFunc": "BattleUseFunc_Medicine", + "secondaryId": 0 + }, + { + "english": "REVIVAL HERB", + "itemId": "ITEM_REVIVAL_HERB", + "price": 2800, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A very bitter medicinal herb.\\nIt revives a fainted POKéMON,\\nrestoring HP fully.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 1, + "fieldUseFunc": "FieldUseFunc_Medicine", + "battleUsage": 1, + "battleUseFunc": "BattleUseFunc_Medicine", + "secondaryId": 0 + }, + { + "english": "ETHER", + "itemId": "ITEM_ETHER", + "price": 1200, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 10, + "description_english": "Restores a selected move's PP by\\n10 points for one POKéMON.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 1, + "fieldUseFunc": "FieldUseFunc_Ether", + "battleUsage": 1, + "battleUseFunc": "BattleUseFunc_Ether", + "secondaryId": 0 + }, + { + "english": "MAX ETHER", + "itemId": "ITEM_MAX_ETHER", + "price": 2000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 255, + "description_english": "Fully restores a selected move's PP\\nfor one POKéMON.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 1, + "fieldUseFunc": "FieldUseFunc_Ether", + "battleUsage": 1, + "battleUseFunc": "BattleUseFunc_Ether", + "secondaryId": 0 + }, + { + "english": "ELIXIR", + "itemId": "ITEM_ELIXIR", + "price": 3000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 10, + "description_english": "Restores the PP of all moves for\\none POKéMON by 10 points each.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 1, + "fieldUseFunc": "FieldUseFunc_Ether", + "battleUsage": 1, + "battleUseFunc": "BattleUseFunc_Ether", + "secondaryId": 0 + }, + { + "english": "MAX ELIXIR", + "itemId": "ITEM_MAX_ELIXIR", + "price": 4500, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 255, + "description_english": "Fully restores the PP of all moves\\nfor one POKéMON.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 1, + "fieldUseFunc": "FieldUseFunc_Ether", + "battleUsage": 1, + "battleUseFunc": "BattleUseFunc_Ether", + "secondaryId": 0 + }, + { + "english": "LAVA COOKIE", + "itemId": "ITEM_LAVA_COOKIE", + "price": 200, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "LAVARIDGE TOWN's local specialty.\\nIt heals all the status problems of\\none POKéMON.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 1, + "fieldUseFunc": "FieldUseFunc_Medicine", + "battleUsage": 1, + "battleUseFunc": "BattleUseFunc_Medicine", + "secondaryId": 0 + }, + { + "english": "BLUE FLUTE", + "itemId": "ITEM_BLUE_FLUTE", + "price": 100, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A blue glass flute that awakens\\na sleeping POKéMON.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 1, + "fieldUseFunc": "FieldUseFunc_Medicine", + "battleUsage": 1, + "battleUseFunc": "BattleUseFunc_Medicine", + "secondaryId": 0 + }, + { + "english": "YELLOW FLUTE", + "itemId": "ITEM_YELLOW_FLUTE", + "price": 200, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A yellow glass flute that snaps one\\nPOKéMON out of confusion.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 1, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 1, + "battleUseFunc": "BattleUseFunc_Medicine", + "secondaryId": 0 + }, + { + "english": "RED FLUTE", + "itemId": "ITEM_RED_FLUTE", + "price": 300, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A red glass flute that snaps one\\nPOKéMON out of infatuation.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 1, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 1, + "battleUseFunc": "BattleUseFunc_Medicine", + "secondaryId": 0 + }, + { + "english": "BLACK FLUTE", + "itemId": "ITEM_BLACK_FLUTE", + "price": 400, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 50, + "description_english": "A black glass flute.\\nWhen blown, it makes wild POKéMON\\nless likely to appear.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 1, + "fieldUseFunc": "FieldUseFunc_BlackFlute", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "WHITE FLUTE", + "itemId": "ITEM_WHITE_FLUTE", + "price": 500, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 150, + "description_english": "A white glass flute.\\nWhen blown, it makes wild POKéMON\\nmore likely to appear.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 1, + "fieldUseFunc": "FieldUseFunc_BlackFlute", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "BERRY JUICE", + "itemId": "ITEM_BERRY_JUICE", + "price": 100, + "holdEffect": "HOLD_EFFECT_RESTORE_HP", + "holdEffectParam": 20, + "description_english": "A 100% pure juice.\\nIt restores the HP of one POKéMON\\nby 20 points.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 1, + "fieldUseFunc": "FieldUseFunc_Medicine", + "battleUsage": 1, + "battleUseFunc": "BattleUseFunc_Medicine", + "secondaryId": 0 + }, + { + "english": "SACRED ASH", + "itemId": "ITEM_SACRED_ASH", + "price": 200, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "Revives all fainted POKéMON,\\nrestoring HP fully.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 1, + "fieldUseFunc": "FieldUseFunc_SacredAsh", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "SHOAL SALT", + "itemId": "ITEM_SHOAL_SALT", + "price": 20, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "Pure salt obtained from deep inside\\nthe SHOAL CAVE. It is extremely\\nsalty.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "SHOAL SHELL", + "itemId": "ITEM_SHOAL_SHELL", + "price": 20, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A pretty seashell found deep inside\\nthe SHOAL CAVE. It is striped in\\nblue and white.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "RED SHARD", + "itemId": "ITEM_RED_SHARD", + "price": 200, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A small red shard.\\nIt appears to be from some sort of\\na tool made long ago.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "BLUE SHARD", + "itemId": "ITEM_BLUE_SHARD", + "price": 200, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A small blue shard.\\nIt appears to be from some sort of\\na tool made long ago.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "YELLOW SHARD", + "itemId": "ITEM_YELLOW_SHARD", + "price": 200, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A small yellow shard.\\nIt appears to be from some sort of\\na tool made long ago.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "GREEN SHARD", + "itemId": "ITEM_GREEN_SHARD", + "price": 200, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A small green shard.\\nIt appears to be from some sort of\\na tool made long ago.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "HP UP", + "itemId": "ITEM_HP_UP", + "price": 9800, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A nutritious drink for POKéMON.\\nIt raises the base HP of one\\nPOKéMON.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 1, + "fieldUseFunc": "FieldUseFunc_Medicine", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "PROTEIN", + "itemId": "ITEM_PROTEIN", + "price": 9800, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A nutritious drink for POKéMON.\\nIt raises the base ATTACK stat of\\none POKéMON.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 1, + "fieldUseFunc": "FieldUseFunc_Medicine", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "IRON", + "itemId": "ITEM_IRON", + "price": 9800, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A nutritious drink for POKéMON.\\nIt raises the base DEFENSE stat of\\none POKéMON.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 1, + "fieldUseFunc": "FieldUseFunc_Medicine", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "CARBOS", + "itemId": "ITEM_CARBOS", + "price": 9800, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A nutritious drink for POKéMON.\\nIt raises the base SPEED stat of\\none POKéMON.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 1, + "fieldUseFunc": "FieldUseFunc_Medicine", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "CALCIUM", + "itemId": "ITEM_CALCIUM", + "price": 9800, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A nutritious drink for POKéMON.\\nIt raises the base SP. ATK stat\\nof one POKéMON.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 1, + "fieldUseFunc": "FieldUseFunc_Medicine", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "RARE CANDY", + "itemId": "ITEM_RARE_CANDY", + "price": 4800, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A candy that is packed with energy.\\nIt raises the level of a POKéMON\\nby one.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 1, + "fieldUseFunc": "FieldUseFunc_RareCandy", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "PP UP", + "itemId": "ITEM_PP_UP", + "price": 9800, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "Slightly raises the maximum PP of\\na selected move for one POKéMON.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 1, + "fieldUseFunc": "FieldUseFunc_PpUp", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "ZINC", + "itemId": "ITEM_ZINC", + "price": 9800, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A nutritious drink for POKéMON.\\nIt raises the base SP. DEF stat\\nof one POKéMON.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 1, + "fieldUseFunc": "FieldUseFunc_Medicine", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "PP MAX", + "itemId": "ITEM_PP_MAX", + "price": 9800, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "Raises the PP of a selected move\\nto its maximum level for one\\nPOKéMON.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 1, + "fieldUseFunc": "FieldUseFunc_PpUp", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "GUARD SPEC.", + "itemId": "ITEM_GUARD_SPEC", + "price": 700, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "An item that prevents stat reduction\\namong party POKéMON for five turns\\nafter use.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 2, + "battleUseFunc": "BattleUseFunc_GuardSpec", + "secondaryId": 0 + }, + { + "english": "DIRE HIT", + "itemId": "ITEM_DIRE_HIT", + "price": 650, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "Raises the critical-hit ratio of\\nPOKéMON in battle. Wears off if the\\nPOKéMON is withdrawn.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 2, + "battleUseFunc": "BattleUseFunc_GuardSpec", + "secondaryId": 0 + }, + { + "english": "X ATTACK", + "itemId": "ITEM_X_ATTACK", + "price": 500, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "Raises the ATTACK stat of POKéMON\\nin battle. Wears off if the POKéMON\\nis withdrawn.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 2, + "battleUseFunc": "BattleUseFunc_GuardSpec", + "secondaryId": 0 + }, + { + "english": "X DEFEND", + "itemId": "ITEM_X_DEFEND", + "price": 550, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "Raises the DEFENSE stat of POKéMON\\nin battle. Wears off if the POKéMON\\nis withdrawn.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 2, + "battleUseFunc": "BattleUseFunc_GuardSpec", + "secondaryId": 0 + }, + { + "english": "X SPEED", + "itemId": "ITEM_X_SPEED", + "price": 350, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "Raises the SPEED stat of POKéMON\\nin battle. Wears off if the POKéMON\\nis withdrawn.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 2, + "battleUseFunc": "BattleUseFunc_GuardSpec", + "secondaryId": 0 + }, + { + "english": "X ACCURACY", + "itemId": "ITEM_X_ACCURACY", + "price": 950, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "Raises the accuracy stat of\\nPOKéMON in battle. Wears off if the\\nPOKéMON is withdrawn.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 2, + "battleUseFunc": "BattleUseFunc_GuardSpec", + "secondaryId": 0 + }, + { + "english": "X SPECIAL", + "itemId": "ITEM_X_SPECIAL", + "price": 350, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "Raises the SP. ATK stat of\\nPOKéMON in battle. Wears off if the\\nPOKéMON is withdrawn.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 2, + "battleUseFunc": "BattleUseFunc_GuardSpec", + "secondaryId": 0 + }, + { + "english": "POK\u00e9 DOLL", + "itemId": "ITEM_POKE_DOLL", + "price": 1000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "An attractive doll.\\nUse it to flee from any battle with\\na wild POKéMON.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 2, + "battleUseFunc": "BattleUseFunc_PokeDoll", + "secondaryId": 0 + }, + { + "english": "FLUFFY TAIL", + "itemId": "ITEM_FLUFFY_TAIL", + "price": 1000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "An attractive item.\\nUse it to flee from any battle with\\na wild POKéMON.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 2, + "battleUseFunc": "BattleUseFunc_PokeDoll", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "SUPER REPEL", + "itemId": "ITEM_SUPER_REPEL", + "price": 500, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 200, + "description_english": "Prevents weak wild POKéMON from\\nappearing for 200 steps.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_SuperRepel", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "MAX REPEL", + "itemId": "ITEM_MAX_REPEL", + "price": 700, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 250, + "description_english": "Prevents weak wild POKéMON from\\nappearing for 250 steps.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_SuperRepel", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "ESCAPE ROPE", + "itemId": "ITEM_ESCAPE_ROPE", + "price": 550, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A long, durable rope.\\nUse it to escape instantly from a\\ncave or a dungeon.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 2, + "fieldUseFunc": "ItemUseOutOfBattle_EscapeRope", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "REPEL", + "itemId": "ITEM_REPEL", + "price": 350, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 100, + "description_english": "Prevents weak wild POKéMON from\\nappearing for 100 steps.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_SuperRepel", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "SUN STONE", + "itemId": "ITEM_SUN_STONE", + "price": 2100, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A peculiar stone that makes certain\\nspecies of POKéMON evolve.\\nIt is as red as the sun.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 1, + "fieldUseFunc": "FieldUseFunc_EvoItem", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "MOON STONE", + "itemId": "ITEM_MOON_STONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A peculiar stone that makes certain\\nspecies of POKéMON evolve.\\nIt is as black as the night sky.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 1, + "fieldUseFunc": "FieldUseFunc_EvoItem", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "FIRE STONE", + "itemId": "ITEM_FIRE_STONE", + "price": 2100, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A peculiar stone that makes certain\\nspecies of POKéMON evolve.\\nIt is colored orange.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 1, + "fieldUseFunc": "FieldUseFunc_EvoItem", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "THUNDERSTONE", + "itemId": "ITEM_THUNDER_STONE", + "price": 2100, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A peculiar stone that makes certain\\nspecies of POKéMON evolve.\\nIt has a thunderbolt pattern.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 1, + "fieldUseFunc": "FieldUseFunc_EvoItem", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "WATER STONE", + "itemId": "ITEM_WATER_STONE", + "price": 2100, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A peculiar stone that makes certain\\nspecies of POKéMON evolve.\\nIt is a clear light blue.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 1, + "fieldUseFunc": "FieldUseFunc_EvoItem", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "LEAF STONE", + "itemId": "ITEM_LEAF_STONE", + "price": 2100, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A peculiar stone that makes certain\\nspecies of POKéMON evolve.\\nIt has a leaf pattern.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 1, + "fieldUseFunc": "FieldUseFunc_EvoItem", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "TINYMUSHROOM", + "itemId": "ITEM_TINY_MUSHROOM", + "price": 500, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A small and rare mushroom.\\nIt is quite popular among certain\\npeople.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "BIG MUSHROOM", + "itemId": "ITEM_BIG_MUSHROOM", + "price": 5000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A large and rare mushroom.\\nIt is very popular among certain\\npeople.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "PEARL", + "itemId": "ITEM_PEARL", + "price": 1400, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A relatively small pearl that\\nsparkles in a pretty silver color.\\nIt can be sold cheaply.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "BIG PEARL", + "itemId": "ITEM_BIG_PEARL", + "price": 7500, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A quite-large pearl that sparkles\\nin a pretty silver color.\\nIt can be sold at a high price.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "STARDUST", + "itemId": "ITEM_STARDUST", + "price": 2000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A pretty red sand with a loose,\\nsilky feel.\\nIt can be sold at a high price.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "STAR PIECE", + "itemId": "ITEM_STAR_PIECE", + "price": 9800, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A shard of a pretty gem that\\nsparkles in a red color.\\nIt can be sold at a high price.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "NUGGET", + "itemId": "ITEM_NUGGET", + "price": 10000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A nugget of pure gold that gives\\noff a lustrous gleam.\\nIt can be sold at a high price.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "HEART SCALE", + "itemId": "ITEM_HEART_SCALE", + "price": 100, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A pretty, heart-shaped scale that\\nis extremely rare. It glows faintly\\nin the colors of a rainbow.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "ORANGE MAIL", + "itemId": "ITEM_ORANGE_MAIL", + "price": 50, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A piece of MAIL featuring a cute\\nZIGZAGOON print.\\nIt is to be held by a POKéMON.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 0, + "fieldUseFunc": "FieldUseFunc_OrangeMail", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "HARBOR MAIL", + "itemId": "ITEM_HARBOR_MAIL", + "price": 50, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A piece of MAIL featuring a cute\\nWINGULL print.\\nIt is to be held by a POKéMON.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 0, + "fieldUseFunc": "FieldUseFunc_OrangeMail", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 1 + }, + { + "english": "GLITTER MAIL", + "itemId": "ITEM_GLITTER_MAIL", + "price": 50, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A piece of MAIL featuring a cute\\nPIKACHU print.\\nIt is to be held by a POKéMON.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 0, + "fieldUseFunc": "FieldUseFunc_OrangeMail", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 2 + }, + { + "english": "MECH MAIL", + "itemId": "ITEM_MECH_MAIL", + "price": 50, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A piece of MAIL featuring a cute\\nMAGNEMITE print.\\nIt is to be held by a POKéMON.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 0, + "fieldUseFunc": "FieldUseFunc_OrangeMail", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 3 + }, + { + "english": "WOOD MAIL", + "itemId": "ITEM_WOOD_MAIL", + "price": 50, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A piece of MAIL featuring a cute\\nSLAKOTH print.\\nIt is to be held by a POKéMON.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 0, + "fieldUseFunc": "FieldUseFunc_OrangeMail", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 4 + }, + { + "english": "WAVE MAIL", + "itemId": "ITEM_WAVE_MAIL", + "price": 50, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A piece of MAIL featuring a cute\\nWAILMER print.\\nIt is to be held by a POKéMON.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 0, + "fieldUseFunc": "FieldUseFunc_OrangeMail", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 5 + }, + { + "english": "BEAD MAIL", + "itemId": "ITEM_BEAD_MAIL", + "price": 50, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A piece of MAIL to be held by a\\nPOKéMON. It will bear the print of\\nthe POKéMON holding it.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 0, + "fieldUseFunc": "FieldUseFunc_OrangeMail", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 6 + }, + { + "english": "SHADOW MAIL", + "itemId": "ITEM_SHADOW_MAIL", + "price": 50, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A piece of MAIL featuring a cute\\nDUSKULL print.\\nIt is to be held by a POKéMON.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 0, + "fieldUseFunc": "FieldUseFunc_OrangeMail", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 7 + }, + { + "english": "TROPIC MAIL", + "itemId": "ITEM_TROPIC_MAIL", + "price": 50, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A piece of MAIL featuring a cute\\nBELLOSSOM print.\\nIt is to be held by a POKéMON.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 0, + "fieldUseFunc": "FieldUseFunc_OrangeMail", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 8 + }, + { + "english": "DREAM MAIL", + "itemId": "ITEM_DREAM_MAIL", + "price": 50, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A piece of MAIL to be held by a\\nPOKéMON. It will bear the print of\\nthe POKéMON holding it.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 0, + "fieldUseFunc": "FieldUseFunc_OrangeMail", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 9 + }, + { + "english": "FAB MAIL", + "itemId": "ITEM_FAB_MAIL", + "price": 50, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A piece of MAIL featuring a\\ngorgeous, extravagant print.\\nIt is to be held by a POKéMON.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 0, + "fieldUseFunc": "FieldUseFunc_OrangeMail", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 10 + }, + { + "english": "RETRO MAIL", + "itemId": "ITEM_RETRO_MAIL", + "price": 50, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A piece of MAIL featuring a print\\nof three cute POKéMON.\\nIt is to be held by a POKéMON.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 0, + "fieldUseFunc": "FieldUseFunc_OrangeMail", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 11 + }, + { + "english": "CHERI BERRY", + "itemId": "ITEM_CHERI_BERRY", + "price": 20, + "holdEffect": "HOLD_EFFECT_CURE_PAR", + "holdEffectParam": 0, + "description_english": "When held by a POKéMON, it will be\\nused in battle to heal paralysis.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_BERRY_POUCH", + "type": 1, + "fieldUseFunc": "FieldUseFunc_Medicine", + "battleUsage": 1, + "battleUseFunc": "BattleUseFunc_Medicine", + "secondaryId": 0 + }, + { + "english": "CHESTO BERRY", + "itemId": "ITEM_CHESTO_BERRY", + "price": 20, + "holdEffect": "HOLD_EFFECT_CURE_SLP", + "holdEffectParam": 0, + "description_english": "When held by a POKéMON, it will be\\nused in battle to wake up.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_BERRY_POUCH", + "type": 1, + "fieldUseFunc": "FieldUseFunc_Medicine", + "battleUsage": 1, + "battleUseFunc": "BattleUseFunc_Medicine", + "secondaryId": 0 + }, + { + "english": "PECHA BERRY", + "itemId": "ITEM_PECHA_BERRY", + "price": 20, + "holdEffect": "HOLD_EFFECT_CURE_PSN", + "holdEffectParam": 0, + "description_english": "When held by a POKéMON, it will be\\nused in battle to cure poison.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_BERRY_POUCH", + "type": 1, + "fieldUseFunc": "FieldUseFunc_Medicine", + "battleUsage": 1, + "battleUseFunc": "BattleUseFunc_Medicine", + "secondaryId": 0 + }, + { + "english": "RAWST BERRY", + "itemId": "ITEM_RAWST_BERRY", + "price": 20, + "holdEffect": "HOLD_EFFECT_CURE_BRN", + "holdEffectParam": 0, + "description_english": "When held by a POKéMON, it will be\\nused in battle to heal a burn.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_BERRY_POUCH", + "type": 1, + "fieldUseFunc": "FieldUseFunc_Medicine", + "battleUsage": 1, + "battleUseFunc": "BattleUseFunc_Medicine", + "secondaryId": 0 + }, + { + "english": "ASPEAR BERRY", + "itemId": "ITEM_ASPEAR_BERRY", + "price": 20, + "holdEffect": "HOLD_EFFECT_CURE_FRZ", + "holdEffectParam": 0, + "description_english": "When held by a POKéMON, it will be\\nused in battle for defrosting.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_BERRY_POUCH", + "type": 1, + "fieldUseFunc": "FieldUseFunc_Medicine", + "battleUsage": 1, + "battleUseFunc": "BattleUseFunc_Medicine", + "secondaryId": 0 + }, + { + "english": "LEPPA BERRY", + "itemId": "ITEM_LEPPA_BERRY", + "price": 20, + "holdEffect": "HOLD_EFFECT_RESTORE_PP", + "holdEffectParam": 10, + "description_english": "When held by a POKéMON, it will be\\nused in battle to restore 10 PP.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_BERRY_POUCH", + "type": 1, + "fieldUseFunc": "FieldUseFunc_Ether", + "battleUsage": 1, + "battleUseFunc": "BattleUseFunc_Ether", + "secondaryId": 0 + }, + { + "english": "ORAN BERRY", + "itemId": "ITEM_ORAN_BERRY", + "price": 20, + "holdEffect": "HOLD_EFFECT_RESTORE_HP", + "holdEffectParam": 10, + "description_english": "When held by a POKéMON, it will be\\nused in battle to restore 10 HP.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_BERRY_POUCH", + "type": 1, + "fieldUseFunc": "FieldUseFunc_Medicine", + "battleUsage": 1, + "battleUseFunc": "BattleUseFunc_Medicine", + "secondaryId": 0 + }, + { + "english": "PERSIM BERRY", + "itemId": "ITEM_PERSIM_BERRY", + "price": 20, + "holdEffect": "HOLD_EFFECT_CURE_CONFUSION", + "holdEffectParam": 0, + "description_english": "When held by a POKéMON, it will be\\nused in battle to lift confusion.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_BERRY_POUCH", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 1, + "battleUseFunc": "BattleUseFunc_Medicine", + "secondaryId": 0 + }, + { + "english": "LUM BERRY", + "itemId": "ITEM_LUM_BERRY", + "price": 20, + "holdEffect": "HOLD_EFFECT_CURE_STATUS", + "holdEffectParam": 0, + "description_english": "When held by a POKéMON, it will be\\nused in battle to heal any problem.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_BERRY_POUCH", + "type": 1, + "fieldUseFunc": "FieldUseFunc_Medicine", + "battleUsage": 1, + "battleUseFunc": "BattleUseFunc_Medicine", + "secondaryId": 0 + }, + { + "english": "SITRUS BERRY", + "itemId": "ITEM_SITRUS_BERRY", + "price": 20, + "holdEffect": "HOLD_EFFECT_RESTORE_HP", + "holdEffectParam": 30, + "description_english": "When held by a POKéMON, it will be\\nused in battle to restore 30 HP.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_BERRY_POUCH", + "type": 1, + "fieldUseFunc": "FieldUseFunc_Medicine", + "battleUsage": 1, + "battleUseFunc": "BattleUseFunc_Medicine", + "secondaryId": 0 + }, + { + "english": "FIGY BERRY", + "itemId": "ITEM_FIGY_BERRY", + "price": 20, + "holdEffect": "HOLD_EFFECT_CONFUSE_SPICY", + "holdEffectParam": 8, + "description_english": "A hold item that restores HP but\\nmay cause confusion when used.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_BERRY_POUCH", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "WIKI BERRY", + "itemId": "ITEM_WIKI_BERRY", + "price": 20, + "holdEffect": "HOLD_EFFECT_CONFUSE_DRY", + "holdEffectParam": 8, + "description_english": "A hold item that restores HP but\\nmay cause confusion when used.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_BERRY_POUCH", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "MAGO BERRY", + "itemId": "ITEM_MAGO_BERRY", + "price": 20, + "holdEffect": "HOLD_EFFECT_CONFUSE_SWEET", + "holdEffectParam": 8, + "description_english": "A hold item that restores HP but\\nmay cause confusion when used.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_BERRY_POUCH", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "AGUAV BERRY", + "itemId": "ITEM_AGUAV_BERRY", + "price": 20, + "holdEffect": "HOLD_EFFECT_CONFUSE_BITTER", + "holdEffectParam": 8, + "description_english": "A hold item that restores HP but\\nmay cause confusion when used.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_BERRY_POUCH", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "IAPAPA BERRY", + "itemId": "ITEM_IAPAPA_BERRY", + "price": 20, + "holdEffect": "HOLD_EFFECT_CONFUSE_SOUR", + "holdEffectParam": 8, + "description_english": "A hold item that restores HP but\\nmay cause confusion when used.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_BERRY_POUCH", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "RAZZ BERRY", + "itemId": "ITEM_RAZZ_BERRY", + "price": 20, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "Can be ground up into a powder as\\nan ingredient for medicine.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_BERRY_POUCH", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "BLUK BERRY", + "itemId": "ITEM_BLUK_BERRY", + "price": 20, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "Can be ground up into a powder as\\nan ingredient for medicine.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_BERRY_POUCH", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "NANAB BERRY", + "itemId": "ITEM_NANAB_BERRY", + "price": 20, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "Can be ground up into a powder as\\nan ingredient for medicine.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_BERRY_POUCH", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "WEPEAR BERRY", + "itemId": "ITEM_WEPEAR_BERRY", + "price": 20, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "Can be ground up into a powder as\\nan ingredient for medicine.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_BERRY_POUCH", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "PINAP BERRY", + "itemId": "ITEM_PINAP_BERRY", + "price": 20, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "Can be ground up into a powder as\\nan ingredient for medicine.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_BERRY_POUCH", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "POMEG BERRY", + "itemId": "ITEM_POMEG_BERRY", + "price": 20, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "Can be ground up into a powder as\\nan ingredient for medicine.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_BERRY_POUCH", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "KELPSY BERRY", + "itemId": "ITEM_KELPSY_BERRY", + "price": 20, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "Can be ground up into a powder as\\nan ingredient for medicine.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_BERRY_POUCH", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "QUALOT BERRY", + "itemId": "ITEM_QUALOT_BERRY", + "price": 20, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "Can be ground up into a powder as\\nan ingredient for medicine.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_BERRY_POUCH", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "HONDEW BERRY", + "itemId": "ITEM_HONDEW_BERRY", + "price": 20, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "Can be ground up into a powder as\\nan ingredient for medicine.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_BERRY_POUCH", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "GREPA BERRY", + "itemId": "ITEM_GREPA_BERRY", + "price": 20, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "Can be ground up into a powder as\\nan ingredient for medicine.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_BERRY_POUCH", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "TAMATO BERRY", + "itemId": "ITEM_TAMATO_BERRY", + "price": 20, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "Can be ground up into a powder as\\nan ingredient for medicine.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_BERRY_POUCH", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "CORNN BERRY", + "itemId": "ITEM_CORNN_BERRY", + "price": 20, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "Can be ground up into a powder as\\nan ingredient for medicine.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_BERRY_POUCH", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "MAGOST BERRY", + "itemId": "ITEM_MAGOST_BERRY", + "price": 20, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "Can be ground up into a powder as\\nan ingredient for medicine.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_BERRY_POUCH", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "RABUTA BERRY", + "itemId": "ITEM_RABUTA_BERRY", + "price": 20, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "Can be ground up into a powder as\\nan ingredient for medicine.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_BERRY_POUCH", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "NOMEL BERRY", + "itemId": "ITEM_NOMEL_BERRY", + "price": 20, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "Can be ground up into a powder as\\nan ingredient for medicine.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_BERRY_POUCH", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "SPELON BERRY", + "itemId": "ITEM_SPELON_BERRY", + "price": 20, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "Can be ground up into a powder as\\nan ingredient for medicine.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_BERRY_POUCH", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "PAMTRE BERRY", + "itemId": "ITEM_PAMTRE_BERRY", + "price": 20, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "Can be ground up into a powder as\\nan ingredient for medicine.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_BERRY_POUCH", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "WATMEL BERRY", + "itemId": "ITEM_WATMEL_BERRY", + "price": 20, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "Can be ground up into a powder as\\nan ingredient for medicine.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_BERRY_POUCH", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "DURIN BERRY", + "itemId": "ITEM_DURIN_BERRY", + "price": 20, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "Can be ground up into a powder as\\nan ingredient for medicine.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_BERRY_POUCH", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "BELUE BERRY", + "itemId": "ITEM_BELUE_BERRY", + "price": 20, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "Can be ground up into a powder as\\nan ingredient for medicine.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_BERRY_POUCH", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "LIECHI BERRY", + "itemId": "ITEM_LIECHI_BERRY", + "price": 20, + "holdEffect": "HOLD_EFFECT_ATTACK_UP", + "holdEffectParam": 4, + "description_english": "When held by a POKéMON, it raises\\nthe ATTACK stat in a pinch.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_BERRY_POUCH", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "GANLON BERRY", + "itemId": "ITEM_GANLON_BERRY", + "price": 20, + "holdEffect": "HOLD_EFFECT_DEFENSE_UP", + "holdEffectParam": 4, + "description_english": "When held by a POKéMON, it raises\\nthe DEFENSE stat in a pinch.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_BERRY_POUCH", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "SALAC BERRY", + "itemId": "ITEM_SALAC_BERRY", + "price": 20, + "holdEffect": "HOLD_EFFECT_SPEED_UP", + "holdEffectParam": 4, + "description_english": "When held by a POKéMON, it raises\\nthe SPEED stat in a pinch.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_BERRY_POUCH", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "PETAYA BERRY", + "itemId": "ITEM_PETAYA_BERRY", + "price": 20, + "holdEffect": "HOLD_EFFECT_SP_ATTACK_UP", + "holdEffectParam": 4, + "description_english": "When held by a POKéMON, it raises\\nthe SP. ATK stat in a pinch.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_BERRY_POUCH", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "APICOT BERRY", + "itemId": "ITEM_APICOT_BERRY", + "price": 20, + "holdEffect": "HOLD_EFFECT_SP_DEFENSE_UP", + "holdEffectParam": 4, + "description_english": "When held by a POKéMON, it raises\\nthe SP. DEF stat in a pinch.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_BERRY_POUCH", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "LANSAT BERRY", + "itemId": "ITEM_LANSAT_BERRY", + "price": 20, + "holdEffect": "HOLD_EFFECT_CRITICAL_UP", + "holdEffectParam": 4, + "description_english": "When held by a POKéMON, it raises\\nthe critical-hit ratio in a pinch.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_BERRY_POUCH", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "STARF BERRY", + "itemId": "ITEM_STARF_BERRY", + "price": 20, + "holdEffect": "HOLD_EFFECT_RANDOM_STAT_UP", + "holdEffectParam": 4, + "description_english": "When held by a POKéMON, it sharply\\nraises one stat in a pinch.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_BERRY_POUCH", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "ENIGMA BERRY", + "itemId": "ITEM_ENIGMA_BERRY", + "price": 20, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "Can be ground up into a powder as\\nan ingredient for medicine.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_BERRY_POUCH", + "type": 4, + "fieldUseFunc": "ItemUseOutOfBattle_EnigmaBerry", + "battleUsage": 1, + "battleUseFunc": "ItemUseInBattle_EnigmaBerry", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "BRIGHTPOWDER", + "itemId": "ITEM_BRIGHT_POWDER", + "price": 10, + "holdEffect": "HOLD_EFFECT_EVASION_UP", + "holdEffectParam": 10, + "description_english": "An item to be held by a POKéMON.\\nIt casts a tricky glare that lowers\\nthe opponent's accuracy.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "WHITE HERB", + "itemId": "ITEM_WHITE_HERB", + "price": 100, + "holdEffect": "HOLD_EFFECT_RESTORE_STATS", + "holdEffectParam": 0, + "description_english": "An item to be held by a POKéMON.\\nIt restores any lowered stat in\\nbattle. It can be used only once.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "MACHO BRACE", + "itemId": "ITEM_MACHO_BRACE", + "price": 3000, + "holdEffect": "HOLD_EFFECT_MACHO_BRACE", + "holdEffectParam": 0, + "description_english": "An item to be held by a POKéMON.\\nIt promotes strong growth but\\nlowers SPEED while it is held.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "EXP. SHARE", + "itemId": "ITEM_EXP_SHARE", + "price": 3000, + "holdEffect": "HOLD_EFFECT_EXP_SHARE", + "holdEffectParam": 0, + "description_english": "An item to be held by a POKéMON.\\nThe holder gets a share of EXP.\\npoints without having to battle.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "QUICK CLAW", + "itemId": "ITEM_QUICK_CLAW", + "price": 100, + "holdEffect": "HOLD_EFFECT_QUICK_CLAW", + "holdEffectParam": 20, + "description_english": "An item to be held by a POKéMON.\\nA light and sharp claw. The holder\\nmay be able to strike first.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "SOOTHE BELL", + "itemId": "ITEM_SOOTHE_BELL", + "price": 100, + "holdEffect": "HOLD_EFFECT_HAPPINESS_UP", + "holdEffectParam": 0, + "description_english": "An item to be held by a POKéMON.\\nA bell with a comforting chime that\\nmakes the holder calm and friendly.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "MENTAL HERB", + "itemId": "ITEM_MENTAL_HERB", + "price": 100, + "holdEffect": "HOLD_EFFECT_CURE_ATTRACT", + "holdEffectParam": 0, + "description_english": "An item to be held by a POKéMON.\\nIt snaps the holder out of\\ninfatuation. It can be used once.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "CHOICE BAND", + "itemId": "ITEM_CHOICE_BAND", + "price": 100, + "holdEffect": "HOLD_EFFECT_CHOICE_BAND", + "holdEffectParam": 0, + "description_english": "An item to be held by a POKéMON.\\nIt powers up one move, which\\nbecomes the only usable one.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "KING'S ROCK", + "itemId": "ITEM_KINGS_ROCK", + "price": 100, + "holdEffect": "HOLD_EFFECT_FLINCH", + "holdEffectParam": 10, + "description_english": "An item to be held by a POKéMON.\\nIt may cause the foe to flinch\\nupon taking damage.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "SILVERPOWDER", + "itemId": "ITEM_SILVER_POWDER", + "price": 100, + "holdEffect": "HOLD_EFFECT_BUG_POWER", + "holdEffectParam": 10, + "description_english": "An item to be held by a POKéMON.\\nA shiny silver powder that boosts\\nthe power of BUG-type moves.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "AMULET COIN", + "itemId": "ITEM_AMULET_COIN", + "price": 100, + "holdEffect": "HOLD_EFFECT_DOUBLE_PRIZE", + "holdEffectParam": 10, + "description_english": "An item to be held by a POKéMON.\\nIt doubles the battle money if the\\nholding POKéMON takes part.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "CLEANSE TAG", + "itemId": "ITEM_CLEANSE_TAG", + "price": 200, + "holdEffect": "HOLD_EFFECT_REPEL", + "holdEffectParam": 0, + "description_english": "An item to be held by a POKéMON.\\nIt repels wild POKéMON if the\\nholder is first in the party.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "SOUL DEW", + "itemId": "ITEM_SOUL_DEW", + "price": 200, + "holdEffect": "HOLD_EFFECT_SOUL_DEW", + "holdEffectParam": 0, + "description_english": "An orb to be held by a LATIOS or\\nLATIAS. It raises the SP. ATK\\nand SP. DEF stats.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "DEEPSEATOOTH", + "itemId": "ITEM_DEEP_SEA_TOOTH", + "price": 200, + "holdEffect": "HOLD_EFFECT_DEEP_SEA_TOOTH", + "holdEffectParam": 0, + "description_english": "An item to be held by a POKéMON.\\nA fang that gleams a sharp silver.\\nIt raises the SP. ATK stat.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "DEEPSEASCALE", + "itemId": "ITEM_DEEP_SEA_SCALE", + "price": 200, + "holdEffect": "HOLD_EFFECT_DEEP_SEA_SCALE", + "holdEffectParam": 0, + "description_english": "An item to be held by a POKéMON.\\nA scale that shines a faint pink.\\nIt raises the SP. DEF stat.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "SMOKE BALL", + "itemId": "ITEM_SMOKE_BALL", + "price": 200, + "holdEffect": "HOLD_EFFECT_CAN_ALWAYS_RUN", + "holdEffectParam": 0, + "description_english": "An item to be held by a POKéMON.\\nThe holding POKéMON can flee from\\nany wild POKéMON for sure.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "EVERSTONE", + "itemId": "ITEM_EVERSTONE", + "price": 200, + "holdEffect": "HOLD_EFFECT_PREVENT_EVOLVE", + "holdEffectParam": 0, + "description_english": "An item to be held by a POKéMON.\\nThe holding POKéMON is prevented\\nfrom evolving.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "FOCUS BAND", + "itemId": "ITEM_FOCUS_BAND", + "price": 200, + "holdEffect": "HOLD_EFFECT_FOCUS_BAND", + "holdEffectParam": 10, + "description_english": "An item to be held by a POKéMON.\\nThe holding POKéMON may endure an\\nattack, leaving just 1 HP.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "LUCKY EGG", + "itemId": "ITEM_LUCKY_EGG", + "price": 200, + "holdEffect": "HOLD_EFFECT_LUCKY_EGG", + "holdEffectParam": 0, + "description_english": "An item to be held by a POKéMON.\\nAn egg filled with happiness that\\nearns extra EXP. points in battle.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "SCOPE LENS", + "itemId": "ITEM_SCOPE_LENS", + "price": 200, + "holdEffect": "HOLD_EFFECT_SCOPE_LENS", + "holdEffectParam": 0, + "description_english": "An item to be held by a POKéMON.\\nA lens that boosts the critical-hit\\nratio of the holding POKéMON.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "METAL COAT", + "itemId": "ITEM_METAL_COAT", + "price": 100, + "holdEffect": "HOLD_EFFECT_STEEL_POWER", + "holdEffectParam": 10, + "description_english": "An item to be held by a POKéMON.\\nA special metallic film that boosts\\nthe power of STEEL-type moves.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "LEFTOVERS", + "itemId": "ITEM_LEFTOVERS", + "price": 200, + "holdEffect": "HOLD_EFFECT_LEFTOVERS", + "holdEffectParam": 10, + "description_english": "An item to be held by a POKéMON.\\nThe holding POKéMON gradually\\nregains HP during battle.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "DRAGON SCALE", + "itemId": "ITEM_DRAGON_SCALE", + "price": 2100, + "holdEffect": "HOLD_EFFECT_DRAGON_SCALE", + "holdEffectParam": 10, + "description_english": "A thick and tough scale.\\nA DRAGON-type POKéMON may be\\nholding it.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "LIGHT BALL", + "itemId": "ITEM_LIGHT_BALL", + "price": 100, + "holdEffect": "HOLD_EFFECT_LIGHT_BALL", + "holdEffectParam": 0, + "description_english": "An orb to be held by a PIKACHU\\nthat raises the SP. ATK stat.\\nTouching it may cause a shock.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "SOFT SAND", + "itemId": "ITEM_SOFT_SAND", + "price": 100, + "holdEffect": "HOLD_EFFECT_GROUND_POWER", + "holdEffectParam": 10, + "description_english": "An item to be held by a POKéMON.\\nA loose, silky sand that boosts the\\npower of GROUND-type moves.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "HARD STONE", + "itemId": "ITEM_HARD_STONE", + "price": 100, + "holdEffect": "HOLD_EFFECT_ROCK_POWER", + "holdEffectParam": 10, + "description_english": "An item to be held by a POKéMON.\\nAn unbreakable stone that boosts\\nthe power of ROCK-type moves.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "MIRACLE SEED", + "itemId": "ITEM_MIRACLE_SEED", + "price": 100, + "holdEffect": "HOLD_EFFECT_GRASS_POWER", + "holdEffectParam": 10, + "description_english": "An item to be held by a POKéMON.\\nA seed imbued with life that boosts\\nthe power of GRASS-type moves.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "BLACKGLASSES", + "itemId": "ITEM_BLACK_GLASSES", + "price": 100, + "holdEffect": "HOLD_EFFECT_DARK_POWER", + "holdEffectParam": 10, + "description_english": "An item to be held by a POKéMON.\\nA shady-looking pair of glasses\\nthat boosts DARK-type moves.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "BLACK BELT", + "itemId": "ITEM_BLACK_BELT", + "price": 100, + "holdEffect": "HOLD_EFFECT_FIGHTING_POWER", + "holdEffectParam": 10, + "description_english": "An item to be held by a POKéMON.\\nA belt that boosts determination\\nand FIGHTING-type moves.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "MAGNET", + "itemId": "ITEM_MAGNET", + "price": 100, + "holdEffect": "HOLD_EFFECT_ELECTRIC_POWER", + "holdEffectParam": 10, + "description_english": "An item to be held by a POKéMON.\\nA powerful magnet that boosts the\\npower of ELECTRIC-type moves.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "MYSTIC WATER", + "itemId": "ITEM_MYSTIC_WATER", + "price": 100, + "holdEffect": "HOLD_EFFECT_WATER_POWER", + "holdEffectParam": 10, + "description_english": "An item to be held by a POKéMON.\\nA teardrop-shaped gem that boosts\\nthe power of WATER-type moves.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "SHARP BEAK", + "itemId": "ITEM_SHARP_BEAK", + "price": 100, + "holdEffect": "HOLD_EFFECT_FLYING_POWER", + "holdEffectParam": 10, + "description_english": "An item to be held by a POKéMON.\\nA long, sharp beak that boosts the\\npower of FLYING-type moves.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "POISON BARB", + "itemId": "ITEM_POISON_BARB", + "price": 100, + "holdEffect": "HOLD_EFFECT_POISON_POWER", + "holdEffectParam": 10, + "description_english": "An item to be held by a POKéMON.\\nA small, poisonous barb that boosts\\nthe power of POISON-type moves.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "NEVERMELTICE", + "itemId": "ITEM_NEVER_MELT_ICE", + "price": 100, + "holdEffect": "HOLD_EFFECT_ICE_POWER", + "holdEffectParam": 10, + "description_english": "An item to be held by a POKéMON.\\nA piece of ice that repels heat\\nand boosts ICE-type moves.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "SPELL TAG", + "itemId": "ITEM_SPELL_TAG", + "price": 100, + "holdEffect": "HOLD_EFFECT_GHOST_POWER", + "holdEffectParam": 10, + "description_english": "An item to be held by a POKéMON.\\nA sinister, eerie tag that boosts\\nGHOST-type moves.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "TWISTEDSPOON", + "itemId": "ITEM_TWISTED_SPOON", + "price": 100, + "holdEffect": "HOLD_EFFECT_PSYCHIC_POWER", + "holdEffectParam": 10, + "description_english": "An item to be held by a POKéMON.\\nA spoon imbued with telekinetic\\npower boosts PSYCHIC-type moves.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "CHARCOAL", + "itemId": "ITEM_CHARCOAL", + "price": 9800, + "holdEffect": "HOLD_EFFECT_FIRE_POWER", + "holdEffectParam": 10, + "description_english": "An item to be held by a POKéMON.\\nA combustible fuel that boosts the\\npower of FIRE-type moves.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "DRAGON FANG", + "itemId": "ITEM_DRAGON_FANG", + "price": 100, + "holdEffect": "HOLD_EFFECT_DRAGON_POWER", + "holdEffectParam": 10, + "description_english": "An item to be held by a POKéMON.\\nA hard and sharp fang that boosts\\nthe power of DRAGON-type moves.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "SILK SCARF", + "itemId": "ITEM_SILK_SCARF", + "price": 100, + "holdEffect": "HOLD_EFFECT_NORMAL_POWER", + "holdEffectParam": 10, + "description_english": "An item to be held by a POKéMON.\\nA sumptuous scarf that boosts the\\npower of NORMAL-type moves.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "UP-GRADE", + "itemId": "ITEM_UP_GRADE", + "price": 2100, + "holdEffect": "HOLD_EFFECT_UP_GRADE", + "holdEffectParam": 0, + "description_english": "A transparent device filled with all\\nsorts of data.\\nIt is made by SILPH CO.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "SHELL BELL", + "itemId": "ITEM_SHELL_BELL", + "price": 200, + "holdEffect": "HOLD_EFFECT_SHELL_BELL", + "holdEffectParam": 8, + "description_english": "An item to be held by a POKéMON.\\nThe holding POKéMON regains some\\nHP upon striking the foe.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "SEA INCENSE", + "itemId": "ITEM_SEA_INCENSE", + "price": 9600, + "holdEffect": "HOLD_EFFECT_WATER_POWER", + "holdEffectParam": 5, + "description_english": "An item to be held by a POKéMON.\\nIt slightly boosts the power of\\nWATER-type moves.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "LAX INCENSE", + "itemId": "ITEM_LAX_INCENSE", + "price": 9600, + "holdEffect": "HOLD_EFFECT_EVASION_UP", + "holdEffectParam": 5, + "description_english": "An item to be held by a POKéMON.\\nIts tricky aroma slightly reduces\\nthe foe's accuracy.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "LUCKY PUNCH", + "itemId": "ITEM_LUCKY_PUNCH", + "price": 10, + "holdEffect": "HOLD_EFFECT_LUCKY_PUNCH", + "holdEffectParam": 0, + "description_english": "A glove to be held by a CHANSEY.\\nIt raises CHANSEY's critical-hit\\nratio.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "METAL POWDER", + "itemId": "ITEM_METAL_POWDER", + "price": 10, + "holdEffect": "HOLD_EFFECT_METAL_POWDER", + "holdEffectParam": 0, + "description_english": "A fine, hard powder to be held by\\na DITTO.\\nIt raises DITTO's DEFENSE stat.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "THICK CLUB", + "itemId": "ITEM_THICK_CLUB", + "price": 500, + "holdEffect": "HOLD_EFFECT_THICK_CLUB", + "holdEffectParam": 0, + "description_english": "A hard bone of some sort to be\\nheld by a CUBONE or MAROWAK.\\nIt raises the ATTACK stat.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "STICK", + "itemId": "ITEM_STICK", + "price": 200, + "holdEffect": "HOLD_EFFECT_STICK", + "holdEffectParam": 0, + "description_english": "A stick of leek to be held by a\\nFARFETCH'D. It raises FARFETCH'D's\\ncritical-hit ratio.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "RED SCARF", + "itemId": "ITEM_RED_SCARF", + "price": 100, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "An item to be held by a POKéMON.\\nIt boosts the holding POKéMON's\\nCOOL condition in CONTESTS.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "BLUE SCARF", + "itemId": "ITEM_BLUE_SCARF", + "price": 100, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "An item to be held by a POKéMON.\\nIt boosts the holding POKéMON's\\nBEAUTY condition in CONTESTS.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "PINK SCARF", + "itemId": "ITEM_PINK_SCARF", + "price": 100, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "An item to be held by a POKéMON.\\nIt boosts the holding POKéMON's\\nCUTE condition in CONTESTS.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "GREEN SCARF", + "itemId": "ITEM_GREEN_SCARF", + "price": 100, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "An item to be held by a POKéMON.\\nIt boosts the holding POKéMON's\\nSMART condition in CONTESTS.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "YELLOW SCARF", + "itemId": "ITEM_YELLOW_SCARF", + "price": 100, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "An item to be held by a POKéMON.\\nIt boosts the holding POKéMON's\\nTOUGH condition in CONTESTS.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "MACH BIKE", + "itemId": "ITEM_MACH_BIKE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A folding bicycle that is at least\\ntwice as fast as walking.", + "importance": 1, + "exitsBagOnUse": 1, + "pocket": "POCKET_KEY_ITEMS", + "type": 2, + "fieldUseFunc": "FieldUseFunc_MachBike", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "COIN CASE", + "itemId": "ITEM_COIN_CASE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A case for holding COINS obtained\\nat the GAME CORNER.\\nIt holds up to 9,999 COINS.", + "importance": 1, + "exitsBagOnUse": 0, + "pocket": "POCKET_KEY_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_CoinCase", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "ITEMFINDER", + "itemId": "ITEM_ITEMFINDER", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A device used for finding items.\\nIf there is a hidden item nearby\\nwhen it is used, it emits a signal.", + "importance": 1, + "exitsBagOnUse": 1, + "pocket": "POCKET_KEY_ITEMS", + "type": 2, + "fieldUseFunc": "ItemUseOutOfBattle_Itemfinder", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "OLD ROD", + "itemId": "ITEM_OLD_ROD", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "An old and beat-up fishing rod.\\nUse it by any body of water to \\nfish for wild POKéMON.", + "importance": 1, + "exitsBagOnUse": 1, + "pocket": "POCKET_KEY_ITEMS", + "type": 2, + "fieldUseFunc": "FieldUseFunc_OldRod", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "GOOD ROD", + "itemId": "ITEM_GOOD_ROD", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A new, good-quality fishing rod.\\nUse it by any body of water to \\nfish for wild POKéMON.", + "importance": 1, + "exitsBagOnUse": 1, + "pocket": "POCKET_KEY_ITEMS", + "type": 2, + "fieldUseFunc": "FieldUseFunc_OldRod", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 1 + }, + { + "english": "SUPER ROD", + "itemId": "ITEM_SUPER_ROD", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "An awesome, high-tech fishing rod.\\nUse it by any body of water to fish\\nfor wild POKéMON.", + "importance": 1, + "exitsBagOnUse": 1, + "pocket": "POCKET_KEY_ITEMS", + "type": 2, + "fieldUseFunc": "FieldUseFunc_OldRod", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 2 + }, + { + "english": "S.S. TICKET", + "itemId": "ITEM_SS_TICKET", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "The ticket required for sailing on\\nthe ferry S.S. ANNE.\\nIt has a drawing of a ship on it.", + "importance": 1, + "exitsBagOnUse": 0, + "pocket": "POCKET_KEY_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "CONTEST PASS", + "itemId": "ITEM_CONTEST_PASS", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "The pass required for entering\\nPOKéMON CONTESTS. It has a\\ndrawing of an award ribbon on it.", + "importance": 1, + "exitsBagOnUse": 0, + "pocket": "POCKET_KEY_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "WAILMER PAIL", + "itemId": "ITEM_WAILMER_PAIL", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A nifty watering pail.\\nUse it to promote strong growth in\\nBERRIES planted in soft soil.", + "importance": 1, + "exitsBagOnUse": 0, + "pocket": "POCKET_KEY_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "DEVON GOODS", + "itemId": "ITEM_DEVON_GOODS", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A package that contains mechanical\\nparts of some sort made by the\\nDEVON CORPORATION.", + "importance": 2, + "exitsBagOnUse": 0, + "pocket": "POCKET_KEY_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "SOOT SACK", + "itemId": "ITEM_SOOT_SACK", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A sack used to collect volcanic\\nash automatically during walks\\nover deep ash.", + "importance": 1, + "exitsBagOnUse": 0, + "pocket": "POCKET_KEY_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "BASEMENT KEY", + "itemId": "ITEM_BASEMENT_KEY", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "The key to NEW MAUVILLE, which\\nwas constructed beneath MAUVILLE\\nCITY.", + "importance": 1, + "exitsBagOnUse": 0, + "pocket": "POCKET_KEY_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "ACRO BIKE", + "itemId": "ITEM_ACRO_BIKE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A folding bicycle that is capable\\nof stunts like jumps and wheelies.", + "importance": 1, + "exitsBagOnUse": 1, + "pocket": "POCKET_KEY_ITEMS", + "type": 2, + "fieldUseFunc": "FieldUseFunc_MachBike", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 1 + }, + { + "english": "{POKEBLOCK} CASE", + "itemId": "ITEM_POKEBLOCK_CASE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A case for holding {POKEBLOCK}S made\\nwith a BERRY BLENDER. It releases\\none {POKEBLOCK} when shaken.", + "importance": 1, + "exitsBagOnUse": 1, + "pocket": "POCKET_KEY_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "LETTER", + "itemId": "ITEM_LETTER", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "An extremely important letter to\\nSTEVEN from the PRESIDENT of the\\nDEVON CORPORATION.", + "importance": 2, + "exitsBagOnUse": 0, + "pocket": "POCKET_KEY_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "EON TICKET", + "itemId": "ITEM_EON_TICKET", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "The ticket required for sailing on a\\nferry to a distant southern island.\\nIt features a drawing of an island.", + "importance": 1, + "exitsBagOnUse": 0, + "pocket": "POCKET_KEY_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 1 + }, + { + "english": "RED ORB", + "itemId": "ITEM_RED_ORB", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "An orb that glows red.\\nIt is said to contain an incredible\\npower from ancient times.", + "importance": 2, + "exitsBagOnUse": 0, + "pocket": "POCKET_KEY_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "BLUE ORB", + "itemId": "ITEM_BLUE_ORB", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "An orb that glows blue.\\nIt is said to contain an incredible\\npower from ancient times.", + "importance": 2, + "exitsBagOnUse": 0, + "pocket": "POCKET_KEY_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "SCANNER", + "itemId": "ITEM_SCANNER", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A device used to search for\\nlife-forms in water.\\nIt looks too difficult to use.", + "importance": 1, + "exitsBagOnUse": 0, + "pocket": "POCKET_KEY_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "GO-GOGGLES", + "itemId": "ITEM_GO_GOGGLES", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A pair of protective goggles.\\nThey enable a TRAINER to travel\\nthrough even desert sandstorms.", + "importance": 1, + "exitsBagOnUse": 0, + "pocket": "POCKET_KEY_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "METEORITE", + "itemId": "ITEM_METEORITE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A meteorite that fell from space\\nonto MT. MOON long ago.\\nIt is very lumpy and hard.", + "importance": 1, + "exitsBagOnUse": 0, + "pocket": "POCKET_KEY_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "RM. 1 KEY", + "itemId": "ITEM_ROOM_1_KEY", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A key that opens the door to Room\\n1 inside the ABANDONED SHIP.\\nIt is old and looks easily broken.", + "importance": 1, + "exitsBagOnUse": 0, + "pocket": "POCKET_KEY_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "RM. 2 KEY", + "itemId": "ITEM_ROOM_2_KEY", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A key that opens the door to Room\\n2 inside the ABANDONED SHIP.\\nIt is old and looks easily broken.", + "importance": 1, + "exitsBagOnUse": 0, + "pocket": "POCKET_KEY_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "RM. 4 KEY", + "itemId": "ITEM_ROOM_4_KEY", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A key that opens the door to Room\\n4 inside the ABANDONED SHIP.\\nIt is old and looks easily broken.", + "importance": 1, + "exitsBagOnUse": 0, + "pocket": "POCKET_KEY_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "RM. 6 KEY", + "itemId": "ITEM_ROOM_6_KEY", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A key that opens the door to Room\\n6 inside the ABANDONED SHIP.\\nIt is old and looks easily broken.", + "importance": 1, + "exitsBagOnUse": 0, + "pocket": "POCKET_KEY_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "STORAGE KEY", + "itemId": "ITEM_STORAGE_KEY", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A key that opens the storage hold\\ninside the ABANDONED SHIP.\\nIt is old and looks easily broken.", + "importance": 1, + "exitsBagOnUse": 0, + "pocket": "POCKET_KEY_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "ROOT FOSSIL", + "itemId": "ITEM_ROOT_FOSSIL", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A fossil of an ancient, seafloor-\\ndwelling POKéMON. It appears to be\\npart of a plant root.", + "importance": 1, + "exitsBagOnUse": 0, + "pocket": "POCKET_KEY_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "CLAW FOSSIL", + "itemId": "ITEM_CLAW_FOSSIL", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A fossil of an ancient, seafloor-\\ndwelling POKéMON. It appears to be\\npart of a claw.", + "importance": 1, + "exitsBagOnUse": 0, + "pocket": "POCKET_KEY_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "DEVON SCOPE", + "itemId": "ITEM_DEVON_SCOPE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A scope that signals the presence\\nof any unseeable POKéMON.\\nIt is made by the DEVON CORP.", + "importance": 1, + "exitsBagOnUse": 0, + "pocket": "POCKET_KEY_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "TM01", + "itemId": "ITEM_TM01", + "price": 3000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "An extremely powerful attack.\\nHowever, if the user is hit before\\nusing the move, they will flinch.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "FocusPunch" + }, + { + "english": "TM02", + "itemId": "ITEM_TM02", + "price": 3000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "Sharp, huge claws hook and slash\\nthe foe quickly and with great\\npower.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "DragonClaw" + }, + { + "english": "TM03", + "itemId": "ITEM_TM03", + "price": 3000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "The foe is hit with a pulsing blast\\nof water. It may also confuse the\\ntarget.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "WaterPulse" + }, + { + "english": "TM04", + "itemId": "ITEM_TM04", + "price": 3000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "The user calms its spirit and\\nfocuses its mind to raise its\\nSP. ATK and SP. DEF stats.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "CalmMind" + }, + { + "english": "TM05", + "itemId": "ITEM_TM05", + "price": 1000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A savage roar that causes the foe\\nto switch out of battle. In the\\nwild, ROAR ends the battle.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "Roar" + }, + { + "english": "TM06", + "itemId": "ITEM_TM06", + "price": 3000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A move that leaves the foe badly\\npoisoned. Its poison damage worsens\\nevery turn.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "Toxic" + }, + { + "english": "TM07", + "itemId": "ITEM_TM07", + "price": 3000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "Summons a hailstorm that lasts for\\nfive turns. The hailstorm damages\\nall types except the ICE type.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "Hail" + }, + { + "english": "TM08", + "itemId": "ITEM_TM08", + "price": 3000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "The user tightens all its muscles\\nand bulks up, boosting both its\\nATTACK and DEFENSE stats.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "BulkUp" + }, + { + "english": "TM09", + "itemId": "ITEM_TM09", + "price": 3000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "The user shoots seeds at the foe\\nin rapid succession. Two to five\\nseeds are shot at once.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "BulletSeed" + }, + { + "english": "TM10", + "itemId": "ITEM_TM10", + "price": 3000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A variable move that changes type\\nand power depending on the POKéMON\\nusing it.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "HiddenPower" + }, + { + "english": "TM11", + "itemId": "ITEM_TM11", + "price": 2000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "The weather is turned sunny for\\nfive turns. Over that time, FIRE-\\ntype moves are powered up.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "SunnyDay" + }, + { + "english": "TM12", + "itemId": "ITEM_TM12", + "price": 3000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A taunted foe may become enraged.\\nIt will then only be able to use\\nattack moves.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "Taunt" + }, + { + "english": "TM13", + "itemId": "ITEM_TM13", + "price": 3000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "An icy-cold beam is shot at the\\nfoe. It may leave the target\\nfrozen.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "IceBeam" + }, + { + "english": "TM14", + "itemId": "ITEM_TM14", + "price": 5500, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A vicious snow-and-wind attack that\\nstrikes all foes in battle. It may\\ncause freezing.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "Blizzard" + }, + { + "english": "TM15", + "itemId": "ITEM_TM15", + "price": 7500, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A harsh attack that inflicts severe\\ndamage on the foe. However, the\\nuser must rest the next turn.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "HyperBeam" + }, + { + "english": "TM16", + "itemId": "ITEM_TM16", + "price": 3000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A wall of light is created over\\nfive turns. It reduces damage from\\nSP. ATK attacks.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "LightScreen" + }, + { + "english": "TM17", + "itemId": "ITEM_TM17", + "price": 3000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "The user is completely protected\\nfrom attack in the turn it is used.\\nIt may fail if used in succession.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "Protect" + }, + { + "english": "TM18", + "itemId": "ITEM_TM18", + "price": 2000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A heavy rain is summoned for five\\nturns. Over that time, WATER-type\\nmoves are powered up.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "RainDance" + }, + { + "english": "TM19", + "itemId": "ITEM_TM19", + "price": 3000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "The user strikes the foe with\\ntentacles or roots, stealing the\\ntarget's HP and healing itself.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "GigaDrain" + }, + { + "english": "TM20", + "itemId": "ITEM_TM20", + "price": 3000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "Protects the party with a shield\\nagainst all status problems over\\nfive turns.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "Safeguard" + }, + { + "english": "TM21", + "itemId": "ITEM_TM21", + "price": 1000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "This attack move grows more\\npowerful the more the POKéMON\\ndislikes its TRAINER.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "Frustration" + }, + { + "english": "TM22", + "itemId": "ITEM_TM22", + "price": 3000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A 2-turn attack that uses the first\\nturn for absorbing sunlight, then\\nblasting the foe in the next turn.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "SolarBeam" + }, + { + "english": "TM23", + "itemId": "ITEM_TM23", + "price": 3000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "The foe is slammed with a sturdy\\ntail of steel. It may lower the\\ntarget's DEFENSE stat.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "IronTail" + }, + { + "english": "TM24", + "itemId": "ITEM_TM24", + "price": 3000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A massive jolt of electricity is\\nlaunched at the foe. It may cause\\nparalysis.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "Thunderbolt" + }, + { + "english": "TM25", + "itemId": "ITEM_TM25", + "price": 5500, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "Strikes the foe with a huge\\nthunderbolt. It may cause\\nparalysis.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "Thunder" + }, + { + "english": "TM26", + "itemId": "ITEM_TM26", + "price": 3000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "Causes an earthquake that strikes\\nall POKéMON in battle, excluding\\nthe user.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "Earthquake" + }, + { + "english": "TM27", + "itemId": "ITEM_TM27", + "price": 1000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "This attack move grows more\\npowerful the more the POKéMON\\nlikes its TRAINER.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "Return" + }, + { + "english": "TM28", + "itemId": "ITEM_TM28", + "price": 2000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A 2-turn attack in which the user\\ndigs underground, then strikes.\\nIt can be used to exit dungeons.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "Dig" + }, + { + "english": "TM29", + "itemId": "ITEM_TM29", + "price": 2000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A powerful blast of telekinetic\\nenergy strikes the foe. It may\\nlower the target's SP. DEF stat.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "Psychic" + }, + { + "english": "TM30", + "itemId": "ITEM_TM30", + "price": 3000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "The foe is attacked with a shadowy\\nlump. It may lower the target's\\nSP. DEF stat.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "ShadowBall" + }, + { + "english": "TM31", + "itemId": "ITEM_TM31", + "price": 3000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "Strikes the foe with a rock-hard\\nfist, etc. It shatters barriers such\\nas REFLECT and LIGHT SCREEN.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "BrickBreak" + }, + { + "english": "TM32", + "itemId": "ITEM_TM32", + "price": 2000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "The user begins moving so quickly\\nthat it creates illusory copies to\\nraise its evasiveness.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "DoubleTeam" + }, + { + "english": "TM33", + "itemId": "ITEM_TM33", + "price": 3000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A tough barrier is put up over five\\nturns. It reduces damage from\\nphysical attacks over that time.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "Reflect" + }, + { + "english": "TM34", + "itemId": "ITEM_TM34", + "price": 3000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A rapid jolt of electricity strikes\\nthe foe. This attack is impossible\\nto evade.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "ShockWave" + }, + { + "english": "TM35", + "itemId": "ITEM_TM35", + "price": 3000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "The foe is roasted with a heavy\\nblast of fire. It may leave the\\ntarget with a burn.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "Flamethrower" + }, + { + "english": "TM36", + "itemId": "ITEM_TM36", + "price": 1000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "Toxic sludge is hurled at the foe\\nwith great force. It may also\\npoison the target.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "SludgeBomb" + }, + { + "english": "TM37", + "itemId": "ITEM_TM37", + "price": 2000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "Summons a sandstorm that lasts for\\nfive turns. It damages all types\\nexcept ROCK, GROUND, and STEEL.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "Sandstorm" + }, + { + "english": "TM38", + "itemId": "ITEM_TM38", + "price": 5500, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "The foe is incinerated with an\\nintense flame. It may leave the\\ntarget with a burn.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "FireBlast" + }, + { + "english": "TM39", + "itemId": "ITEM_TM39", + "price": 3000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "Boulders are hurled at the foe.\\nIt also lowers the target's SPEED\\nstat if it hits.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "RockTomb" + }, + { + "english": "TM40", + "itemId": "ITEM_TM40", + "price": 3000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "An extremely fast attack against\\none target. It is impossible to\\nevade.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "AerialAce" + }, + { + "english": "TM41", + "itemId": "ITEM_TM41", + "price": 3000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "If enraged by this move, the target\\nbecomes incapable of using the same\\nmove twice in a row.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "Torment" + }, + { + "english": "TM42", + "itemId": "ITEM_TM42", + "price": 3000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "An attack move that becomes very\\npowerful if the user is poisoned,\\nburned, or paralyzed.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "Facade" + }, + { + "english": "TM43", + "itemId": "ITEM_TM43", + "price": 3000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "An attack move that may have an\\nadditional effect depending on the\\nbattle terrain.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "SecretPower" + }, + { + "english": "TM44", + "itemId": "ITEM_TM44", + "price": 3000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A move that makes the user fall\\nasleep over two turns to restore HP\\nand heal any status problems.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "Rest" + }, + { + "english": "TM45", + "itemId": "ITEM_TM45", + "price": 3000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "The foe, if it is the opposite\\ngender as the user, becomes\\ninfatuated and may not attack.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "Attract" + }, + { + "english": "TM46", + "itemId": "ITEM_TM46", + "price": 3000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "An attack that gives the user an\\nopportunity to steal the foe's hold\\nitem.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "Thief" + }, + { + "english": "TM47", + "itemId": "ITEM_TM47", + "price": 3000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "The foe is struck with steel-hard\\nwings. It may also raise the user's\\nDEFENSE stat.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "SteelWing" + }, + { + "english": "TM48", + "itemId": "ITEM_TM48", + "price": 3000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A special power is transmitted to\\nthe foe, causing it to switch\\nabilities with the user.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "SkillSwap" + }, + { + "english": "TM49", + "itemId": "ITEM_TM49", + "price": 3000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A move that steals the effects of\\nany status-changing or healing move\\nthat the foe tries to use.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "Snatch" + }, + { + "english": "TM50", + "itemId": "ITEM_TM50", + "price": 3000, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A maximum-power attack of great\\nferocity, but one that also sharply\\nreduces the user's SP. ATK stat.", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "Overheat" + }, + { + "english": "HM01", + "itemId": "ITEM_HM01", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "Attacks the foe with sharp blades\\nor claws. It can also cut down thin\\ntrees and grass outside of battle.", + "importance": 1, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "Cut" + }, + { + "english": "HM02", + "itemId": "ITEM_HM02", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "The user flies up on the first turn,\\nthen attacks next turn. It can be\\nused to fly to any known town.", + "importance": 1, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "Fly" + }, + { + "english": "HM03", + "itemId": "ITEM_HM03", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "Creates a huge wave, then crashes\\nit down on the foe. It can be used\\nfor traveling on water.", + "importance": 1, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "Surf" + }, + { + "english": "HM04", + "itemId": "ITEM_HM04", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "The user builds enormous power,\\nthen slams the foe. It can be used\\nfor moving large, round boulders.", + "importance": 1, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "Strength" + }, + { + "english": "HM05", + "itemId": "ITEM_HM05", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "Looses a powerful blast of light\\nthat reduces the foe's accuracy.\\nIt also lights up dark caves.", + "importance": 1, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "Flash" + }, + { + "english": "HM06", + "itemId": "ITEM_HM06", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "Hits the foe with a rock-crushingly\\ntough attack. It can smash cracked\\nboulders.", + "importance": 1, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "RockSmash" + }, + { + "english": "HM07", + "itemId": "ITEM_HM07", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A powerful charge attack. It can\\nbe used for climbing a torrential\\nwaterfall.", + "importance": 1, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "Waterfall" + }, + { + "english": "HM08", + "itemId": "ITEM_HM08", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A 2-turn attack in which the user\\ndives underwater on the first turn,\\nthen strikes in the next turn.", + "importance": 1, + "exitsBagOnUse": 0, + "pocket": "POCKET_TM_CASE", + "type": 1, + "fieldUseFunc": "NULL", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0, + "moveId": "Dive" + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "????????", + "itemId": "ITEM_NONE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "?????", + "importance": 0, + "exitsBagOnUse": 0, + "pocket": "POCKET_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "OAK'S PARCEL", + "itemId": "ITEM_OAKS_PARCEL", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A parcel to be delivered to PROF.\\nOAK from VIRIDIAN CITY's POKéMON\\nMART.", + "importance": 2, + "exitsBagOnUse": 0, + "pocket": "POCKET_KEY_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "POK\u00e9 FLUTE", + "itemId": "ITEM_POKE_FLUTE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A flute that is said to instantly\\nawaken any POKéMON. It has a\\nlovely tone.", + "importance": 1, + "exitsBagOnUse": 0, + "pocket": "POCKET_KEY_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_PokeFlute", + "battleUsage": 2, + "battleUseFunc": "BattleUseFunc_PokeFlute", + "secondaryId": 0 + }, + { + "english": "SECRET KEY", + "itemId": "ITEM_SECRET_KEY", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "The key to CINNABAR ISLAND GYM's\\nfront door. It is colored red and\\ndecorated.", + "importance": 1, + "exitsBagOnUse": 0, + "pocket": "POCKET_KEY_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "BIKE VOUCHER", + "itemId": "ITEM_BIKE_VOUCHER", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "Take this voucher to the BIKE SHOP\\nin CERULEAN CITY and exchange it\\nfor a bicycle.", + "importance": 1, + "exitsBagOnUse": 0, + "pocket": "POCKET_KEY_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "GOLD TEETH", + "itemId": "ITEM_GOLD_TEETH", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A set of false teeth lost by the\\nSAFARI ZONE'S WARDEN. It makes his\\nsmile sparkle.", + "importance": 1, + "exitsBagOnUse": 0, + "pocket": "POCKET_KEY_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "OLD AMBER", + "itemId": "ITEM_OLD_AMBER", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A piece of amber that contains\\nthe genes of an ancient POKéMON.\\nIt is clear with a reddish tint.", + "importance": 1, + "exitsBagOnUse": 0, + "pocket": "POCKET_KEY_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "CARD KEY", + "itemId": "ITEM_CARD_KEY", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A card-type key that unlocks doors\\nin SILPH CO.'s HEAD OFFICE in\\nSAFFRON CITY.", + "importance": 1, + "exitsBagOnUse": 0, + "pocket": "POCKET_KEY_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "LIFT KEY", + "itemId": "ITEM_LIFT_KEY", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A key that operates the elevator\\nin TEAM ROCKET's HIDEOUT.\\nIt bears the TEAM ROCKET logo.", + "importance": 1, + "exitsBagOnUse": 0, + "pocket": "POCKET_KEY_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "HELIX FOSSIL", + "itemId": "ITEM_HELIX_FOSSIL", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A fossil of an ancient, seafloor-\\ndwelling POKéMON. It appears to be\\npart of a seashell.", + "importance": 1, + "exitsBagOnUse": 0, + "pocket": "POCKET_KEY_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "DOME FOSSIL", + "itemId": "ITEM_DOME_FOSSIL", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A fossil of an ancient, seafloor-\\ndwelling POKéMON. It appears to be\\npart of a shell.", + "importance": 1, + "exitsBagOnUse": 0, + "pocket": "POCKET_KEY_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "SILPH SCOPE", + "itemId": "ITEM_SILPH_SCOPE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A scope that makes unseeable\\nPOKéMON visible.\\nIt is made by SILPH CO.", + "importance": 1, + "exitsBagOnUse": 0, + "pocket": "POCKET_KEY_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "BICYCLE", + "itemId": "ITEM_BICYCLE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A folding bicycle that allows\\nfaster movement than the RUNNING\\nSHOES.", + "importance": 1, + "exitsBagOnUse": 1, + "pocket": "POCKET_KEY_ITEMS", + "type": 2, + "fieldUseFunc": "FieldUseFunc_MachBike", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "TOWN MAP", + "itemId": "ITEM_TOWN_MAP", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A very convenient map that can be\\nviewed anytime. It even shows your \\npresent location.", + "importance": 1, + "exitsBagOnUse": 1, + "pocket": "POCKET_KEY_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_TownMap", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "VS SEEKER", + "itemId": "ITEM_VS_SEEKER", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A device that indicates TRAINERS\\nwho want to battle. The battery\\ncharges while traveling.", + "importance": 1, + "exitsBagOnUse": 1, + "pocket": "POCKET_KEY_ITEMS", + "type": 2, + "fieldUseFunc": "FieldUseFunc_VsSeeker", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "FAME CHECKER", + "itemId": "ITEM_FAME_CHECKER", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A device that enables you to\\nrecall what you've heard and seen\\nabout famous people.", + "importance": 1, + "exitsBagOnUse": 1, + "pocket": "POCKET_KEY_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_FameChecker", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "TM CASE", + "itemId": "ITEM_TM_CASE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A case that holds TMs and HMs.\\nIt is attached to the BAG's\\ncompartment for important items.", + "importance": 1, + "exitsBagOnUse": 1, + "pocket": "POCKET_KEY_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_TmCase", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "BERRY POUCH", + "itemId": "ITEM_BERRY_POUCH", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A pouch for carrying BERRIES.\\nIt is attached to the BAG's\\ncompartment for important items.", + "importance": 1, + "exitsBagOnUse": 1, + "pocket": "POCKET_KEY_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_BerryPouch", + "battleUsage": 3, + "battleUseFunc": "BattleUseFunc_BerryPouch", + "secondaryId": 0 + }, + { + "english": "TEACHY TV", + "itemId": "ITEM_TEACHY_TV", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A television set that is tuned to\\na program with useful tips for\\nnovice TRAINERS.", + "importance": 1, + "exitsBagOnUse": 1, + "pocket": "POCKET_KEY_ITEMS", + "type": 2, + "fieldUseFunc": "FieldUseFunc_TeachyTv", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "TRI-PASS", + "itemId": "ITEM_TRI_PASS", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A pass for ferries between ONE,\\nTWO, and THREE ISLAND.\\nIt has a drawing of three islands.", + "importance": 1, + "exitsBagOnUse": 1, + "pocket": "POCKET_KEY_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "RAINBOW PASS", + "itemId": "ITEM_RAINBOW_PASS", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A pass for ferries between\\nVERMILION and the SEVII ISLANDS.\\nIt features a drawing of a rainbow.", + "importance": 1, + "exitsBagOnUse": 1, + "pocket": "POCKET_KEY_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "TEA", + "itemId": "ITEM_TEA", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "An aromatic tea prepared by an old\\nlady. It will slake even the worst\\nthirst.", + "importance": 1, + "exitsBagOnUse": 1, + "pocket": "POCKET_KEY_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "MYSTICTICKET", + "itemId": "ITEM_MYSTIC_TICKET", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A ticket required to board the ship\\nto NAVEL ROCK.\\nIt glows with a mystic light.", + "importance": 1, + "exitsBagOnUse": 1, + "pocket": "POCKET_KEY_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "AURORATICKET", + "itemId": "ITEM_AURORA_TICKET", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A ticket required to board the ship\\nto BIRTH ISLAND.\\nIt glows beautifully.", + "importance": 1, + "exitsBagOnUse": 1, + "pocket": "POCKET_KEY_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "POWDER JAR", + "itemId": "ITEM_POWDER_JAR", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "A jar for storing BERRY POWDER\\nmade using a BERRY CRUSHER.", + "importance": 1, + "exitsBagOnUse": 1, + "pocket": "POCKET_KEY_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_PowderJar", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "RUBY", + "itemId": "ITEM_RUBY", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "An exquisitely beautiful gem that\\nhas a red glow.\\nIt symbolizes passion.", + "importance": 1, + "exitsBagOnUse": 1, + "pocket": "POCKET_KEY_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + }, + { + "english": "SAPPHIRE", + "itemId": "ITEM_SAPPHIRE", + "price": 0, + "holdEffect": "HOLD_EFFECT_NONE", + "holdEffectParam": 0, + "description_english": "An exquisitely beautiful gem that\\nhas a blue glow.\\nIt symbolizes honesty.", + "importance": 1, + "exitsBagOnUse": 1, + "pocket": "POCKET_KEY_ITEMS", + "type": 4, + "fieldUseFunc": "FieldUseFunc_OakStopsYou", + "battleUsage": 0, + "battleUseFunc": "NULL", + "secondaryId": 0 + } + ] +}
\ No newline at end of file diff --git a/src/data/items.json.txt b/src/data/items.json.txt new file mode 100644 index 000000000..0daa783aa --- /dev/null +++ b/src/data/items.json.txt @@ -0,0 +1,31 @@ +{{ doNotModifyHeader }} +## for item in items +## if item.pocket == "POCKET_TM_CASE" +extern const u8 gMoveDescription_{{ item.moveId }}[]; +## endif +{% if item.itemId != "ITEM_NONE" %}const u8 gItemDescription_{{ item.itemId }}[] = _("{{ item.description_english }}");{% endif %} +## endfor +const u8 gItemDescription_ITEM_NONE[] = _("?????"); + +const struct Item gItems[] = { + {% for item in items %}{ + .name = _("{{ item.english }}"), + .itemId = {{ item.itemId }}, + .price = {{ item.price }}, + .holdEffect = {{ item.holdEffect }}, + .holdEffectParam = {{ item.holdEffectParam }}, +## if item.pocket == "POCKET_TM_CASE" + .description = gMoveDescription_{{ item.moveId }}, +## else + .description = gItemDescription_{{ item.itemId }}, +## endif + .importance = {{ item.importance }}, + .exitsBagOnUse = {{ item.exitsBagOnUse }}, + .pocket = {{ item.pocket }}, + .type = {{ item.type }}, + .fieldUseFunc = {{ item.fieldUseFunc }}, + .battleUsage = {{ item.battleUsage }}, + .battleUseFunc = {{ item.battleUseFunc }}, + .secondaryId = {{ item.secondaryId }} + }, {% endfor %} +}; diff --git a/src/fame_checker.c b/src/fame_checker.c index b3988d156..bf99bdf56 100644 --- a/src/fame_checker.c +++ b/src/fame_checker.c @@ -552,7 +552,7 @@ static void Task_TopMenuHandleInput(u8 taskId) if (FindTaskIdByFunc(Task_FCOpenOrCloseInfoBox) == 0xFF) { RunTextPrinters(); - if ((JOY_NEW(SELECT_BUTTON)) && !sFameCheckerData->inPickMode && sFameCheckerData->savedCallback != UseFameCheckerFromMenu) + if ((JOY_NEW(SELECT_BUTTON)) && !sFameCheckerData->inPickMode && sFameCheckerData->savedCallback != ReturnToBagFromKeyItem) task->func = Task_StartToCloseFameChecker; else if (JOY_NEW(START_BUTTON)) { diff --git a/src/item.c b/src/item.c new file mode 100644 index 000000000..3f33f464d --- /dev/null +++ b/src/item.c @@ -0,0 +1,684 @@ +#include "global.h" +#include "berry.h" +#include "event_data.h" +#include "item.h" +#include "item_use.h" +#include "load_save.h" +#include "malloc.h" +#include "quest_log.h" +#include "string_util.h" +#include "strings.h" +#include "constants/hold_effects.h" +#include "constants/items.h" +#include "constants/maps.h" + +void SortAndCompactBagPocket(struct BagPocket * pocket); + +// Item descriptions and data +#include "data/items.h" + +u16 GetBagItemQuantity(u16 * ptr) +{ + return gSaveBlock2Ptr->encryptionKey ^ *ptr; +} + +void SetBagItemQuantity(u16 * ptr, u16 value) +{ + *ptr = value ^ gSaveBlock2Ptr->encryptionKey; +} + +u16 GetPcItemQuantity(u16 * ptr) +{ + return 0 ^ *ptr; +} + +void SetPcItemQuantity(u16 * ptr, u16 value) +{ + *ptr = value ^ 0; +} + +void ApplyNewEncryptionKeyToBagItems(u32 key) +{ + u32 i, j; + + for (i = 0; i < NUM_BAG_POCKETS; i++) + { + for (j = 0; j < gBagPockets[i].capacity; j++) + { + ApplyNewEncryptionKeyToHword(&gBagPockets[i].itemSlots[j].quantity, key); + } + } +} + +void ApplyNewEncryptionKeyToBagItems_(u32 key) +{ + ApplyNewEncryptionKeyToBagItems(key); +} + +void SetBagPocketsPointers(void) +{ + gBagPockets[POCKET_ITEMS - 1].itemSlots = gSaveBlock1Ptr->bagPocket_Items; + gBagPockets[POCKET_ITEMS - 1].capacity = BAG_ITEMS_COUNT; + gBagPockets[POCKET_KEY_ITEMS - 1].itemSlots = gSaveBlock1Ptr->bagPocket_KeyItems; + gBagPockets[POCKET_KEY_ITEMS - 1].capacity = BAG_KEYITEMS_COUNT; + gBagPockets[POCKET_POKE_BALLS - 1].itemSlots = gSaveBlock1Ptr->bagPocket_PokeBalls; + gBagPockets[POCKET_POKE_BALLS - 1].capacity = BAG_POKEBALLS_COUNT; + gBagPockets[POCKET_TM_CASE - 1].itemSlots = gSaveBlock1Ptr->bagPocket_TMHM; + gBagPockets[POCKET_TM_CASE - 1].capacity = BAG_TMHM_COUNT; + gBagPockets[POCKET_BERRY_POUCH - 1].itemSlots = gSaveBlock1Ptr->bagPocket_Berries; + gBagPockets[POCKET_BERRY_POUCH - 1].capacity = BAG_BERRIES_COUNT; +} + +void CopyItemName(u16 itemId, u8 * dest) +{ + if (itemId == ITEM_ENIGMA_BERRY) + { + StringCopy(dest, sub_809C8A0(43)->name); + StringAppend(dest, gUnknown_84162BD); + } + else + { + StringCopy(dest, ItemId_GetName(itemId)); + } +} + +s8 BagPocketGetFirstEmptySlot(u8 pocketId) +{ + u16 i; + + for (i = 0; i < gBagPockets[pocketId].capacity; i++) + { + if (gBagPockets[pocketId].itemSlots[i].itemId == ITEM_NONE) + return i; + } + + return -1; +} + +bool8 IsPocketNotEmpty(u8 pocketId) +{ + u8 i; + + for (i = 0; i < gBagPockets[pocketId - 1].capacity; i++) + { + if (gBagPockets[pocketId - 1].itemSlots[i].itemId != ITEM_NONE) + return TRUE; + } + + return FALSE; +} + +bool8 CheckBagHasItem(u16 itemId, u16 count) +{ + u8 i; + u8 pocket; + + if (ItemId_GetPocket(itemId) == 0) + return FALSE; + + pocket = ItemId_GetPocket(itemId) - 1; + // Check for item slots that contain the item + for (i = 0; i < gBagPockets[pocket].capacity; i++) + { + if (gBagPockets[pocket].itemSlots[i].itemId == itemId) + { + u16 quantity; + // Does this item slot contain enough of the item? + quantity = GetBagItemQuantity(&gBagPockets[pocket].itemSlots[i].quantity); + if (quantity >= count) + return TRUE; + // RS and Emerald check whether there is enough of the + // item across all stacks. + // For whatever reason, FR/LG assume there's only one + // stack of the item. + else + return FALSE; + } + } + return FALSE; +} + +bool8 CheckHasAtLeastOneBerry(void) +{ + u8 itemId; + bool8 exists; + + exists = CheckBagHasItem(ITEM_BERRY_POUCH, 1); + if (!exists) + { + gSpecialVar_Result = FALSE; + return FALSE; + } + for (itemId = FIRST_BERRY_INDEX; itemId <= LAST_BERRY_INDEX; itemId++) + { + exists = CheckBagHasItem(itemId, 1); + if (exists) + { + gSpecialVar_Result = TRUE; + return TRUE; + } + } + + gSpecialVar_Result = FALSE; + return FALSE; +} + +bool8 CheckBagHasSpace(u16 itemId, u16 count) +{ + u8 i; + u8 pocket; + + if (ItemId_GetPocket(itemId) == 0) + return FALSE; + + pocket = ItemId_GetPocket(itemId) - 1; + // Check for item slots that contain the item + for (i = 0; i < gBagPockets[pocket].capacity; i++) + { + if (gBagPockets[pocket].itemSlots[i].itemId == itemId) + { + u16 quantity; + // Does this stack have room for more?? + quantity = GetBagItemQuantity(&gBagPockets[pocket].itemSlots[i].quantity); + if (quantity + count <= 999) + return TRUE; + // RS and Emerald check whether there is enough of the + // item across all stacks. + // For whatever reason, FR/LG assume there's only one + // stack of the item. + else + return FALSE; + } + } + + if (BagPocketGetFirstEmptySlot(pocket) != -1) + return TRUE; + + return FALSE; +} + +bool8 AddBagItem(u16 itemId, u16 count) +{ + u8 i; + u8 pocket; + s8 idx; + + if (ItemId_GetPocket(itemId) == 0) + return FALSE; + + pocket = ItemId_GetPocket(itemId) - 1; + for (i = 0; i < gBagPockets[pocket].capacity; i++) + { + if (gBagPockets[pocket].itemSlots[i].itemId == itemId) + { + u16 quantity; + // Does this stack have room for more?? + quantity = GetBagItemQuantity(&gBagPockets[pocket].itemSlots[i].quantity); + if (quantity + count <= 999) + { + quantity += count; + SetBagItemQuantity(&gBagPockets[pocket].itemSlots[i].quantity, quantity); + return TRUE; + } + // RS and Emerald check whether there is enough of the + // item across all stacks. + // For whatever reason, FR/LG assume there's only one + // stack of the item. + else + return FALSE; + } + } + + if (pocket == POCKET_TM_CASE - 1 && !CheckBagHasItem(ITEM_TM_CASE, 1)) + { + idx = BagPocketGetFirstEmptySlot(POCKET_KEY_ITEMS - 1); + if (idx == -1) + return FALSE; + gBagPockets[POCKET_KEY_ITEMS - 1].itemSlots[idx].itemId = ITEM_TM_CASE; + SetBagItemQuantity(&gBagPockets[POCKET_KEY_ITEMS - 1].itemSlots[idx].quantity, 1); + } + + if (pocket == POCKET_BERRY_POUCH - 1 && !CheckBagHasItem(ITEM_BERRY_POUCH, 1)) + { + idx = BagPocketGetFirstEmptySlot(POCKET_KEY_ITEMS - 1); + if (idx == -1) + return FALSE; + gBagPockets[POCKET_KEY_ITEMS - 1].itemSlots[idx].itemId = ITEM_BERRY_POUCH; + SetBagItemQuantity(&gBagPockets[POCKET_KEY_ITEMS - 1].itemSlots[idx].quantity, 1); + FlagSet(FLAG_0x847); + } + + if (itemId == ITEM_BERRY_POUCH) + FlagSet(FLAG_0x847); + + idx = BagPocketGetFirstEmptySlot(pocket); + if (idx == -1) + return FALSE; + + gBagPockets[pocket].itemSlots[idx].itemId = itemId; + SetBagItemQuantity(&gBagPockets[pocket].itemSlots[idx].quantity, count); + return TRUE; +} + +bool8 RemoveBagItem(u16 itemId, u16 count) +{ + u8 i; + u8 pocket; + + if (ItemId_GetPocket(itemId) == 0) + return FALSE; + + if (itemId == ITEM_NONE) + return FALSE; + + pocket = ItemId_GetPocket(itemId) - 1; + // Check for item slots that contain the item + for (i = 0; i < gBagPockets[pocket].capacity; i++) + { + if (gBagPockets[pocket].itemSlots[i].itemId == itemId) + { + u16 quantity; + // Does this item slot contain enough of the item? + quantity = GetBagItemQuantity(&gBagPockets[pocket].itemSlots[i].quantity); + if (quantity >= count) + { + quantity -= count; + SetBagItemQuantity(&gBagPockets[pocket].itemSlots[i].quantity, quantity); + if (quantity == 0) + gBagPockets[pocket].itemSlots[i].itemId = ITEM_NONE; + return TRUE; + } + // RS and Emerald check whether there is enough of the + // item across all stacks. + // For whatever reason, FR/LG assume there's only one + // stack of the item. + else + return FALSE; + } + } + return FALSE; +} + +u8 GetPocketByItemId(u16 itemId) +{ + return ItemId_GetPocket(itemId); // wow such important +} + +void ClearItemSlots(struct ItemSlot * slots, u8 capacity) +{ + u16 i; + + for (i = 0; i < capacity; i++) + { + slots[i].itemId = ITEM_NONE; + SetBagItemQuantity(&slots[i].quantity, 0); + } +} + +void ClearPCItemSlots(void) +{ + u16 i; + + for (i = 0; i < PC_ITEMS_COUNT; i++) + { + gSaveBlock1Ptr->pcItems[i].itemId = ITEM_NONE; + SetPcItemQuantity(&gSaveBlock1Ptr->pcItems[i].quantity, 0); + } +} + +void ClearItemSlotsInAllBagPockets(void) +{ + u16 i; + + for (i = 0; i < 5; i++) + { + ClearItemSlots(gBagPockets[i].itemSlots, gBagPockets[i].capacity); + } +} + +s8 PCItemsGetFirstEmptySlot(void) +{ + s8 i; + + for (i = 0; i < PC_ITEMS_COUNT; i++) + { + if (gSaveBlock1Ptr->pcItems[i].itemId == ITEM_NONE) + return i; + } + + return -1; +} + +u8 CountItemsInPC(void) +{ + u8 count = 0; + u8 i; + + for (i = 0; i < PC_ITEMS_COUNT; i++) + { + if (gSaveBlock1Ptr->pcItems[i].itemId != ITEM_NONE) + count++; + } + + return count; +} + +bool8 CheckPCHasItem(u16 itemId, u16 count) +{ + u8 i; + u16 quantity; + + for (i = 0; i < PC_ITEMS_COUNT; i++) + { + if (gSaveBlock1Ptr->pcItems[i].itemId == itemId) + { + quantity = GetPcItemQuantity(&gSaveBlock1Ptr->pcItems[i].quantity); + if (quantity >= count) + return TRUE; + } + } + + return FALSE; +} + +bool8 AddPCItem(u16 itemId, u16 count) +{ + u8 i; + u16 quantity; + s8 idx; + + for (i = 0; i < PC_ITEMS_COUNT; i++) + { + if (gSaveBlock1Ptr->pcItems[i].itemId == itemId) + { + quantity = GetPcItemQuantity(&gSaveBlock1Ptr->pcItems[i].quantity); + if (quantity + count <= 999) + { + quantity += count; + SetPcItemQuantity(&gSaveBlock1Ptr->pcItems[i].quantity, quantity); + return TRUE; + } + else + return FALSE; + } + } + + idx = PCItemsGetFirstEmptySlot(); + if (idx == -1) + return FALSE; + + gSaveBlock1Ptr->pcItems[idx].itemId = itemId; + SetPcItemQuantity(&gSaveBlock1Ptr->pcItems[idx].quantity, count); + return TRUE; +} + +void RemoveItemFromPC(u16 itemId, u16 count) +{ + u32 i; + u16 quantity; + + if (itemId == ITEM_NONE) + return; + + for (i = 0; i < PC_ITEMS_COUNT; i++) + { + if (gSaveBlock1Ptr->pcItems[i].itemId == itemId) + break; + } + + if (i != PC_ITEMS_COUNT) + { + quantity = GetPcItemQuantity(&gSaveBlock1Ptr->pcItems[i].quantity) - count; + SetPcItemQuantity(&gSaveBlock1Ptr->pcItems[i].quantity, quantity); + if (quantity == 0) + gSaveBlock1Ptr->pcItems[i].itemId = ITEM_NONE; + } +} + +void ItemPcCompaction(void) +{ + u16 i, j; + struct ItemSlot tmp; + + for (i = 0; i < PC_ITEMS_COUNT - 1; i++) + { + for (j = i + 1; j < PC_ITEMS_COUNT; j++) + { + if (gSaveBlock1Ptr->pcItems[i].itemId == ITEM_NONE) + { + tmp = gSaveBlock1Ptr->pcItems[i]; + gSaveBlock1Ptr->pcItems[i] = gSaveBlock1Ptr->pcItems[j]; + gSaveBlock1Ptr->pcItems[j] = tmp; + } + } + } +} + +void RegisteredItemHandleBikeSwap(void) +{ + switch (gSaveBlock1Ptr->registeredItem) + { + case ITEM_MACH_BIKE: + gSaveBlock1Ptr->registeredItem = ITEM_ACRO_BIKE; + break; + case ITEM_ACRO_BIKE: + gSaveBlock1Ptr->registeredItem = ITEM_MACH_BIKE; + break; + } +} + +void SwapItemSlots(struct ItemSlot * a, struct ItemSlot * b) +{ + struct ItemSlot c; + c = *a; + *a = *b; + *b = c; +} + +void BagPocketCompaction(struct ItemSlot * slots, u8 capacity) +{ + u16 i, j; + + for (i = 0; i < capacity - 1; i++) + { + for (j = i + 1; j < capacity; j++) + { + if (GetBagItemQuantity(&slots[i].quantity) == 0) + { + SwapItemSlots(&slots[i], &slots[j]); + } + } + } +} + +void SortPocketAndPlaceHMsFirst(struct BagPocket * pocket) +{ + u16 i; + u16 j = 0; + u16 k; + struct ItemSlot * buff; + + SortAndCompactBagPocket(pocket); + + for (i = 0; i < pocket->capacity; i++) + { + if (pocket->itemSlots[i].itemId == ITEM_NONE && GetBagItemQuantity(&pocket->itemSlots[i].quantity) == 0) + return; + if (pocket->itemSlots[i].itemId >= ITEM_HM01 && GetBagItemQuantity(&pocket->itemSlots[i].quantity) != 0) + { + for (j = i + 1; j < pocket->capacity; j++) + { + if (pocket->itemSlots[j].itemId == ITEM_NONE && GetBagItemQuantity(&pocket->itemSlots[j].quantity) == 0) + break; + } + break; + } + } + + for (k = 0; k < pocket->capacity; k++) + pocket->itemSlots[k].quantity = GetBagItemQuantity(&pocket->itemSlots[k].quantity); + buff = AllocZeroed(pocket->capacity * sizeof(struct ItemSlot)); + CpuCopy16(pocket->itemSlots + i, buff, (j - i) * sizeof(struct ItemSlot)); + CpuCopy16(pocket->itemSlots, buff + (j - i), i * sizeof(struct ItemSlot)); + CpuCopy16(buff, pocket->itemSlots, pocket->capacity * sizeof(struct ItemSlot)); + for (k = 0; k < pocket->capacity; k++) + SetBagItemQuantity(&pocket->itemSlots[k].quantity, pocket->itemSlots[k].quantity); + Free(buff); +} + +void SortAndCompactBagPocket(struct BagPocket * pocket) +{ + u16 i, j; + + for (i = 0; i < pocket->capacity; i++) + { + for (j = i + 1; j < pocket->capacity; j++) + { + if (GetBagItemQuantity(&pocket->itemSlots[i].quantity) == 0 || (GetBagItemQuantity(&pocket->itemSlots[j].quantity) != 0 && pocket->itemSlots[i].itemId > pocket->itemSlots[j].itemId)) + SwapItemSlots(&pocket->itemSlots[i], &pocket->itemSlots[j]); + } + } +} + +u16 BagGetItemIdByPocketPosition(u8 pocketId, u16 slotId) +{ + return gBagPockets[pocketId - 1].itemSlots[slotId].itemId; +} + +u16 BagGetQuantityByPocketPosition(u8 pocketId, u16 slotId) +{ + return GetBagItemQuantity(&gBagPockets[pocketId - 1].itemSlots[slotId].quantity); +} + +u16 BagGetQuantityByItemId(u16 itemId) +{ + u16 i; + struct BagPocket * pocket = &gBagPockets[ItemId_GetPocket(itemId) - 1]; + + for (i = 0; i < pocket->capacity; i++) + { + if (pocket->itemSlots[i].itemId == itemId) + return GetBagItemQuantity(&pocket->itemSlots[i].quantity); + } + + return 0; +} + +void sub_809A824(u16 itemId) +{ + struct QuestLogStruct_809A824 + { + u16 itemId; + u8 mapSectionId; + } * ptr; + if + ( + itemId == ITEM_OAKS_PARCEL + || itemId == ITEM_POKE_FLUTE + || itemId == ITEM_SECRET_KEY + || itemId == ITEM_BIKE_VOUCHER + || itemId == ITEM_GOLD_TEETH + || itemId == ITEM_OLD_AMBER + || itemId == ITEM_CARD_KEY + || itemId == ITEM_LIFT_KEY + || itemId == ITEM_HELIX_FOSSIL + || itemId == ITEM_DOME_FOSSIL + || itemId == ITEM_SILPH_SCOPE + || itemId == ITEM_BICYCLE + || itemId == ITEM_TOWN_MAP + || itemId == ITEM_VS_SEEKER + || itemId == ITEM_TEACHY_TV + || itemId == ITEM_RAINBOW_PASS + || itemId == ITEM_TEA + || itemId == ITEM_POWDER_JAR + || itemId == ITEM_RUBY + || itemId == ITEM_SAPPHIRE + ) + { + if (itemId != ITEM_TOWN_MAP || (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(PALLET_TOWN_GARYS_HOUSE) && gSaveBlock1Ptr->location.mapNum == MAP_NUM(PALLET_TOWN_GARYS_HOUSE))) + { + ptr = malloc(sizeof(*ptr)); + ptr->itemId = itemId; + ptr->mapSectionId = gMapHeader.regionMapSectionId; + sub_8113550(40, (void *)ptr); + free(ptr); + } + } +} + +u16 SanitizeItemId(u16 itemId) +{ + if (itemId >= ITEM_N_A) + return ITEM_NONE; + return itemId; +} + +const u8 * ItemId_GetName(u16 itemId) +{ + return gItems[SanitizeItemId(itemId)].name; +} + +u16 itemid_get_number(u16 itemId) +{ + return gItems[SanitizeItemId(itemId)].itemId; +} + +u16 itemid_get_market_price(u16 itemId) +{ + return gItems[SanitizeItemId(itemId)].price; +} + +u8 ItemId_GetHoldEffect(u16 itemId) +{ + return gItems[SanitizeItemId(itemId)].holdEffect; +} + +u8 ItemId_GetHoldEffectParam(u16 itemId) +{ + return gItems[SanitizeItemId(itemId)].holdEffectParam; +} + +const u8 * ItemId_GetDescription(u16 itemId) +{ + return gItems[SanitizeItemId(itemId)].description; +} + +bool8 itemid_is_unique(u16 itemId) +{ + return gItems[SanitizeItemId(itemId)].importance; +} + +u8 itemid_get_x19(u16 itemId) +{ + return gItems[SanitizeItemId(itemId)].exitsBagOnUse; +} + +u8 ItemId_GetPocket(u16 itemId) +{ + return gItems[SanitizeItemId(itemId)].pocket; +} + +u8 ItemId_GetType(u16 itemId) +{ + return gItems[SanitizeItemId(itemId)].type; +} + +ItemUseFunc ItemId_GetFieldFunc(u16 itemId) +{ + return gItems[SanitizeItemId(itemId)].fieldUseFunc; +} + +bool8 ItemId_GetBattleUsage(u16 itemId) +{ + return gItems[SanitizeItemId(itemId)].battleUsage; +} + +ItemUseFunc ItemId_GetBattleFunc(u16 itemId) +{ + return gItems[SanitizeItemId(itemId)].battleUseFunc; +} + +u8 ItemId_GetSecondaryId(u16 itemId) +{ + return gItems[SanitizeItemId(itemId)].secondaryId; +} diff --git a/src/item_pc.c b/src/item_pc.c index 3e139503e..e2fa33f0a 100644 --- a/src/item_pc.c +++ b/src/item_pc.c @@ -676,7 +676,7 @@ static u16 ItemPc_GetItemIdBySlotId(u16 idx) static u16 ItemPc_GetItemQuantityBySlotId(u16 idx) { - return GetBagItemId(&gSaveBlock1Ptr->pcItems[idx].quantity); + return GetPcItemQuantity(&gSaveBlock1Ptr->pcItems[idx].quantity); } static void ItemPc_CountPcItems(void) diff --git a/src/item_use.c b/src/item_use.c new file mode 100644 index 000000000..a7146b65e --- /dev/null +++ b/src/item_use.c @@ -0,0 +1,880 @@ +#include "global.h" +#include "battle.h" +#include "berry_pouch.h" +#include "berry_powder.h" +#include "bike.h" +#include "coins.h" +#include "event_data.h" +#include "field_effect.h" +#include "field_fadetransition.h" +#include "field_map_obj_helpers.h" +#include "field_player_avatar.h" +#include "field_specials.h" +#include "field_weather.h" +#include "fieldmap.h" +#include "item.h" +#include "item_menu.h" +#include "item_use.h" +#include "itemfinder.h" +#include "mail.h" +#include "main.h" +#include "malloc.h" +#include "map_obj_80688E4.h" +#include "map_obj_lock.h" +#include "metatile_behavior.h" +#include "new_menu_helpers.h" +#include "overworld.h" +#include "palette.h" +#include "party_menu.h" +#include "quest_log.h" +#include "region_map.h" +#include "script.h" +#include "sound.h" +#include "string_util.h" +#include "strings.h" +#include "task.h" +#include "teachy_tv.h" +#include "tm_case.h" +#include "vs_seeker.h" +#include "constants/fanfares.h" +#include "constants/flags.h" +#include "constants/items.h" +#include "constants/maps.h" +#include "constants/moves.h" +#include "constants/songs.h" + +EWRAM_DATA void (*sItemUseOnFieldCB)(u8 taskId) = NULL; + +void sub_80A1084(void); +void sub_80A109C(u8 taskId); +void sub_80A112C(u8 taskId); +void sub_80A11C0(u8 taskId); +bool8 sub_80A1194(void); +void sub_80A1208(void); +void ItemUseOnFieldCB_Bicycle(u8 taskId); +bool8 ItemUseCheckFunc_Rod(void); +void ItemUseOnFieldCB_Rod(u8 taskId); +void FieldUseFunc_EvoItem(u8 taskId); +void sub_80A1648(u8 taskId); +void sub_80A1674(u8 taskId); +void InitTMCaseFromBag(void); +void Task_InitTMCaseFromField(u8 taskId); +void InitBerryPouchFromBag(void); +void Task_InitBerryPouchFromField(u8 taskId); +void InitBerryPouchFromBattle(void); +void InitTeachyTvFromBag(void); +void Task_InitTeachyTvFromField(u8 taskId); +void sub_80A19E8(u8 taskId); +void sub_80A1A44(void); +void sub_80A1B48(u8 taskId); +void sub_80A1C08(u8 taskId); +void sub_80A1C44(u8 taskId); +void sub_80A1CAC(void); +void sub_80A1CC0(u8 taskId); +void sub_80A1D58(void); +void sub_80A1D68(u8 taskId); +void Task_BattleUse_StatBooster_DelayAndPrint(u8 taskId); +void Task_BattleUse_StatBooster_WaitButton_ReturnToBattle(u8 taskId); + +extern void (*const gUnknown_83E2954[])(void); + +void sub_80A0FBC(u8 taskId) +{ + u8 itemType; + if (gSpecialVar_ItemId == ITEM_ENIGMA_BERRY) + itemType = gTasks[taskId].data[4] - 1; + else + itemType = ItemId_GetType(gSpecialVar_ItemId) - 1; + if (GetPocketByItemId(gSpecialVar_ItemId) == POCKET_BERRY_POUCH) + { + BerryPouch_SetExitCallback(gUnknown_83E2954[itemType]); + BerryPouch_StartFadeToExitCallback(taskId); + } + else + { + ItemMenu_SetExitCallback(gUnknown_83E2954[itemType]); + if (itemType == 1) + sub_8108CB4(); + ItemMenu_StartFadeToExitCallback(taskId); + } +} + +void sub_80A103C(u8 taskId) +{ + if (gTasks[taskId].data[3] != 1) + { + gFieldCallback = sub_80A1084; + sub_80A0FBC(taskId); + } + else + sItemUseOnFieldCB(taskId); +} + +void sub_80A1084(void) +{ + sub_807DC00(); + CreateTask(sub_80A109C, 8); +} + +void sub_80A109C(u8 taskId) +{ + if (sub_807AA70() == TRUE) + { + sItemUseOnFieldCB(taskId); + } +} + +void sub_80A10C4(u8 taskId, bool8 a1, u8 a2, const u8 * str) +{ + StringExpandPlaceholders(gStringVar4, str); + if (a1 == FALSE) + DisplayItemMessageInBag(taskId, a2, gStringVar4, sub_810A1F8); + else + DisplayItemMessageOnField(taskId, a2, gStringVar4, sub_80A112C); +} + +void sub_80A1110(u8 taskId, bool8 a1) +{ + sub_80A10C4(taskId, a1, 4, gUnknown_8416425); +} + +void sub_80A112C(u8 taskId) +{ + ClearDialogWindowAndFrame(0, 1); + DestroyTask(taskId); + sub_80696C0(); + ScriptContext2_Disable(); +} + +u8 GetItemCompatibilityRule(u16 itemId) +{ + if (ItemId_GetPocket(itemId) == POCKET_TM_CASE) + return 1; + else if (ItemId_GetFieldFunc(itemId) == FieldUseFunc_EvoItem) + return 2; + else + return 0; +} + +void sub_80A1184(void) +{ + gFieldCallback2 = sub_80A1194; +} + +bool8 sub_80A1194(void) +{ + player_bitmagic(); + ScriptContext2_Enable(); + sub_807DC00(); + CreateTask(sub_80A11C0, 10); + gUnknown_2031DE0 = 0; + return TRUE; +} + +void sub_80A11C0(u8 taskId) +{ + if (sub_807AA70() == TRUE) + { + UnfreezeMapObjects(); + ScriptContext2_Disable(); + DestroyTask(taskId); + } +} + +void FieldUseFunc_OrangeMail(u8 taskId) +{ + ItemMenu_SetExitCallback(sub_80A1208); + ItemMenu_StartFadeToExitCallback(taskId); +} + +void sub_80A1208(void) +{ + struct MailStruct mail; + + mail.itemId = gSpecialVar_ItemId; + sub_80BEBEC(&mail, ReturnToBagFromKeyItem, 0); +} + +void FieldUseFunc_MachBike(u8 taskId) +{ + s16 x, y; + u8 behavior; + + PlayerGetDestCoords(&x, &y); + behavior = MapGridGetMetatileBehaviorAt(x, y); + + if (FlagGet(FLAG_0x830) == TRUE + || MetatileBehavior_ReturnFalse_17(behavior) == TRUE + || MetatileBehavior_ReturnFalse_18(behavior) == TRUE + || MetatileBehavior_ReturnFalse_15(behavior) == TRUE + || MetatileBehavior_ReturnFalse_16(behavior) == TRUE) + sub_80A10C4(taskId, gTasks[taskId].data[3], 2, gUnknown_8416451); + else if (sub_8055C9C() == TRUE && !sub_80BD540()) + { + sItemUseOnFieldCB = ItemUseOnFieldCB_Bicycle; + sub_80A103C(taskId); + } + else + sub_80A1110(taskId, gTasks[taskId].data[3]); +} + +void ItemUseOnFieldCB_Bicycle(u8 taskId) +{ + if (!TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_MACH_BIKE | PLAYER_AVATAR_FLAG_ACRO_BIKE)) + PlaySE(SE_JITENSYA); + StartTransitionToFlipBikeState(PLAYER_AVATAR_FLAG_MACH_BIKE | PLAYER_AVATAR_FLAG_ACRO_BIKE); + sub_80696C0(); + ScriptContext2_Disable(); + DestroyTask(taskId); +} + +void FieldUseFunc_OldRod(u8 taskId) +{ + if (ItemUseCheckFunc_Rod() == TRUE) + { + sItemUseOnFieldCB = ItemUseOnFieldCB_Rod; + sub_80A103C(taskId); + } + else + sub_80A1110(taskId, gTasks[taskId].data[3]); +} + +bool8 ItemUseCheckFunc_Rod(void) +{ + s16 x, y; + u16 behavior; + + GetXYCoordsOneStepInFrontOfPlayer(&x, &y); + behavior = MapGridGetMetatileBehaviorAt(x, y); + + if (MetatileBehavior_IsWaterfall(behavior)) + return FALSE; + if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_4)) + return FALSE; + if (!TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_SURFING)) + { + if (IsPlayerFacingSurfableFishableWater()) + return TRUE; + } + else + { + if (MetatileBehavior_IsSurfable(behavior) && !MapGridIsImpassableAt(x, y)) + return TRUE; + if (MetatileBehavior_ReturnFalse_6(behavior) == TRUE) + return TRUE; + } + return FALSE; +} + +void ItemUseOnFieldCB_Rod(u8 taskId) +{ + sub_805D2C0(ItemId_GetSecondaryId(gSpecialVar_ItemId)); + DestroyTask(taskId); +} + +void ItemUseOutOfBattle_Itemfinder(u8 taskId) +{ + IncrementGameStat(GAME_STAT_USED_ITEMFINDER); + sItemUseOnFieldCB = sub_813EC8C; + sub_80A103C(taskId); +} + +void FieldUseFunc_CoinCase(u8 taskId) +{ + ConvertIntToDecimalStringN(gStringVar1, GetCoins(), STR_CONV_MODE_LEFT_ALIGN, 4); + StringExpandPlaceholders(gStringVar4, gUnknown_8416537); + ItemUse_SetQuestLogEvent(4, NULL, gSpecialVar_ItemId, 0xFFFF); + if (gTasks[taskId].data[3] == 0) + DisplayItemMessageInBag(taskId, 2, gStringVar4, sub_810A1F8); + else + DisplayItemMessageOnField(taskId, 2, gStringVar4, sub_80A112C); +} + +void FieldUseFunc_PowderJar(u8 taskId) +{ + ConvertIntToDecimalStringN(gStringVar1, GetBerryPowder(), STR_CONV_MODE_LEFT_ALIGN, 5); + StringExpandPlaceholders(gStringVar4, gUnknown_8416644); + ItemUse_SetQuestLogEvent(4, NULL, gSpecialVar_ItemId, 0xFFFF); + if (gTasks[taskId].data[3] == 0) + DisplayItemMessageInBag(taskId, 2, gStringVar4, sub_810A1F8); + else + DisplayItemMessageOnField(taskId, 2, gStringVar4, sub_80A112C); +} + +void FieldUseFunc_PokeFlute(u8 taskId) +{ + bool8 wokeSomeoneUp = FALSE; + u8 i; + + for (i = 0; i < CalculatePlayerPartyCount(); i++) + { + if (!ExecuteTableBasedItemEffect(&gPlayerParty[i], ITEM_AWAKENING, i, MOVE_NONE)) + wokeSomeoneUp = TRUE; + } + + if (wokeSomeoneUp) + { + ItemUse_SetQuestLogEvent(4, NULL, gSpecialVar_ItemId, 0xFFFF); + if (gTasks[taskId].data[3] == 0) + DisplayItemMessageInBag(taskId, 2, gUnknown_8416690, sub_80A1648); + else + DisplayItemMessageOnField(taskId, 2, gUnknown_8416690, sub_80A1648); + } + else + { + // Now that's a catchy tune! + if (gTasks[taskId].data[3] == 0) + DisplayItemMessageInBag(taskId, 2, gUnknown_841665C, sub_810A1F8); + else + DisplayItemMessageOnField(taskId, 2, gUnknown_841665C, sub_80A112C); + } +} + +void sub_80A1648(u8 taskId) +{ + PlayFanfareByFanfareNum(FANFARE_POKEFLUTE); + gTasks[taskId].func = sub_80A1674; +} + +void sub_80A1674(u8 taskId) +{ + if (WaitFanfare(FALSE)) + { + if (gTasks[taskId].data[3] == 0) + DisplayItemMessageInBag(taskId, 2, gUnknown_84166A7, sub_810A1F8); + else + DisplayItemMessageOnField(taskId, 2, gUnknown_84166A7, sub_80A112C); + } +} + +void sub_80A16D0(u8 taskId) +{ + sub_80A0FBC(taskId); +} + +void FieldUseFunc_Medicine(u8 taskId) +{ + gUnknown_3005E98 = sub_81252D0; + sub_80A16D0(taskId); +} + +void FieldUseFunc_Ether(u8 taskId) +{ + gUnknown_3005E98 = ItemUseCB_PpRestore; + sub_80A16D0(taskId); +} + +void FieldUseFunc_PpUp(u8 taskId) +{ + gUnknown_3005E98 = dp05_pp_up; + sub_80A16D0(taskId); +} + +void FieldUseFunc_RareCandy(u8 taskId) +{ + gUnknown_3005E98 = dp05_rare_candy; + sub_80A16D0(taskId); +} + +void FieldUseFunc_EvoItem(u8 taskId) +{ + gUnknown_3005E98 = sub_8126B60; + sub_80A16D0(taskId); +} + +void FieldUseFunc_SacredAsh(u8 taskId) +{ + gUnknown_3005E98 = sub_8126894; + sub_80A0FBC(taskId); +} + +void FieldUseFunc_TmCase(u8 taskId) +{ + if (gTasks[taskId].data[3] == 0) + { + ItemMenu_SetExitCallback(InitTMCaseFromBag); + ItemMenu_StartFadeToExitCallback(taskId); + } + else + { + sub_80CCB68(); + fade_screen(1, 0); + gTasks[taskId].func = Task_InitTMCaseFromField; + } +} + +void InitTMCaseFromBag(void) +{ + InitTMCase(0, ReturnToBagFromKeyItem, 0); +} + +void Task_InitTMCaseFromField(u8 taskId) +{ + if (!gPaletteFade.active) + { + CleanupOverworldWindowsAndTilemaps(); + sub_80A1184(); + InitTMCase(0, CB2_ReturnToField, 1); + DestroyTask(taskId); + } +} + +void FieldUseFunc_BerryPouch(u8 taskId) +{ + if (gTasks[taskId].data[3] == 0) + { + ItemMenu_SetExitCallback(InitBerryPouchFromBag); + ItemMenu_StartFadeToExitCallback(taskId); + } + else + { + sub_80CCB68(); + fade_screen(1, 0); + gTasks[taskId].func = Task_InitBerryPouchFromField; + } +} + +void InitBerryPouchFromBag(void) +{ + InitBerryPouch(0, ReturnToBagFromKeyItem, 0); +} + +void Task_InitBerryPouchFromField(u8 taskId) +{ + if (!gPaletteFade.active) + { + CleanupOverworldWindowsAndTilemaps(); + sub_80A1184(); + InitBerryPouch(0, CB2_ReturnToField, 1); + DestroyTask(taskId); + } +} + +void BattleUseFunc_BerryPouch(u8 taskId) +{ + ItemMenu_SetExitCallback(InitBerryPouchFromBattle); + ItemMenu_StartFadeToExitCallback(taskId); +} + +void InitBerryPouchFromBattle(void) +{ + InitBerryPouch(4, sub_8107ECC, 0); +} + +void FieldUseFunc_TeachyTv(u8 taskId) +{ + ItemUse_SetQuestLogEvent(4, NULL, gSpecialVar_ItemId, 0xFFFF); + if (gTasks[taskId].data[3] == 0) + { + ItemMenu_SetExitCallback(InitTeachyTvFromBag); + ItemMenu_StartFadeToExitCallback(taskId); + } + else + { + sub_80CCB68(); + fade_screen(1, 0); + gTasks[taskId].func = Task_InitTeachyTvFromField; + } +} + +void InitTeachyTvFromBag(void) +{ + InitTeachyTvController(0, ReturnToBagFromKeyItem); +} + +void Task_InitTeachyTvFromField(u8 taskId) +{ + if (!gPaletteFade.active) + { + CleanupOverworldWindowsAndTilemaps(); + sub_80A1184(); + InitTeachyTvController(0, CB2_ReturnToField); + DestroyTask(taskId); + } +} + +void FieldUseFunc_SuperRepel(u8 taskId) +{ + if (VarGet(VAR_REPEL_STEP_COUNT) == 0) + { + PlaySE(SE_RU_GASYAN); + gTasks[taskId].func = sub_80A19E8; + } + else + // An earlier repel is still in effect + DisplayItemMessageInBag(taskId, 2, gUnknown_841659E, sub_810A1F8); +} + +void sub_80A19E8(u8 taskId) +{ + if (!IsSEPlaying()) + { + ItemUse_SetQuestLogEvent(4, NULL, gSpecialVar_ItemId, 0xFFFF); + VarSet(VAR_REPEL_STEP_COUNT, ItemId_GetHoldEffectParam(gSpecialVar_ItemId)); + sub_80A1A44(); + DisplayItemMessageInBag(taskId, 2, gStringVar4, sub_810A1F8); + } +} + +void sub_80A1A44(void) +{ + RemoveBagItem(gSpecialVar_ItemId, 1); + sub_8108DC8(ItemId_GetPocket(gSpecialVar_ItemId)); + sub_81089F4(ItemId_GetPocket(gSpecialVar_ItemId)); + CopyItemName(gSpecialVar_ItemId, gStringVar2); + StringExpandPlaceholders(gStringVar4, gUnknown_841658C); +} + +void FieldUseFunc_BlackFlute(u8 taskId) +{ + ItemUse_SetQuestLogEvent(4, NULL, gSpecialVar_ItemId, 0xFFFF); + if (gSpecialVar_ItemId == ITEM_WHITE_FLUTE) + { + FlagSet(FLAG_WHITE_FLUTE_ACTIVE); + FlagClear(FLAG_BLACK_FLUTE_ACTIVE); + CopyItemName(gSpecialVar_ItemId, gStringVar2); + StringExpandPlaceholders(gStringVar4, gUnknown_84165D2); + gTasks[taskId].func = sub_80A1B48; + gTasks[taskId].data[8] = 0; + } + else if (gSpecialVar_ItemId == ITEM_BLACK_FLUTE) + { + FlagSet(FLAG_BLACK_FLUTE_ACTIVE); + FlagClear(FLAG_WHITE_FLUTE_ACTIVE); + CopyItemName(gSpecialVar_ItemId, gStringVar2); + StringExpandPlaceholders(gStringVar4, gUnknown_8416600); + gTasks[taskId].func = sub_80A1B48; + gTasks[taskId].data[8] = 0; + } +} + +void sub_80A1B48(u8 taskId) +{ + if (++gTasks[taskId].data[8] > 7) + { + PlaySE(SE_PN_ON); + DisplayItemMessageInBag(taskId, 2, gStringVar4, sub_810A1F8); + } +} + +bool8 sub_80A1B8C(void) +{ + if (gMapHeader.escapeRope & 1) + return TRUE; + else + return FALSE; +} + +void ItemUseOutOfBattle_EscapeRope(u8 taskId) +{ + if (sub_80A1B8C() == TRUE) + { + ItemUse_SetQuestLogEvent(4, NULL, gSpecialVar_ItemId, gMapHeader.regionMapSectionId); + sItemUseOnFieldCB = sub_80A1C08; + sub_80A103C(taskId); + } + else + sub_80A1110(taskId, gTasks[taskId].data[3]); +} + +void sub_80A1C08(u8 taskId) +{ + sub_8054D70(); + sub_80A1A44(); + gTasks[taskId].data[0] = 0; + DisplayItemMessageOnField(taskId, 2, gStringVar4, sub_80A1C44); +} + +void sub_80A1C44(u8 taskId) +{ + ResetInitialPlayerAvatarState(); + sub_8085620(); + DestroyTask(taskId); +} + +void FieldUseFunc_TownMap(u8 taskId) +{ + if (gTasks[taskId].data[3] == 0) + { + ItemMenu_SetExitCallback(sub_80A1CAC); + ItemMenu_StartFadeToExitCallback(taskId); + } + else + { + sub_80CCB68(); + fade_screen(1, 0); + gTasks[taskId].func = sub_80A1CC0; + } +} + +void sub_80A1CAC(void) +{ + sub_80BFF50(0, ReturnToBagFromKeyItem); +} + +void sub_80A1CC0(u8 taskId) +{ + if (!gPaletteFade.active) + { + CleanupOverworldWindowsAndTilemaps(); + sub_80A1184(); + sub_80BFF50(0, CB2_ReturnToField); + DestroyTask(taskId); + } +} + +void FieldUseFunc_FameChecker(u8 taskId) +{ + ItemUse_SetQuestLogEvent(4, NULL, gSpecialVar_ItemId, 0xFFFF); + if (gTasks[taskId].data[3] == 0) + { + ItemMenu_SetExitCallback(sub_80A1D58); + ItemMenu_StartFadeToExitCallback(taskId); + } + else + { + sub_80CCB68(); + fade_screen(1, 0); + gTasks[taskId].func = sub_80A1D68; + } +} + +void sub_80A1D58(void) +{ + UseFameChecker(ReturnToBagFromKeyItem); +} + +void sub_80A1D68(u8 taskId) +{ + if (!gPaletteFade.active) + { + CleanupOverworldWindowsAndTilemaps(); + sub_80A1184(); + UseFameChecker(CB2_ReturnToField); + DestroyTask(taskId); + } +} + +void FieldUseFunc_VsSeeker(u8 taskId) +{ + if ((gMapHeader.mapType != MAP_TYPE_ROUTE + && gMapHeader.mapType != MAP_TYPE_TOWN + && gMapHeader.mapType != MAP_TYPE_CITY) + || (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(VIRIDIAN_FOREST) + && (gSaveBlock1Ptr->location.mapNum == MAP_NUM(VIRIDIAN_FOREST) + || gSaveBlock1Ptr->location.mapNum == MAP_NUM(MT_EMBER_EXTERIOR) + || gSaveBlock1Ptr->location.mapNum == MAP_NUM(THREE_ISLAND_BERRY_FOREST) + || gSaveBlock1Ptr->location.mapNum == MAP_NUM(SIX_ISLAND_PATTERN_BUSH)))) + { + sub_80A1110(taskId, gTasks[taskId].data[3]); + } + else + { + sItemUseOnFieldCB = Task_VsSeeker_0; + sub_80A103C(taskId); + } +} + +void sub_80A1E0C(u8 taskId) +{ + sub_80A112C(taskId); +} + +void BattleUseFunc_PokeBallEtc(u8 taskId) +{ + if (!IsPlayerPartyAndPokemonStorageFull()) + { + RemoveBagItem(gSpecialVar_ItemId, 1); + sub_8108CB4(); + ItemMenu_StartFadeToExitCallback(taskId); + } + else + { + DisplayItemMessageInBag(taskId, 2, gUnknown_8416631, sub_810A1F8); + } +} + +void BattleUseFunc_PokeFlute(u8 taskId) +{ + sub_8108CB4(); + ItemMenu_StartFadeToExitCallback(taskId); +} + +void BattleUseFunc_GuardSpec(u8 taskId) +{ + if (ExecuteTableBasedItemEffect(&gPlayerParty[gBattlerPartyIndexes[gBattlerInMenuId]], gSpecialVar_ItemId, gBattlerPartyIndexes[gBattlerInMenuId], 0)) + { + DisplayItemMessageInBag(taskId, 2, gUnknown_84169DC, sub_810A1F8); + } + else + { + gTasks[taskId].data[8] = 0; + gTasks[taskId].func = Task_BattleUse_StatBooster_DelayAndPrint; + } +} + +void Task_BattleUse_StatBooster_DelayAndPrint(u8 taskId) +{ + s16 * data = gTasks[taskId].data; + + if (++data[8] > 7) + { + u16 itemId = gSpecialVar_ItemId; + PlaySE(SE_KAIFUKU); + RemoveBagItem(itemId, 1); + DisplayItemMessageInBag(taskId, 2, Battle_PrintStatBoosterEffectMessage(itemId), Task_BattleUse_StatBooster_WaitButton_ReturnToBattle); + } +} + +void Task_BattleUse_StatBooster_WaitButton_ReturnToBattle(u8 taskId) +{ + if (JOY_NEW(A_BUTTON) || JOY_NEW(B_BUTTON)) + { + sub_8108CB4(); + ItemMenu_StartFadeToExitCallback(taskId); + } +} + +void ItemUse_SwitchToPartyMenuInBattle(u8 taskId) +{ + if (GetPocketByItemId(gSpecialVar_ItemId) == POCKET_BERRY_POUCH) + { + BerryPouch_SetExitCallback(sub_81279E0); + BerryPouch_StartFadeToExitCallback(taskId); + } + else + { + ItemMenu_SetExitCallback(sub_81279E0); + ItemMenu_StartFadeToExitCallback(taskId); + } +} + +void BattleUseFunc_Medicine(u8 taskId) +{ + gUnknown_3005E98 = ItemUseCB_Medicine; + ItemUse_SwitchToPartyMenuInBattle(taskId); +} + +void sub_80A1FD8(u8 taskId) +{ + gUnknown_3005E98 = sub_8126894; + ItemUse_SwitchToPartyMenuInBattle(taskId); +} + +void BattleUseFunc_Ether(u8 taskId) +{ + gUnknown_3005E98 = ItemUseCB_PpRestore; + ItemUse_SwitchToPartyMenuInBattle(taskId); +} + +void BattleUseFunc_PokeDoll(u8 taskId) +{ + if (!(gBattleTypeFlags & BATTLE_TYPE_TRAINER)) + { + sub_80A1A44(); + ItemUse_SetQuestLogEvent(4, 0, gSpecialVar_ItemId, 0xFFFF); + DisplayItemMessageInBag(taskId, 2, gStringVar4, ItemMenu_StartFadeToExitCallback); + } + else + sub_80A1110(taskId, 0); +} + +void ItemUseOutOfBattle_EnigmaBerry(u8 taskId) +{ + switch (GetItemEffectType(gSpecialVar_ItemId) - 1) + { + case 1: + case 2: + case 3: + case 4: + case 5: + case 6: + case 10: + case 11: + case 12: + case 13: + case 14: + case 15: + case 16: + gTasks[taskId].data[4] = 1; + FieldUseFunc_Medicine(taskId); + break; + case 9: + gTasks[taskId].data[4] = 1; + FieldUseFunc_SacredAsh(taskId); + break; + case 0: + gTasks[taskId].data[4] = 1; + FieldUseFunc_RareCandy(taskId); + break; + case 18: + case 19: + gTasks[taskId].data[4] = 1; + FieldUseFunc_PpUp(taskId); + break; + case 20: + gTasks[taskId].data[4] = 1; + FieldUseFunc_Ether(taskId); + break; + default: + gTasks[taskId].data[4] = 4; + FieldUseFunc_OakStopsYou(taskId); + } +} + +void ItemUseInBattle_EnigmaBerry(u8 taskId) +{ + switch (GetItemEffectType(gSpecialVar_ItemId)) + { + case 0: + BattleUseFunc_GuardSpec(taskId); + break; + case 2: + case 3: + case 4: + case 5: + case 6: + case 7: + case 8: + case 9: + case 11: + BattleUseFunc_Medicine(taskId); + break; + case 21: + BattleUseFunc_Ether(taskId); + break; + default: + FieldUseFunc_OakStopsYou(taskId); + } +} + +void FieldUseFunc_OakStopsYou(u8 taskId) +{ + if (GetPocketByItemId(gSpecialVar_ItemId) == POCKET_BERRY_POUCH) + { + StringExpandPlaceholders(gStringVar4, gUnknown_8416425); + DisplayItemMessageInBerryPouch(taskId, 4, gStringVar4, sub_813E2B8); + } + else + sub_80A1110(taskId, gTasks[taskId].data[3]); +} + +void ItemUse_SetQuestLogEvent(u8 eventId, struct Pokemon * pokemon, u16 itemId, u16 param) +{ + struct UnkStruct_ItemUseQuestLog + { + u16 itemId; + u16 unk2; + u16 species; + u16 param; + } * questLog = Alloc(sizeof(*questLog)); + + questLog->itemId = itemId; + questLog->param = param; + if (pokemon != NULL) + questLog->species = GetMonData(pokemon, MON_DATA_SPECIES2); + else + questLog->species = 0xFFFF; + sub_8113550(eventId, (void *)questLog); + Free(questLog); +} diff --git a/src/load_save.c b/src/load_save.c index 6f388e451..8d09a86a8 100644 --- a/src/load_save.c +++ b/src/load_save.c @@ -7,7 +7,7 @@ #include "malloc.h" #include "item.h" -extern void sub_8099E44(void); +extern void SetBagPocketsPointers(void); extern void sub_8110840(void *oldSave); extern void sub_8055778(int); extern void sub_8054F38(u32 newKey); @@ -80,7 +80,7 @@ void SetSaveBlocksPointers(void) *sav1_LocalVar = (void*)(&gSaveBlock1) + offset; gPokemonStoragePtr = (void*)(&gPokemonStorage) + offset; - sub_8099E44(); + SetBagPocketsPointers(); sub_8110840(oldSave); } diff --git a/src/pokemon.c b/src/pokemon.c index 3a9fdbf04..906b97cae 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -4526,7 +4526,7 @@ void sub_8042D50(int stat) BattleStringExpandPlaceholdersToDisplayedString(BattleText_UnknownString3); } -u8 *sub_8042DA4(u16 itemId) +const u8 *Battle_PrintStatBoosterEffectMessage(u16 itemId) { int i; const u8 *itemEffect; diff --git a/src/quest_log.c b/src/quest_log.c index 723323427..0021ee927 100644 --- a/src/quest_log.c +++ b/src/quest_log.c @@ -985,8 +985,8 @@ void sub_8111368(void) { gUnknown_203ADFA = 2; sub_806E6FC(); - sub_809A2DC(); - sub_809A2A4(); + ClearItemSlotsInAllBagPockets(); + ClearPCItemSlots(); if (sub_8110AC8() == 1) { sub_8111274(gUnknown_203ADF8, 0); diff --git a/src/teachy_tv.c b/src/teachy_tv.c index 711a7f765..efffe2840 100644 --- a/src/teachy_tv.c +++ b/src/teachy_tv.c @@ -736,7 +736,7 @@ static void TeachyTvOptionListController(u8 taskId) { input = ListMenuHandleInput(data[0]); ListMenuGetScrollAndRow(data[0], &sStaticResources.scrollOffset, &sStaticResources.selectedRow); - if ((JOY_NEW(SELECT_BUTTON) && sStaticResources.callback != UseFameCheckerFromMenu)) + if ((JOY_NEW(SELECT_BUTTON) && sStaticResources.callback != ReturnToBagFromKeyItem)) { PlaySE(SE_SELECT); TeachyTvQuitBeginFade(taskId); diff --git a/src/tm_case.c b/src/tm_case.c index 120116c8d..28aba57a0 100644 --- a/src/tm_case.c +++ b/src/tm_case.c @@ -359,7 +359,7 @@ static bool8 DoSetUpTMCaseUI(void) gMain.state++; break; case 9: - sub_809A5E4(&gBagPockets[POCKET_TM_CASE - 1]); + SortPocketAndPlaceHMsFirst(&gBagPockets[POCKET_TM_CASE - 1]); gMain.state++; break; case 10: @@ -648,7 +648,7 @@ static void TMCaseSetup_GetTMCount(void) struct BagPocket * pocket = &gBagPockets[POCKET_TM_CASE - 1]; u16 i; - sub_809A584(pocket->itemSlots, pocket->capacity); + BagPocketCompaction(pocket->itemSlots, pocket->capacity); sTMCaseDynamicResources->numTMs = 0; for (i = 0; i < pocket->capacity; i++) { diff --git a/src/unk_815C980.c b/src/unk_815C980.c index 9d0dd3341..b90d2fb03 100644 --- a/src/unk_815C980.c +++ b/src/unk_815C980.c @@ -41,6 +41,7 @@ static void sub_815CFEC(struct UnkStruct2 *arg0, s32 arg1, bool32 arg2); static bool32 SharesTileWithAnyActive(u32 id); static bool32 SharesPalWithAnyActive(u32 id); static void sub_8035648(void); +static u8 sub_815D324(u32 shape, u32 size); // ewram static EWRAM_DATA struct UnkStruct1 *gUnknown_203F454 = {0}; @@ -430,7 +431,7 @@ static bool32 SharesPalWithAnyActive(u32 id) return FALSE; } -u8 sub_815D324(u32 shape, u32 size) +static u8 sub_815D324(u32 shape, u32 size) { return gUnknown_8479658[shape][size]; } |