summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPikalaxALT <PikalaxALT@users.noreply.github.com>2019-06-21 13:12:56 -0400
committerGitHub <noreply@github.com>2019-06-21 13:12:56 -0400
commit010db05e735e0ac11efcf0d800205324cc0f2be9 (patch)
tree9109eaf029ee3253a554e50df5584d540ff243f8 /src
parentcaa193364bf786cb567ed16eb4670ed2cc4cb362 (diff)
parent3444ac708a0dfc9e99c34a3c19159e786d8ab9f1 (diff)
Merge pull request #71 from pret/item_use
item_use and item
Diffstat (limited to 'src')
-rw-r--r--src/battle_anim_mon_movement.c21
-rw-r--r--src/berry.c16
-rw-r--r--src/berry_powder.c (renamed from src/unk_815EDDC.c)6
-rw-r--r--src/data/items.json6062
-rw-r--r--src/data/items.json.txt31
-rw-r--r--src/fame_checker.c2
-rw-r--r--src/item.c684
-rw-r--r--src/item_pc.c2
-rw-r--r--src/item_use.c880
-rw-r--r--src/load_save.c4
-rw-r--r--src/pokemon.c2
-rw-r--r--src/quest_log.c4
-rw-r--r--src/teachy_tv.c2
-rw-r--r--src/tm_case.c4
-rw-r--r--src/unk_815C980.c3
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];
}