summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2018-05-10 09:47:12 -0400
committerPikalaxALT <pikalaxalt@gmail.com>2018-05-10 09:47:12 -0400
commitdfc83cf28f0040a62ea52fb7ab7783d4e15baded (patch)
treead39d622d237df4d97ee6c8c0ba0346aa1a59fd3 /include
parent5efe8f3a0d0db0228fd0980c90013a4602c731b3 (diff)
parent7defc27b994069715e5749245700d20dd740e4f0 (diff)
Merge branch 'master' into contest
Diffstat (limited to 'include')
-rw-r--r--include/bard_music.h4
-rw-r--r--include/battle_frontier_2.h1
-rw-r--r--include/battle_records.h12
-rw-r--r--include/bg.h2
-rw-r--r--include/constants/decorations.h1
-rw-r--r--include/constants/items.h10
-rw-r--r--include/data/item_icon_table.h414
-rw-r--r--include/data/items.h6079
-rw-r--r--include/data/text/item_descriptions.h329
-rw-r--r--include/decoration.h3
-rw-r--r--include/easy_chat.h32
-rw-r--r--include/event_scripts.h130
-rw-r--r--include/fieldmap.h23
-rw-r--r--include/fldeff_80F9BCC.h1
-rw-r--r--include/fldeff_cut.h7
-rw-r--r--include/fldeff_groundshake.h6
-rw-r--r--include/global.h157
-rw-r--r--include/graphics.h495
-rw-r--r--include/item.h63
-rw-r--r--include/item_menu.h2
-rw-r--r--include/item_use.h2
-rw-r--r--include/load_save.h26
-rw-r--r--include/mauville_old_man.h13
-rw-r--r--include/overworld.h4
-rw-r--r--include/palette.h2
-rw-r--r--include/pokenav.h1
-rw-r--r--include/script_menu.h3
-rw-r--r--include/secret_base.h3
-rw-r--r--include/strings.h22
-rw-r--r--include/trader.h2
-rw-r--r--include/trainer_card.h35
-rw-r--r--include/tv.h1
32 files changed, 7747 insertions, 138 deletions
diff --git a/include/bard_music.h b/include/bard_music.h
index 7d9ca633e..9d3d0ad22 100644
--- a/include/bard_music.h
+++ b/include/bard_music.h
@@ -9,7 +9,7 @@ struct BardSound
/*0x00*/ u8 var00;
/*0x01*/ s8 var01;
/*0x02*/ u16 var02;
- /*0x04*/ u16 volume;
+ /*0x04*/ s16 volume;
/*0x06*/ u16 var06;
};
@@ -39,5 +39,7 @@ struct BardSong
// Exported ROM declarations
extern const u16 gUnknown_085F5490;
+const struct BardSound *GetWordSounds(u16 word);
+void GetWordPhonemes(struct BardSong *song, u16 word);
#endif //GUARD_BARD_MUSIC_H
diff --git a/include/battle_frontier_2.h b/include/battle_frontier_2.h
index 638ff692e..3f8f8049d 100644
--- a/include/battle_frontier_2.h
+++ b/include/battle_frontier_2.h
@@ -7,5 +7,6 @@ u16 sub_81A89A0(u8);
void sub_81A8AF8(void);
bool8 InBattlePike(void);
void sub_819FA50(void);
+void sub_81AA078(u16*, u8);
#endif // GUARD_BATTLE_FRONTIER_2_H
diff --git a/include/battle_records.h b/include/battle_records.h
new file mode 100644
index 000000000..88ff6adc9
--- /dev/null
+++ b/include/battle_records.h
@@ -0,0 +1,12 @@
+#ifndef GUARD_BATTLE_RECORDS_H
+#define GUARD_BATTLE_RECORDS_H
+
+extern u8 gRecordsWindowId;
+
+void ClearPlayerLinkBattleRecords(void);
+void UpdatePlayerLinkBattleRecords(s32 battlerId);
+void ShowLinkBattleRecords(void);
+void RemoveRecordsWindow(void);
+void ShowTrainerHillRecords(void);
+
+#endif // GUARD_BATTLE_RECORDS_H
diff --git a/include/bg.h b/include/bg.h
index de3897fa4..ea84c1573 100644
--- a/include/bg.h
+++ b/include/bg.h
@@ -68,7 +68,7 @@ void UnsetBgTilemapBuffer(u8 bg);
void* GetBgTilemapBuffer(u8 bg);
void CopyToBgTilemapBuffer(u8 bg, const void *src, u16 mode, u16 destOffset);
void CopyBgTilemapBufferToVram(u8 bg);
-void CopyToBgTilemapBufferRect(u8 bg, void* src, u8 destX, u8 destY, u8 width, u8 height);
+void CopyToBgTilemapBufferRect(u8 bg, const void* src, u8 destX, u8 destY, u8 width, u8 height);
void CopyToBgTilemapBufferRect_ChangePalette(u8 bg, void *src, u8 destX, u8 destY, u8 rectWidth, u8 rectHeight, u8 palette);
void CopyRectToBgTilemapBufferRect(u8 bg, const void *src, u8 srcX, u8 srcY, u8 srcWidth, u8 srcHeight, u8 destX, u8 destY, u8 rectWidth, u8 rectHeight, u8 palette1, u16 tileOffset, u16 palette2);
void FillBgTilemapBufferRect_Palette0(u8 bg, u16 tileNum, u8 x, u8 y, u8 width, u8 height);
diff --git a/include/constants/decorations.h b/include/constants/decorations.h
index 2e3558721..b9f626d24 100644
--- a/include/constants/decorations.h
+++ b/include/constants/decorations.h
@@ -122,5 +122,6 @@
#define DECOR_REGIROCK_DOLL 118
#define DECOR_REGICE_DOLL 119
#define DECOR_REGISTEEL_DOLL 120
+#define NUM_DECORATIONS DECOR_REGISTEEL_DOLL
#endif // GUARD_CONSTANTS_DECORATIONS_H
diff --git a/include/constants/items.h b/include/constants/items.h
index 8717ecbd5..4ca5cb7df 100644
--- a/include/constants/items.h
+++ b/include/constants/items.h
@@ -108,6 +108,8 @@
#define ITEM_064 100
#define ITEM_065 101
#define ITEM_066 102
+
+// Unusable
#define ITEM_TINY_MUSHROOM 103
#define ITEM_BIG_MUSHROOM 104
#define ITEM_069 105
@@ -126,6 +128,8 @@
#define ITEM_076 118
#define ITEM_077 119
#define ITEM_078 120
+
+// Mails
#define ITEM_ORANGE_MAIL 121
#define ITEM_HARBOR_MAIL 122
#define ITEM_GLITTER_MAIL 123
@@ -138,6 +142,8 @@
#define ITEM_DREAM_MAIL 130
#define ITEM_FAB_MAIL 131
#define ITEM_RETRO_MAIL 132
+
+// Berries
#define ITEM_CHERI_BERRY 133
#define ITEM_CHESTO_BERRY 134
#define ITEM_PECHA_BERRY 135
@@ -185,7 +191,7 @@
#define ITEM_0B1 177
#define ITEM_0B2 178
-// hold items
+// Battle Held items
#define ITEM_BRIGHT_POWDER 179
#define ITEM_WHITE_HERB 180
#define ITEM_MACHO_BRACE 181
@@ -261,6 +267,8 @@
#define ITEM_0FB 251
#define ITEM_0FC 252
#define ITEM_0FD 253
+
+// Contest held items
#define ITEM_RED_SCARF 254
#define ITEM_BLUE_SCARF 255
#define ITEM_PINK_SCARF 256
diff --git a/include/data/item_icon_table.h b/include/data/item_icon_table.h
new file mode 100644
index 000000000..0a24c0572
--- /dev/null
+++ b/include/data/item_icon_table.h
@@ -0,0 +1,414 @@
+#ifndef GUARD_DATA_ITEM_ICON_TABLE_H
+#define GUARD_DATA_ITEM_ICON_TABLE_H
+
+#include "global.h"
+#include "graphics.h"
+
+const u8 * const gItemIconTable[][2] =
+{
+ gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
+// Pokeballs
+ gItemIcon_MasterBall, gItemIconPalette_MasterBall,
+ gItemIcon_UltraBall, gItemIconPalette_UltraBall,
+ gItemIcon_GreatBall, gItemIconPalette_GreatBall,
+ gItemIcon_PokeBall, gItemIconPalette_PokeBall,
+ gItemIcon_SafariBall, gItemIconPalette_SafariBall,
+ gItemIcon_NetBall, gItemIconPalette_NetBall,
+ gItemIcon_DiveBall, gItemIconPalette_DiveBall,
+ gItemIcon_NestBall, gItemIconPalette_NestBall,
+ gItemIcon_RepeatBall, gItemIconPalette_RepeatBall,
+ gItemIcon_TimerBall, gItemIconPalette_RepeatBall,
+ gItemIcon_LuxuryBall, gItemIconPalette_LuxuryBall,
+ gItemIcon_PremierBall, gItemIconPalette_LuxuryBall,
+// Medicine
+ gItemIcon_Potion, gItemIconPalette_Potion,
+ gItemIcon_Antidote, gItemIconPalette_Antidote,
+ gItemIcon_StatusHeal, gItemIconPalette_BurnHeal,
+ gItemIcon_StatusHeal, gItemIconPalette_IceHeal,
+ gItemIcon_StatusHeal, gItemIconPalette_Awakening,
+ gItemIcon_StatusHeal, gItemIconPalette_ParalyzeHeal,
+ gItemIcon_LargePotion, gItemIconPalette_FullRestore,
+ gItemIcon_LargePotion, gItemIconPalette_MaxPotion,
+ gItemIcon_Potion, gItemIconPalette_HyperPotion,
+ gItemIcon_Potion, gItemIconPalette_SuperPotion,
+ gItemIcon_FullHeal, gItemIconPalette_FullHeal,
+ gItemIcon_Revive, gItemIconPalette_Revive,
+ gItemIcon_MaxRevive, gItemIconPalette_Revive,
+ gItemIcon_FreshWater, gItemIconPalette_FreshWater,
+ gItemIcon_SodaPop, gItemIconPalette_SodaPop,
+ gItemIcon_Lemonade, gItemIconPalette_Lemonade,
+ gItemIcon_MoomooMilk, gItemIconPalette_MoomooMilk,
+ gItemIcon_Powder, gItemIconPalette_EnergyPowder,
+ gItemIcon_EnergyRoot, gItemIconPalette_EnergyRoot,
+ gItemIcon_Powder, gItemIconPalette_HealPowder,
+ gItemIcon_RevivalHerb, gItemIconPalette_RevivalHerb,
+ gItemIcon_Ether, gItemIconPalette_Ether,
+ gItemIcon_Ether, gItemIconPalette_MaxEther,
+ gItemIcon_Ether, gItemIconPalette_Elixir,
+ gItemIcon_Ether, gItemIconPalette_MaxElixir,
+ gItemIcon_LavaCookie, gItemIconPalette_LavaCookieAndLetter,
+ gItemIcon_Flute, gItemIconPalette_BlueFlute,
+ gItemIcon_Flute, gItemIconPalette_YellowFlute,
+ gItemIcon_Flute, gItemIconPalette_RedFlute,
+ gItemIcon_Flute, gItemIconPalette_BlackFlute,
+ gItemIcon_Flute, gItemIconPalette_WhiteFlute,
+ gItemIcon_BerryJuice, gItemIconPalette_BerryJuice,
+ gItemIcon_SacredAsh, gItemIconPalette_SacredAsh,
+// Collectibles
+ gItemIcon_Powder, gItemIconPalette_ShoalSalt,
+ gItemIcon_ShoalShell, gItemIconPalette_Shell,
+ gItemIcon_Shard, gItemIconPalette_RedShard,
+ gItemIcon_Shard, gItemIconPalette_BlueShard,
+ gItemIcon_Shard, gItemIconPalette_YellowShard,
+ gItemIcon_Shard, gItemIconPalette_GreenShard,
+// ????????
+ gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
+ gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
+ gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
+ gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
+ gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
+ gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
+ gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
+ gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
+ gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
+ gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
+ gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
+// Vitamins
+ gItemIcon_HPUp, gItemIconPalette_HPUp,
+ gItemIcon_Vitamin, gItemIconPalette_Protein,
+ gItemIcon_Vitamin, gItemIconPalette_Iron,
+ gItemIcon_Vitamin, gItemIconPalette_Carbos,
+ gItemIcon_Vitamin, gItemIconPalette_Calcium,
+ gItemIcon_RareCandy, gItemIconPalette_RareCandy,
+ gItemIcon_PPUp, gItemIconPalette_PPUp,
+ gItemIcon_Vitamin, gItemIconPalette_Zinc,
+ gItemIcon_PPMax, gItemIconPalette_PPMax,
+// ????????
+ gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
+// Battle items
+ gItemIcon_BattleStatItem, gItemIconPalette_GuardSpec,
+ gItemIcon_BattleStatItem, gItemIconPalette_DireHit,
+ gItemIcon_BattleStatItem, gItemIconPalette_XAttack,
+ gItemIcon_BattleStatItem, gItemIconPalette_XDefend,
+ gItemIcon_BattleStatItem, gItemIconPalette_XSpeed,
+ gItemIcon_BattleStatItem, gItemIconPalette_XAccuracy,
+ gItemIcon_BattleStatItem, gItemIconPalette_XSpecial,
+ gItemIcon_PokeDoll, gItemIconPalette_PokeDoll,
+ gItemIcon_FluffyTail, gItemIconPalette_FluffyTail,
+// ????????
+ gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
+// Field items
+ gItemIcon_Repel, gItemIconPalette_SuperRepel,
+ gItemIcon_Repel, gItemIconPalette_MaxRepel,
+ gItemIcon_EscapeRope, gItemIconPalette_EscapeRope,
+ gItemIcon_Repel, gItemIconPalette_Repel,
+// ????????
+ gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
+ gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
+ gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
+ gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
+ gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
+ gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
+// Evolution stones
+ gItemIcon_SunStone, gItemIconPalette_SunStone,
+ gItemIcon_MoonStone, gItemIconPalette_MoonStone,
+ gItemIcon_FireStone, gItemIconPalette_FireStone,
+ gItemIcon_ThunderStone, gItemIconPalette_ThunderStone,
+ gItemIcon_WaterStone, gItemIconPalette_WaterStone,
+ gItemIcon_LeafStone, gItemIconPalette_LeafStone,
+// ????????
+ gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
+ gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
+ gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
+ gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
+// Valuables
+ gItemIcon_TinyMushroom, gItemIconPalette_Mushroom,
+ gItemIcon_BigMushroom, gItemIconPalette_Mushroom,
+ gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
+ gItemIcon_Pearl, gItemIconPalette_Pearl,
+ gItemIcon_BigPearl, gItemIconPalette_Pearl,
+ gItemIcon_Stardust, gItemIconPalette_Star,
+ gItemIcon_StarPiece, gItemIconPalette_Star,
+ gItemIcon_Nugget, gItemIconPalette_Nugget,
+ gItemIcon_HeartScale, gItemIconPalette_HeartScale,
+// ????????
+ gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
+ gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
+ gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
+ gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
+ gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
+ gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
+ gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
+ gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
+ gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
+// Mail
+ gItemIcon_OrangeMail, gItemIconPalette_OrangeMail,
+ gItemIcon_HarborMail, gItemIconPalette_HarborMail,
+ gItemIcon_GlitterMail, gItemIconPalette_GlitterMail,
+ gItemIcon_MechMail, gItemIconPalette_MechMail,
+ gItemIcon_WoodMail, gItemIconPalette_WoodMail,
+ gItemIcon_WaveMail, gItemIconPalette_WaveMail,
+ gItemIcon_BeadMail, gItemIconPalette_BeadMail,
+ gItemIcon_ShadowMail, gItemIconPalette_ShadowMail,
+ gItemIcon_TropicMail, gItemIconPalette_TropicMail,
+ gItemIcon_DreamMail, gItemIconPalette_DreamMail,
+ gItemIcon_FabMail, gItemIconPalette_FabMail,
+ gItemIcon_RetroMail, gItemIconPalette_RetroMail,
+// Berries
+ gItemIcon_CheriBerry, gItemIconPalette_CheriBerry,
+ gItemIcon_ChestoBerry, gItemIconPalette_ChestoBerry,
+ gItemIcon_PechaBerry, gItemIconPalette_PechaBerry,
+ gItemIcon_RawstBerry, gItemIconPalette_RawstBerry,
+ gItemIcon_AspearBerry, gItemIconPalette_AspearBerry,
+ gItemIcon_LeppaBerry, gItemIconPalette_LeppaBerry,
+ gItemIcon_OranBerry, gItemIconPalette_OranBerry,
+ gItemIcon_PersimBerry, gItemIconPalette_PersimBerry,
+ gItemIcon_LumBerry, gItemIconPalette_LumBerry,
+ gItemIcon_SitrusBerry, gItemIconPalette_SitrusBerry,
+ gItemIcon_FigyBerry, gItemIconPalette_FigyBerry,
+ gItemIcon_WikiBerry, gItemIconPalette_WikiBerry,
+ gItemIcon_MagoBerry, gItemIconPalette_MagoBerry,
+ gItemIcon_AguavBerry, gItemIconPalette_AguavBerry,
+ gItemIcon_IapapaBerry, gItemIconPalette_IapapaBerry,
+ gItemIcon_RazzBerry, gItemIconPalette_RazzBerry,
+ gItemIcon_BlukBerry, gItemIconPalette_BlukBerry,
+ gItemIcon_NanabBerry, gItemIconPalette_NanabBerry,
+ gItemIcon_WepearBerry, gItemIconPalette_WepearBerry,
+ gItemIcon_PinapBerry, gItemIconPalette_PinapBerry,
+ gItemIcon_PomegBerry, gItemIconPalette_PomegBerry,
+ gItemIcon_KelpsyBerry, gItemIconPalette_KelpsyBerry,
+ gItemIcon_QualotBerry, gItemIconPalette_QualotBerry,
+ gItemIcon_HondewBerry, gItemIconPalette_HondewBerry,
+ gItemIcon_GrepaBerry, gItemIconPalette_GrepaBerry,
+ gItemIcon_TamatoBerry, gItemIconPalette_TamatoBerry,
+ gItemIcon_CornnBerry, gItemIconPalette_CornnBerry,
+ gItemIcon_MagostBerry, gItemIconPalette_MagostBerry,
+ gItemIcon_RabutaBerry, gItemIconPalette_RabutaBerry,
+ gItemIcon_NomelBerry, gItemIconPalette_NomelBerry,
+ gItemIcon_SpelonBerry, gItemIconPalette_SpelonBerry,
+ gItemIcon_PamtreBerry, gItemIconPalette_PamtreBerry,
+ gItemIcon_WatmelBerry, gItemIconPalette_WatmelBerry,
+ gItemIcon_DurinBerry, gItemIconPalette_DurinBerry,
+ gItemIcon_BelueBerry, gItemIconPalette_BelueBerry,
+ gItemIcon_LiechiBerry, gItemIconPalette_LiechiBerry,
+ gItemIcon_GanlonBerry, gItemIconPalette_GanlonBerry,
+ gItemIcon_SalacBerry, gItemIconPalette_SalacBerry,
+ gItemIcon_PetayaBerry, gItemIconPalette_PetayaBerry,
+ gItemIcon_ApicotBerry, gItemIconPalette_ApicotBerry,
+ gItemIcon_LansatBerry, gItemIconPalette_LansatBerry,
+ gItemIcon_StarfBerry, gItemIconPalette_StarfBerry,
+ gItemIcon_EnigmaBerry, gItemIconPalette_EnigmaBerry,
+// ????????
+ gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
+ gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
+ gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
+// Hold items
+ gItemIcon_BrightPowder, gItemIconPalette_BrightPowder,
+ gItemIcon_InBattleHerb, gItemIconPalette_WhiteHerb,
+ gItemIcon_MachoBrace, gItemIconPalette_MachoBrace,
+ gItemIcon_ExpShare, gItemIconPalette_ExpShare,
+ gItemIcon_QuickClaw, gItemIconPalette_QuickClaw,
+ gItemIcon_SootheBell, gItemIconPalette_SootheBell,
+ gItemIcon_InBattleHerb, gItemIconPalette_MentalHerb,
+ gItemIcon_ChoiceBand, gItemIconPalette_ChoiceBand,
+ gItemIcon_KingsRock, gItemIconPalette_KingsRock,
+ gItemIcon_SilverPowder, gItemIconPalette_SilverPowder,
+ gItemIcon_AmuletCoin, gItemIconPalette_AmuletCoin,
+ gItemIcon_CleanseTag, gItemIconPalette_CleanseTag,
+ gItemIcon_SoulDew, gItemIconPalette_SoulDew,
+ gItemIcon_DeepSeaTooth, gItemIconPalette_DeepSeaTooth,
+ gItemIcon_DeepSeaScale, gItemIconPalette_DeepSeaScale,
+ gItemIcon_SmokeBall, gItemIconPalette_SmokeBall,
+ gItemIcon_Everstone, gItemIconPalette_Everstone,
+ gItemIcon_FocusBand, gItemIconPalette_FocusBand,
+ gItemIcon_LuckyEgg, gItemIconPalette_LuckyEgg,
+ gItemIcon_ScopeLens, gItemIconPalette_ScopeLens,
+ gItemIcon_MetalCoat, gItemIconPalette_MetalCoat,
+ gItemIcon_Leftovers, gItemIconPalette_Leftovers,
+ gItemIcon_DragonScale, gItemIconPalette_DragonScale,
+ gItemIcon_LightBall, gItemIconPalette_LightBall,
+ gItemIcon_SoftSand, gItemIconPalette_SoftSand,
+ gItemIcon_HardStone, gItemIconPalette_HardStone,
+ gItemIcon_MiracleSeed, gItemIconPalette_MiracleSeed,
+ gItemIcon_BlackGlasses, gItemIconPalette_BlackTypeEnhancingItem,
+ gItemIcon_BlackBelt, gItemIconPalette_BlackTypeEnhancingItem,
+ gItemIcon_Magnet, gItemIconPalette_Magnet,
+ gItemIcon_MysticWater, gItemIconPalette_MysticWater,
+ gItemIcon_SharpBeak, gItemIconPalette_SharpBeak,
+ gItemIcon_PoisonBarb, gItemIconPalette_PoisonBarb,
+ gItemIcon_NeverMeltIce, gItemIconPalette_NeverMeltIce,
+ gItemIcon_SpellTag, gItemIconPalette_SpellTag,
+ gItemIcon_TwistedSpoon, gItemIconPalette_TwistedSpoon,
+ gItemIcon_Charcoal, gItemIconPalette_Charcoal,
+ gItemIcon_DragonFang, gItemIconPalette_DragonFang,
+ gItemIcon_SilkScarf, gItemIconPalette_SilkScarf,
+ gItemIcon_UpGrade, gItemIconPalette_UpGrade,
+ gItemIcon_ShellBell, gItemIconPalette_Shell,
+ gItemIcon_SeaIncense, gItemIconPalette_SeaIncense,
+ gItemIcon_LaxIncense, gItemIconPalette_LaxIncense,
+ gItemIcon_LuckyPunch, gItemIconPalette_LuckyPunch,
+ gItemIcon_MetalPowder, gItemIconPalette_MetalPowder,
+ gItemIcon_ThickClub, gItemIconPalette_ThickClub,
+ gItemIcon_Stick, gItemIconPalette_Stick,
+// ????????
+ gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
+ gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
+ gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
+ gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
+ gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
+ gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
+ gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
+ gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
+ gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
+ gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
+ gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
+ gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
+ gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
+ gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
+ gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
+ gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
+ gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
+ gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
+ gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
+ gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
+ gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
+ gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
+ gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
+ gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
+ gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
+ gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
+ gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
+ gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
+// Contest hold items
+ gItemIcon_Scarf, gItemIconPalette_RedScarf,
+ gItemIcon_Scarf, gItemIconPalette_BlueScarf,
+ gItemIcon_Scarf, gItemIconPalette_PinkScarf,
+ gItemIcon_Scarf, gItemIconPalette_GreenScarf,
+ gItemIcon_Scarf, gItemIconPalette_YellowScarf,
+// Key items
+ gItemIcon_MachBike, gItemIconPalette_MachBike,
+ gItemIcon_CoinCase, gItemIconPalette_CoinCase,
+ gItemIcon_Itemfinder, gItemIconPalette_Itemfinder,
+ gItemIcon_OldRod, gItemIconPalette_OldRod,
+ gItemIcon_GoodRod, gItemIconPalette_GoodRod,
+ gItemIcon_SuperRod, gItemIconPalette_SuperRod,
+ gItemIcon_SSTicket, gItemIconPalette_SSTicket,
+ gItemIcon_ContestPass, gItemIconPalette_ContestPass,
+ gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
+ gItemIcon_WailmerPail, gItemIconPalette_WailmerPail,
+ gItemIcon_DevonGoods, gItemIconPalette_DevonGoods,
+ gItemIcon_SootSack, gItemIconPalette_SootSack,
+ gItemIcon_BasementKey, gItemIconPalette_OldKey,
+ gItemIcon_AcroBike, gItemIconPalette_AcroBike,
+ gItemIcon_PokeblockCase, gItemIconPalette_PokeblockCase,
+ gItemIcon_Letter, gItemIconPalette_LavaCookieAndLetter,
+ gItemIcon_EonTicket, gItemIconPalette_EonTicket,
+ gItemIcon_Orb, gItemIconPalette_RedOrb,
+ gItemIcon_Orb, gItemIconPalette_BlueOrb,
+ gItemIcon_Scanner, gItemIconPalette_Scanner,
+ gItemIcon_GoGoggles, gItemIconPalette_GoGoggles,
+ gItemIcon_Meteorite, gItemIconPalette_Meteorite,
+ gItemIcon_Room1Key, gItemIconPalette_Key,
+ gItemIcon_Room2Key, gItemIconPalette_Key,
+ gItemIcon_Room4Key, gItemIconPalette_Key,
+ gItemIcon_Room6Key, gItemIconPalette_Key,
+ gItemIcon_StorageKey, gItemIconPalette_OldKey,
+ gItemIcon_RootFossil, gItemIconPalette_HoennFossil,
+ gItemIcon_ClawFossil, gItemIconPalette_HoennFossil,
+ gItemIcon_DevonScope, gItemIconPalette_DevonScope,
+// TMs/HMs
+ gItemIcon_TM, gItemIconPalette_FightingTMHM, // TM01
+ gItemIcon_TM, gItemIconPalette_DragonTMHM, // TM02
+ gItemIcon_TM, gItemIconPalette_WaterTMHM, // TM03
+ gItemIcon_TM, gItemIconPalette_PsychicTMHM, // TM04
+ gItemIcon_TM, gItemIconPalette_NormalTMHM, // TM05
+ gItemIcon_TM, gItemIconPalette_PoisonTMHM, // TM06
+ gItemIcon_TM, gItemIconPalette_IceTMHM, // TM07
+ gItemIcon_TM, gItemIconPalette_FightingTMHM, // TM08
+ gItemIcon_TM, gItemIconPalette_GrassTMHM, // TM09
+ gItemIcon_TM, gItemIconPalette_NormalTMHM, // TM10
+ gItemIcon_TM, gItemIconPalette_FireTMHM, // TM11
+ gItemIcon_TM, gItemIconPalette_DarkTMHM, // TM12
+ gItemIcon_TM, gItemIconPalette_IceTMHM, // TM13
+ gItemIcon_TM, gItemIconPalette_IceTMHM, // TM14
+ gItemIcon_TM, gItemIconPalette_NormalTMHM, // TM15
+ gItemIcon_TM, gItemIconPalette_PsychicTMHM, // TM16
+ gItemIcon_TM, gItemIconPalette_NormalTMHM, // TM17
+ gItemIcon_TM, gItemIconPalette_WaterTMHM, // TM18
+ gItemIcon_TM, gItemIconPalette_GrassTMHM, // TM19
+ gItemIcon_TM, gItemIconPalette_NormalTMHM, // TM20
+ gItemIcon_TM, gItemIconPalette_NormalTMHM, // TM21
+ gItemIcon_TM, gItemIconPalette_GrassTMHM, // TM22
+ gItemIcon_TM, gItemIconPalette_SteelTMHM, // TM23
+ gItemIcon_TM, gItemIconPalette_ElectricTMHM, // TM24
+ gItemIcon_TM, gItemIconPalette_ElectricTMHM, // TM25
+ gItemIcon_TM, gItemIconPalette_GroundTMHM, // TM26
+ gItemIcon_TM, gItemIconPalette_NormalTMHM, // TM27
+ gItemIcon_TM, gItemIconPalette_GroundTMHM, // TM28
+ gItemIcon_TM, gItemIconPalette_PsychicTMHM, // TM29
+ gItemIcon_TM, gItemIconPalette_GhostTMHM, // TM30
+ gItemIcon_TM, gItemIconPalette_FightingTMHM, // TM31
+ gItemIcon_TM, gItemIconPalette_NormalTMHM, // TM32
+ gItemIcon_TM, gItemIconPalette_PsychicTMHM, // TM33
+ gItemIcon_TM, gItemIconPalette_ElectricTMHM, // TM34
+ gItemIcon_TM, gItemIconPalette_FireTMHM, // TM35
+ gItemIcon_TM, gItemIconPalette_PoisonTMHM, // TM36
+ gItemIcon_TM, gItemIconPalette_RockTMHM, // TM37
+ gItemIcon_TM, gItemIconPalette_FireTMHM, // TM38
+ gItemIcon_TM, gItemIconPalette_RockTMHM, // TM39
+ gItemIcon_TM, gItemIconPalette_FlyingTMHM, // TM40
+ gItemIcon_TM, gItemIconPalette_DarkTMHM, // TM41
+ gItemIcon_TM, gItemIconPalette_NormalTMHM, // TM42
+ gItemIcon_TM, gItemIconPalette_NormalTMHM, // TM43
+ gItemIcon_TM, gItemIconPalette_PsychicTMHM, // TM44
+ gItemIcon_TM, gItemIconPalette_NormalTMHM, // TM45
+ gItemIcon_TM, gItemIconPalette_DarkTMHM, // TM46
+ gItemIcon_TM, gItemIconPalette_SteelTMHM, // TM47
+ gItemIcon_TM, gItemIconPalette_PsychicTMHM, // TM48
+ gItemIcon_TM, gItemIconPalette_DarkTMHM, // TM49
+ gItemIcon_TM, gItemIconPalette_FireTMHM, // TM50
+ gItemIcon_HM, gItemIconPalette_NormalTMHM, // HM01
+ gItemIcon_HM, gItemIconPalette_FlyingTMHM, // HM02
+ gItemIcon_HM, gItemIconPalette_WaterTMHM, // HM03
+ gItemIcon_HM, gItemIconPalette_NormalTMHM, // HM04
+ gItemIcon_HM, gItemIconPalette_NormalTMHM, // HM05
+ gItemIcon_HM, gItemIconPalette_FightingTMHM, // HM06
+ gItemIcon_HM, gItemIconPalette_WaterTMHM, // HM07
+ gItemIcon_HM, gItemIconPalette_WaterTMHM, // HM08
+// ????????
+ gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
+ gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
+// FireRed/LeafGreen key items
+ gItemIcon_OaksParcel, gItemIconPalette_OaksParcel,
+ gItemIcon_PokeFlute, gItemIconPalette_PokeFlute,
+ gItemIcon_SecretKey, gItemIconPalette_SecretKey,
+ gItemIcon_BikeVoucher, gItemIconPalette_BikeVoucher,
+ gItemIcon_GoldTeeth, gItemIconPalette_GoldTeeth,
+ gItemIcon_OldAmber, gItemIconPalette_OldAmber,
+ gItemIcon_CardKey, gItemIconPalette_CardKey,
+ gItemIcon_LiftKey, gItemIconPalette_Key,
+ gItemIcon_HelixFossil, gItemIconPalette_KantoFossil,
+ gItemIcon_DomeFossil, gItemIconPalette_KantoFossil,
+ gItemIcon_SilphScope, gItemIconPalette_SilphScope,
+ gItemIcon_Bicycle, gItemIconPalette_Bicycle,
+ gItemIcon_TownMap, gItemIconPalette_TownMap,
+ gItemIcon_VSSeeker, gItemIconPalette_VSSeeker,
+ gItemIcon_FameChecker, gItemIconPalette_FameChecker,
+ gItemIcon_TMCase, gItemIconPalette_TMCase,
+ gItemIcon_BerryPouch, gItemIconPalette_BerryPouch,
+ gItemIcon_TeachyTV, gItemIconPalette_TeachyTV,
+ gItemIcon_TriPass, gItemIconPalette_TriPass,
+ gItemIcon_RainbowPass, gItemIconPalette_RainbowPass,
+ gItemIcon_Tea, gItemIconPalette_Tea,
+ gItemIcon_MysticTicket, gItemIconPalette_MysticTicket,
+ gItemIcon_AuroraTicket, gItemIconPalette_AuroraTicket,
+ gItemIcon_PowderJar, gItemIconPalette_PowderJar,
+ gItemIcon_Gem, gItemIconPalette_Ruby,
+ gItemIcon_Gem, gItemIconPalette_Sapphire,
+// Emerald-only key items
+ gItemIcon_MagmaEmblem, gItemIconPalette_MagmaEmblem,
+ gItemIcon_OldSeaMap, gItemIconPalette_OldSeaMap,
+// Return to field arrow
+ gItemIcon_ReturnToFieldArrow, gItemIconPalette_ReturnToFieldArrow,
+};
+#endif // GUARD_DATA_ITEM_ICON_TABLE_H
diff --git a/include/data/items.h b/include/data/items.h
new file mode 100644
index 000000000..49f981faf
--- /dev/null
+++ b/include/data/items.h
@@ -0,0 +1,6079 @@
+const struct Item gItems[] =
+{
+ {
+ .name = _("????????"),
+ .itemId = ITEM_NONE,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gDummyItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+
+//Pokeballs
+
+ {
+ .name = _("MASTER BALL"),
+ .itemId = ITEM_MASTER_BALL,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gMasterBallItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_POKE_BALLS,
+ .type = 0,
+ .fieldUseFunc = NULL,
+ .battleUsage = 2,
+ .battleUseFunc = ItemUseInBattle_PokeBall,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("ULTRA BALL"),
+ .itemId = ITEM_ULTRA_BALL,
+ .price = 1200,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gUltraBallItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_POKE_BALLS,
+ .type = 1,
+ .fieldUseFunc = NULL,
+ .battleUsage = 2,
+ .battleUseFunc = ItemUseInBattle_PokeBall,
+ .secondaryId = 1,
+ },
+ {
+ .name = _("GREAT BALL"),
+ .itemId = ITEM_GREAT_BALL,
+ .price = 600,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gGreatBallItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_POKE_BALLS,
+ .type = 2,
+ .fieldUseFunc = NULL,
+ .battleUsage = 2,
+ .battleUseFunc = ItemUseInBattle_PokeBall,
+ .secondaryId = 2,
+ },
+ {
+ .name = _("POKé BALL"),
+ .itemId = ITEM_POKE_BALL,
+ .price = 200,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gPokeBallItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_POKE_BALLS,
+ .type = 3,
+ .fieldUseFunc = NULL,
+ .battleUsage = 2,
+ .battleUseFunc = ItemUseInBattle_PokeBall,
+ .secondaryId = 3,
+ },
+ {
+ .name = _("SAFARI BALL"),
+ .itemId = ITEM_SAFARI_BALL,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gSafariBallItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_POKE_BALLS,
+ .type = 4,
+ .fieldUseFunc = NULL,
+ .battleUsage = 2,
+ .battleUseFunc = ItemUseInBattle_PokeBall,
+ .secondaryId = 4,
+ },
+ {
+ .name = _("NET BALL"),
+ .itemId = ITEM_NET_BALL,
+ .price = 1000,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gNetBallItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_POKE_BALLS,
+ .type = 5,
+ .fieldUseFunc = NULL,
+ .battleUsage = 2,
+ .battleUseFunc = ItemUseInBattle_PokeBall,
+ .secondaryId = 5,
+ },
+ {
+ .name = _("DIVE BALL"),
+ .itemId = ITEM_DIVE_BALL,
+ .price = 1000,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gDiveBallItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_POKE_BALLS,
+ .type = 6,
+ .fieldUseFunc = NULL,
+ .battleUsage = 2,
+ .battleUseFunc = ItemUseInBattle_PokeBall,
+ .secondaryId = 6,
+ },
+ {
+ .name = _("NEST BALL"),
+ .itemId = ITEM_NEST_BALL,
+ .price = 1000,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gNestBallItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_POKE_BALLS,
+ .type = 7,
+ .fieldUseFunc = NULL,
+ .battleUsage = 2,
+ .battleUseFunc = ItemUseInBattle_PokeBall,
+ .secondaryId = 7,
+ },
+ {
+ .name = _("REPEAT BALL"),
+ .itemId = ITEM_REPEAT_BALL,
+ .price = 1000,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gRepeatBallItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_POKE_BALLS,
+ .type = 8,
+ .fieldUseFunc = NULL,
+ .battleUsage = 2,
+ .battleUseFunc = ItemUseInBattle_PokeBall,
+ .secondaryId = 8,
+ },
+ {
+ .name = _("TIMER BALL"),
+ .itemId = ITEM_TIMER_BALL,
+ .price = 1000,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gTimerBallItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_POKE_BALLS,
+ .type = 9,
+ .fieldUseFunc = NULL,
+ .battleUsage = 2,
+ .battleUseFunc = ItemUseInBattle_PokeBall,
+ .secondaryId = 9,
+ },
+ {
+ .name = _("LUXURY BALL"),
+ .itemId = ITEM_LUXURY_BALL,
+ .price = 1000,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gLuxuryBallItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_POKE_BALLS,
+ .type = 10,
+ .fieldUseFunc = NULL,
+ .battleUsage = 2,
+ .battleUseFunc = ItemUseInBattle_PokeBall,
+ .secondaryId = 10,
+ },
+ {
+ .name = _("PREMIER BALL"),
+ .itemId = ITEM_PREMIER_BALL,
+ .price = 200,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gPremierBallItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_POKE_BALLS,
+ .type = 11,
+ .fieldUseFunc = NULL,
+ .battleUsage = 2,
+ .battleUseFunc = ItemUseInBattle_PokeBall,
+ .secondaryId = 11,
+ },
+
+//Medicine
+
+ {
+ .name = _("POTION"),
+ .itemId = ITEM_POTION,
+ .price = 300,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 20,
+ .description = gPotionItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_Medicine,
+ .battleUsage = 1,
+ .battleUseFunc = ItemUseInBattle_Medicine,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("ANTIDOTE"),
+ .itemId = ITEM_ANTIDOTE,
+ .price = 100,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gAntidoteItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_Medicine,
+ .battleUsage = 1,
+ .battleUseFunc = ItemUseInBattle_Medicine,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("BURN HEAL"),
+ .itemId = ITEM_BURN_HEAL,
+ .price = 250,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gBurnHealItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_Medicine,
+ .battleUsage = 1,
+ .battleUseFunc = ItemUseInBattle_Medicine,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("ICE HEAL"),
+ .itemId = ITEM_ICE_HEAL,
+ .price = 250,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gIceHealItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_Medicine,
+ .battleUsage = 1,
+ .battleUseFunc = ItemUseInBattle_Medicine,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("AWAKENING"),
+ .itemId = ITEM_AWAKENING,
+ .price = 250,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gAwakeningItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_Medicine,
+ .battleUsage = 1,
+ .battleUseFunc = ItemUseInBattle_Medicine,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("PARLYZ HEAL"),
+ .itemId = ITEM_PARALYZE_HEAL,
+ .price = 200,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gParalyzeHealItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_Medicine,
+ .battleUsage = 1,
+ .battleUseFunc = ItemUseInBattle_Medicine,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("FULL RESTORE"),
+ .itemId = ITEM_FULL_RESTORE,
+ .price = 3000,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 255,
+ .description = gFullRestoreItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_Medicine,
+ .battleUsage = 1,
+ .battleUseFunc = ItemUseInBattle_Medicine,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("MAX POTION"),
+ .itemId = ITEM_MAX_POTION,
+ .price = 2500,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 255,
+ .description = gMaxPotionItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_Medicine,
+ .battleUsage = 1,
+ .battleUseFunc = ItemUseInBattle_Medicine,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("HYPER POTION"),
+ .itemId = ITEM_HYPER_POTION,
+ .price = 1200,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 200,
+ .description = gHyperPotionItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_Medicine,
+ .battleUsage = 1,
+ .battleUseFunc = ItemUseInBattle_Medicine,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("SUPER POTION"),
+ .itemId = ITEM_SUPER_POTION,
+ .price = 700,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 50,
+ .description = gSuperPotionItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_Medicine,
+ .battleUsage = 1,
+ .battleUseFunc = ItemUseInBattle_Medicine,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("FULL HEAL"),
+ .itemId = ITEM_FULL_HEAL,
+ .price = 600,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gFullHealItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_Medicine,
+ .battleUsage = 1,
+ .battleUseFunc = ItemUseInBattle_Medicine,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("REVIVE"),
+ .itemId = ITEM_REVIVE,
+ .price = 1500,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gReviveItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_Medicine,
+ .battleUsage = 1,
+ .battleUseFunc = ItemUseInBattle_Medicine,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("MAX REVIVE"),
+ .itemId = ITEM_MAX_REVIVE,
+ .price = 4000,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gMaxReviveItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_Medicine,
+ .battleUsage = 1,
+ .battleUseFunc = ItemUseInBattle_Medicine,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("FRESH WATER"),
+ .itemId = ITEM_FRESH_WATER,
+ .price = 200,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 50,
+ .description = gFreshWaterItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_Medicine,
+ .battleUsage = 1,
+ .battleUseFunc = ItemUseInBattle_Medicine,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("SODA POP"),
+ .itemId = ITEM_SODA_POP,
+ .price = 300,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 60,
+ .description = gSodaPopItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_Medicine,
+ .battleUsage = 1,
+ .battleUseFunc = ItemUseInBattle_Medicine,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("LEMONADE"),
+ .itemId = ITEM_LEMONADE,
+ .price = 350,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 80,
+ .description = gLemonadeItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_Medicine,
+ .battleUsage = 1,
+ .battleUseFunc = ItemUseInBattle_Medicine,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("MOOMOO MILK"),
+ .itemId = ITEM_MOOMOO_MILK,
+ .price = 500,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 100,
+ .description = gMoomooMilkItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_Medicine,
+ .battleUsage = 1,
+ .battleUseFunc = ItemUseInBattle_Medicine,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("ENERGYPOWDER"),
+ .itemId = ITEM_ENERGY_POWDER,
+ .price = 500,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gEnergyPowderItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_Medicine,
+ .battleUsage = 1,
+ .battleUseFunc = ItemUseInBattle_Medicine,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("ENERGY ROOT"),
+ .itemId = ITEM_ENERGY_ROOT,
+ .price = 800,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gEnergyRootItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_Medicine,
+ .battleUsage = 1,
+ .battleUseFunc = ItemUseInBattle_Medicine,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("HEAL POWDER"),
+ .itemId = ITEM_HEAL_POWDER,
+ .price = 450,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gHealPowderItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_Medicine,
+ .battleUsage = 1,
+ .battleUseFunc = ItemUseInBattle_Medicine,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("REVIVAL HERB"),
+ .itemId = ITEM_REVIVAL_HERB,
+ .price = 2800,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gRevivalHerbItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_Medicine,
+ .battleUsage = 1,
+ .battleUseFunc = ItemUseInBattle_Medicine,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("ETHER"),
+ .itemId = ITEM_ETHER,
+ .price = 1200,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 10,
+ .description = gEtherItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_PPRecovery,
+ .battleUsage = 1,
+ .battleUseFunc = ItemUseInBattle_PPRecovery,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("MAX ETHER"),
+ .itemId = ITEM_MAX_ETHER,
+ .price = 2000,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 255,
+ .description = gMaxEtherItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_PPRecovery,
+ .battleUsage = 1,
+ .battleUseFunc = ItemUseInBattle_PPRecovery,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("ELIXIR"),
+ .itemId = ITEM_ELIXIR,
+ .price = 3000,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 10,
+ .description = gElixirItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_PPRecovery,
+ .battleUsage = 1,
+ .battleUseFunc = ItemUseInBattle_PPRecovery,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("MAX ELIXIR"),
+ .itemId = ITEM_MAX_ELIXIR,
+ .price = 4500,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 255,
+ .description = gMaxElixirItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_PPRecovery,
+ .battleUsage = 1,
+ .battleUseFunc = ItemUseInBattle_PPRecovery,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("LAVA COOKIE"),
+ .itemId = ITEM_LAVA_COOKIE,
+ .price = 200,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gLavaCookieItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_Medicine,
+ .battleUsage = 1,
+ .battleUseFunc = ItemUseInBattle_Medicine,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("BLUE FLUTE"),
+ .itemId = ITEM_BLUE_FLUTE,
+ .price = 100,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gBlueFluteItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_Medicine,
+ .battleUsage = 1,
+ .battleUseFunc = ItemUseInBattle_Medicine,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("YELLOW FLUTE"),
+ .itemId = ITEM_YELLOW_FLUTE,
+ .price = 200,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gYellowFluteItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 1,
+ .battleUseFunc = ItemUseInBattle_Medicine,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("RED FLUTE"),
+ .itemId = ITEM_RED_FLUTE,
+ .price = 300,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gRedFluteItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 1,
+ .battleUseFunc = ItemUseInBattle_Medicine,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("BLACK FLUTE"),
+ .itemId = ITEM_BLACK_FLUTE,
+ .price = 400,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 50,
+ .description = gBlackFluteItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_BlackWhiteFlute,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("WHITE FLUTE"),
+ .itemId = ITEM_WHITE_FLUTE,
+ .price = 500,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 150,
+ .description = gWhiteFluteItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_BlackWhiteFlute,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("BERRY JUICE"),
+ .itemId = ITEM_BERRY_JUICE,
+ .price = 100,
+ .holdEffect = HOLD_EFFECT_RESTORE_HP,
+ .holdEffectParam = 20,
+ .description = gBerryJuiceItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_Medicine,
+ .battleUsage = 1,
+ .battleUseFunc = ItemUseInBattle_Medicine,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("SACRED ASH"),
+ .itemId = ITEM_SACRED_ASH,
+ .price = 200,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gSacredAshItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_SacredAsh,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+
+//Collectibles
+
+ {
+ .name = _("SHOAL SALT"),
+ .itemId = ITEM_SHOAL_SALT,
+ .price = 20,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gShoalSaltItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("SHOAL SHELL"),
+ .itemId = ITEM_SHOAL_SHELL,
+ .price = 20,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gShoalShellItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("RED SHARD"),
+ .itemId = ITEM_RED_SHARD,
+ .price = 200,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gRedShardItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("BLUE SHARD"),
+ .itemId = ITEM_BLUE_SHARD,
+ .price = 200,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gBlueShardItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("YELLOW SHARD"),
+ .itemId = ITEM_YELLOW_SHARD,
+ .price = 200,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gYellowShardItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("GREEN SHARD"),
+ .itemId = ITEM_GREEN_SHARD,
+ .price = 200,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gGreenShardItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("????????"),
+ .itemId = ITEM_NONE,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gDummyItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("????????"),
+ .itemId = ITEM_NONE,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gDummyItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("????????"),
+ .itemId = ITEM_NONE,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gDummyItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("????????"),
+ .itemId = ITEM_NONE,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gDummyItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("????????"),
+ .itemId = ITEM_NONE,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gDummyItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("????????"),
+ .itemId = ITEM_NONE,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gDummyItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("????????"),
+ .itemId = ITEM_NONE,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gDummyItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("????????"),
+ .itemId = ITEM_NONE,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gDummyItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("????????"),
+ .itemId = ITEM_NONE,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gDummyItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("????????"),
+ .itemId = ITEM_NONE,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gDummyItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("????????"),
+ .itemId = ITEM_NONE,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gDummyItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+
+//Vitamins
+
+ {
+ .name = _("HP UP"),
+ .itemId = ITEM_HP_UP,
+ .price = 9800,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gHPUpItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_Medicine,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("PROTEIN"),
+ .itemId = ITEM_PROTEIN,
+ .price = 9800,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gProteinItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_Medicine,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("IRON"),
+ .itemId = ITEM_IRON,
+ .price = 9800,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gIronItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_Medicine,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("CARBOS"),
+ .itemId = ITEM_CARBOS,
+ .price = 9800,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gCarbosItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_Medicine,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("CALCIUM"),
+ .itemId = ITEM_CALCIUM,
+ .price = 9800,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gCalciumItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_Medicine,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("RARE CANDY"),
+ .itemId = ITEM_RARE_CANDY,
+ .price = 4800,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gRareCandyItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_RareCandy,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("PP UP"),
+ .itemId = ITEM_PP_UP,
+ .price = 9800,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gPPUpItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_PPUp,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("ZINC"),
+ .itemId = ITEM_ZINC,
+ .price = 9800,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gZincItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_Medicine,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("PP MAX"),
+ .itemId = ITEM_PP_MAX,
+ .price = 9800,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gPPMaxItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_PPUp,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("????????"),
+ .itemId = ITEM_NONE,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gDummyItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+
+//Battle items
+
+ {
+ .name = _("GUARD SPEC."),
+ .itemId = ITEM_GUARD_SPEC,
+ .price = 700,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gGuardSpecItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 2,
+ .battleUseFunc = ItemUseInBattle_StatIncrease,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("DIRE HIT"),
+ .itemId = ITEM_DIRE_HIT,
+ .price = 650,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gDireHitItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 2,
+ .battleUseFunc = ItemUseInBattle_StatIncrease,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("X ATTACK"),
+ .itemId = ITEM_X_ATTACK,
+ .price = 500,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gXAttackItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 2,
+ .battleUseFunc = ItemUseInBattle_StatIncrease,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("X DEFEND"),
+ .itemId = ITEM_X_DEFEND,
+ .price = 550,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gXDefendItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 2,
+ .battleUseFunc = ItemUseInBattle_StatIncrease,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("X SPEED"),
+ .itemId = ITEM_X_SPEED,
+ .price = 350,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gXSpeedItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 2,
+ .battleUseFunc = ItemUseInBattle_StatIncrease,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("X ACCURACY"),
+ .itemId = ITEM_X_ACCURACY,
+ .price = 950,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gXAccuracyItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 2,
+ .battleUseFunc = ItemUseInBattle_StatIncrease,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("X SPECIAL"),
+ .itemId = ITEM_X_SPECIAL,
+ .price = 350,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gXSpecialItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 2,
+ .battleUseFunc = ItemUseInBattle_StatIncrease,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("POKé DOLL"),
+ .itemId = ITEM_POKE_DOLL,
+ .price = 1000,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gPokeDollItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 2,
+ .battleUseFunc = ItemUseInBattle_Escape,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("FLUFFY TAIL"),
+ .itemId = ITEM_FLUFFY_TAIL,
+ .price = 1000,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gFluffyTailItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 2,
+ .battleUseFunc = ItemUseInBattle_Escape,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("????????"),
+ .itemId = ITEM_NONE,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gDummyItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+
+//Field items
+
+ {
+ .name = _("SUPER REPEL"),
+ .itemId = ITEM_SUPER_REPEL,
+ .price = 500,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 200,
+ .description = gSuperRepelItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_Repel,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("MAX REPEL"),
+ .itemId = ITEM_MAX_REPEL,
+ .price = 700,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 250,
+ .description = gMaxRepelItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_Repel,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("ESCAPE ROPE"),
+ .itemId = ITEM_ESCAPE_ROPE,
+ .price = 550,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gEscapeRopeItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 2,
+ .fieldUseFunc = ItemUseOutOfBattle_EscapeRope,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("REPEL"),
+ .itemId = ITEM_REPEL,
+ .price = 350,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 100,
+ .description = gRepelItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_Repel,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("????????"),
+ .itemId = ITEM_NONE,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gDummyItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("????????"),
+ .itemId = ITEM_NONE,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gDummyItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("????????"),
+ .itemId = ITEM_NONE,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gDummyItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("????????"),
+ .itemId = ITEM_NONE,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gDummyItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("????????"),
+ .itemId = ITEM_NONE,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gDummyItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("????????"),
+ .itemId = ITEM_NONE,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gDummyItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+
+//Evolution stones
+
+ {
+ .name = _("SUN STONE"),
+ .itemId = ITEM_SUN_STONE,
+ .price = 2100,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gSunStoneItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_EvolutionStone,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("MOON STONE"),
+ .itemId = ITEM_MOON_STONE,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gMoonStoneItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_EvolutionStone,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("FIRE STONE"),
+ .itemId = ITEM_FIRE_STONE,
+ .price = 2100,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gFireStoneItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_EvolutionStone,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("THUNDERSTONE"),
+ .itemId = ITEM_THUNDER_STONE,
+ .price = 2100,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gThunderStoneItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_EvolutionStone,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("WATER STONE"),
+ .itemId = ITEM_WATER_STONE,
+ .price = 2100,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gWaterStoneItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_EvolutionStone,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("LEAF STONE"),
+ .itemId = ITEM_LEAF_STONE,
+ .price = 2100,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gLeafStoneItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_EvolutionStone,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("????????"),
+ .itemId = ITEM_NONE,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gDummyItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("????????"),
+ .itemId = ITEM_NONE,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gDummyItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("????????"),
+ .itemId = ITEM_NONE,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gDummyItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("????????"),
+ .itemId = ITEM_NONE,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gDummyItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+
+//Valuable items
+
+ {
+ .name = _("TINYMUSHROOM"),
+ .itemId = ITEM_TINY_MUSHROOM,
+ .price = 500,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gTinyMushroomItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("BIG MUSHROOM"),
+ .itemId = ITEM_BIG_MUSHROOM,
+ .price = 5000,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gBigMushroomItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("????????"),
+ .itemId = ITEM_NONE,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gDummyItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("PEARL"),
+ .itemId = ITEM_PEARL,
+ .price = 1400,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gPearlItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("BIG PEARL"),
+ .itemId = ITEM_BIG_PEARL,
+ .price = 7500,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gBigPearlItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("STARDUST"),
+ .itemId = ITEM_STARDUST,
+ .price = 2000,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gStardustItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("STAR PIECE"),
+ .itemId = ITEM_STAR_PIECE,
+ .price = 9800,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gStarPieceItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("NUGGET"),
+ .itemId = ITEM_NUGGET,
+ .price = 10000,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gNuggetItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("HEART SCALE"),
+ .itemId = ITEM_HEART_SCALE,
+ .price = 100,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gHeartScaleItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("????????"),
+ .itemId = ITEM_NONE,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gDummyItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("????????"),
+ .itemId = ITEM_NONE,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gDummyItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("????????"),
+ .itemId = ITEM_NONE,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gDummyItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("????????"),
+ .itemId = ITEM_NONE,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gDummyItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("????????"),
+ .itemId = ITEM_NONE,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gDummyItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("????????"),
+ .itemId = ITEM_NONE,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gDummyItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("????????"),
+ .itemId = ITEM_NONE,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gDummyItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("????????"),
+ .itemId = ITEM_NONE,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gDummyItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("????????"),
+ .itemId = ITEM_NONE,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gDummyItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+
+//Mail
+ {
+ .name = _("ORANGE MAIL"),
+ .itemId = ITEM_ORANGE_MAIL,
+ .price = 50,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gOrangeMailItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 0,
+ .fieldUseFunc = ItemUseOutOfBattle_Mail,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("HARBOR MAIL"),
+ .itemId = ITEM_HARBOR_MAIL,
+ .price = 50,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gHarborMailItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 0,
+ .fieldUseFunc = ItemUseOutOfBattle_Mail,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 1,
+ },
+ {
+ .name = _("GLITTER MAIL"),
+ .itemId = ITEM_GLITTER_MAIL,
+ .price = 50,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gGlitterMailItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 0,
+ .fieldUseFunc = ItemUseOutOfBattle_Mail,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 2,
+ },
+ {
+ .name = _("MECH MAIL"),
+ .itemId = ITEM_MECH_MAIL,
+ .price = 50,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gMechMailItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 0,
+ .fieldUseFunc = ItemUseOutOfBattle_Mail,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 3,
+ },
+ {
+ .name = _("WOOD MAIL"),
+ .itemId = ITEM_WOOD_MAIL,
+ .price = 50,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gWoodMailItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 0,
+ .fieldUseFunc = ItemUseOutOfBattle_Mail,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 4,
+ },
+ {
+ .name = _("WAVE MAIL"),
+ .itemId = ITEM_WAVE_MAIL,
+ .price = 50,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gWaveMailItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 0,
+ .fieldUseFunc = ItemUseOutOfBattle_Mail,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 5,
+ },
+ {
+ .name = _("BEAD MAIL"),
+ .itemId = ITEM_BEAD_MAIL,
+ .price = 50,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gBeadMailItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 0,
+ .fieldUseFunc = ItemUseOutOfBattle_Mail,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 6,
+ },
+ {
+ .name = _("SHADOW MAIL"),
+ .itemId = ITEM_SHADOW_MAIL,
+ .price = 50,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gShadowMailItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 0,
+ .fieldUseFunc = ItemUseOutOfBattle_Mail,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 7,
+ },
+ {
+ .name = _("TROPIC MAIL"),
+ .itemId = ITEM_TROPIC_MAIL,
+ .price = 50,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gTropicMailItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 0,
+ .fieldUseFunc = ItemUseOutOfBattle_Mail,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 8,
+ },
+ {
+ .name = _("DREAM MAIL"),
+ .itemId = ITEM_DREAM_MAIL,
+ .price = 50,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gDreamMailItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 0,
+ .fieldUseFunc = ItemUseOutOfBattle_Mail,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 9,
+ },
+ {
+ .name = _("FAB MAIL"),
+ .itemId = ITEM_FAB_MAIL,
+ .price = 50,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gFabMailItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 0,
+ .fieldUseFunc = ItemUseOutOfBattle_Mail,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 10,
+ },
+ {
+ .name = _("RETRO MAIL"),
+ .itemId = ITEM_RETRO_MAIL,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gRetroMailItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 0,
+ .fieldUseFunc = ItemUseOutOfBattle_Mail,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 11,
+ },
+
+//Berries
+
+ {
+ .name = _("CHERI BERRY"),
+ .itemId = ITEM_CHERI_BERRY,
+ .price = 20,
+ .holdEffect = HOLD_EFFECT_CURE_PAR,
+ .holdEffectParam = 0,
+ .description = gCheriBerryItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_BERRIES,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_Medicine,
+ .battleUsage = 1,
+ .battleUseFunc = ItemUseInBattle_Medicine,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("CHESTO BERRY"),
+ .itemId = ITEM_CHESTO_BERRY,
+ .price = 20,
+ .holdEffect = HOLD_EFFECT_CURE_SLP,
+ .holdEffectParam = 0,
+ .description = gChestoBerryItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_BERRIES,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_Medicine,
+ .battleUsage = 1,
+ .battleUseFunc = ItemUseInBattle_Medicine,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("PECHA BERRY"),
+ .itemId = ITEM_PECHA_BERRY,
+ .price = 20,
+ .holdEffect = HOLD_EFFECT_CURE_PSN,
+ .holdEffectParam = 0,
+ .description = gPechaBerryItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_BERRIES,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_Medicine,
+ .battleUsage = 1,
+ .battleUseFunc = ItemUseInBattle_Medicine,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("RAWST BERRY"),
+ .itemId = ITEM_RAWST_BERRY,
+ .price = 20,
+ .holdEffect = HOLD_EFFECT_CURE_BRN,
+ .holdEffectParam = 0,
+ .description = gRawstBerryItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_BERRIES,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_Medicine,
+ .battleUsage = 1,
+ .battleUseFunc = ItemUseInBattle_Medicine,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("ASPEAR BERRY"),
+ .itemId = ITEM_ASPEAR_BERRY,
+ .price = 20,
+ .holdEffect = HOLD_EFFECT_CURE_FRZ,
+ .holdEffectParam = 0,
+ .description = gAspearBerryItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_BERRIES,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_Medicine,
+ .battleUsage = 1,
+ .battleUseFunc = ItemUseInBattle_Medicine,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("LEPPA BERRY"),
+ .itemId = ITEM_LEPPA_BERRY,
+ .price = 20,
+ .holdEffect = HOLD_EFFECT_RESTORE_PP,
+ .holdEffectParam = 10,
+ .description = gLeppaBerryItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_BERRIES,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_PPRecovery,
+ .battleUsage = 1,
+ .battleUseFunc = ItemUseInBattle_PPRecovery,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("ORAN BERRY"),
+ .itemId = ITEM_ORAN_BERRY,
+ .price = 20,
+ .holdEffect = HOLD_EFFECT_RESTORE_HP,
+ .holdEffectParam = 10,
+ .description = gOranBerryItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_BERRIES,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_Medicine,
+ .battleUsage = 1,
+ .battleUseFunc = ItemUseInBattle_Medicine,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("PERSIM BERRY"),
+ .itemId = ITEM_PERSIM_BERRY,
+ .price = 20,
+ .holdEffect = HOLD_EFFECT_CURE_CONFUSION,
+ .holdEffectParam = 0,
+ .description = gPersimBerryItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_BERRIES,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 1,
+ .battleUseFunc = ItemUseInBattle_Medicine,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("LUM BERRY"),
+ .itemId = ITEM_LUM_BERRY,
+ .price = 20,
+ .holdEffect = HOLD_EFFECT_CURE_STATUS,
+ .holdEffectParam = 0,
+ .description = gLumBerryItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_BERRIES,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_Medicine,
+ .battleUsage = 1,
+ .battleUseFunc = ItemUseInBattle_Medicine,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("SITRUS BERRY"),
+ .itemId = ITEM_SITRUS_BERRY,
+ .price = 20,
+ .holdEffect = HOLD_EFFECT_RESTORE_HP,
+ .holdEffectParam = 30,
+ .description = gSitrusBerryItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_BERRIES,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_Medicine,
+ .battleUsage = 1,
+ .battleUseFunc = ItemUseInBattle_Medicine,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("FIGY BERRY"),
+ .itemId = ITEM_FIGY_BERRY,
+ .price = 20,
+ .holdEffect = HOLD_EFFECT_CONFUSE_SPICY,
+ .holdEffectParam = 8,
+ .description = gFigyBerryItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_BERRIES,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("WIKI BERRY"),
+ .itemId = ITEM_WIKI_BERRY,
+ .price = 20,
+ .holdEffect = HOLD_EFFECT_CONFUSE_DRY,
+ .holdEffectParam = 8,
+ .description = gWikiBerryItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_BERRIES,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("MAGO BERRY"),
+ .itemId = ITEM_MAGO_BERRY,
+ .price = 20,
+ .holdEffect = HOLD_EFFECT_CONFUSE_SWEET,
+ .holdEffectParam = 8,
+ .description = gMagoBerryItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_BERRIES,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("AGUAV BERRY"),
+ .itemId = ITEM_AGUAV_BERRY,
+ .price = 20,
+ .holdEffect = HOLD_EFFECT_CONFUSE_BITTER,
+ .holdEffectParam = 8,
+ .description = gAguavBerryItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_BERRIES,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("IAPAPA BERRY"),
+ .itemId = ITEM_IAPAPA_BERRY,
+ .price = 20,
+ .holdEffect = HOLD_EFFECT_CONFUSE_SOUR,
+ .holdEffectParam = 8,
+ .description = gIapapaBerryItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_BERRIES,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("RAZZ BERRY"),
+ .itemId = ITEM_RAZZ_BERRY,
+ .price = 20,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gRazzBerryItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_BERRIES,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("BLUK BERRY"),
+ .itemId = ITEM_BLUK_BERRY,
+ .price = 20,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gBlukBerryItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_BERRIES,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("NANAB BERRY"),
+ .itemId = ITEM_NANAB_BERRY,
+ .price = 20,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gNanabBerryItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_BERRIES,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("WEPEAR BERRY"),
+ .itemId = ITEM_WEPEAR_BERRY,
+ .price = 20,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gWepearBerryItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_BERRIES,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("PINAP BERRY"),
+ .itemId = ITEM_PINAP_BERRY,
+ .price = 20,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gPinapBerryItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_BERRIES,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("POMEG BERRY"),
+ .itemId = ITEM_POMEG_BERRY,
+ .price = 20,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gPomegBerryItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_BERRIES,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_ReduceEV,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("KELPSY BERRY"),
+ .itemId = ITEM_KELPSY_BERRY,
+ .price = 20,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gKelpsyBerryItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_BERRIES,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_ReduceEV,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("QUALOT BERRY"),
+ .itemId = ITEM_QUALOT_BERRY,
+ .price = 20,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gQualotBerryItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_BERRIES,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_ReduceEV,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("HONDEW BERRY"),
+ .itemId = ITEM_HONDEW_BERRY,
+ .price = 20,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gHondewBerryItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_BERRIES,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_ReduceEV,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("GREPA BERRY"),
+ .itemId = ITEM_GREPA_BERRY,
+ .price = 20,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gGrepaBerryItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_BERRIES,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_ReduceEV,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("TAMATO BERRY"),
+ .itemId = ITEM_TAMATO_BERRY,
+ .price = 20,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gTamatoBerryItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_BERRIES,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_ReduceEV,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("CORNN BERRY"),
+ .itemId = ITEM_CORNN_BERRY,
+ .price = 20,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gCornnBerryItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_BERRIES,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("MAGOST BERRY"),
+ .itemId = ITEM_MAGOST_BERRY,
+ .price = 20,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gMagostBerryItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_BERRIES,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("RABUTA BERRY"),
+ .itemId = ITEM_RABUTA_BERRY,
+ .price = 20,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gRabutaBerryItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_BERRIES,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("NOMEL BERRY"),
+ .itemId = ITEM_NOMEL_BERRY,
+ .price = 20,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gNomelBerryItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_BERRIES,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("SPELON BERRY"),
+ .itemId = ITEM_SPELON_BERRY,
+ .price = 20,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gSpelonBerryItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_BERRIES,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("PAMTRE BERRY"),
+ .itemId = ITEM_PAMTRE_BERRY,
+ .price = 20,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gPamtreBerryItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_BERRIES,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("WATMEL BERRY"),
+ .itemId = ITEM_WATMEL_BERRY,
+ .price = 20,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gWatmelBerryItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_BERRIES,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("DURIN BERRY"),
+ .itemId = ITEM_DURIN_BERRY,
+ .price = 20,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gDurinBerryItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_BERRIES,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("BELUE BERRY"),
+ .itemId = ITEM_BELUE_BERRY,
+ .price = 20,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gBelueBerryItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_BERRIES,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("LIECHI BERRY"),
+ .itemId = ITEM_LIECHI_BERRY,
+ .price = 20,
+ .holdEffect = HOLD_EFFECT_ATTACK_UP,
+ .holdEffectParam = 4,
+ .description = gLiechiBerryItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_BERRIES,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("GANLON BERRY"),
+ .itemId = ITEM_GANLON_BERRY,
+ .price = 20,
+ .holdEffect = HOLD_EFFECT_DEFENSE_UP,
+ .holdEffectParam = 4,
+ .description = gGanlonBerryItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_BERRIES,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("SALAC BERRY"),
+ .itemId = ITEM_SALAC_BERRY,
+ .price = 20,
+ .holdEffect = HOLD_EFFECT_SPEED_UP,
+ .holdEffectParam = 4,
+ .description = gSalacBerryItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_BERRIES,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("PETAYA BERRY"),
+ .itemId = ITEM_PETAYA_BERRY,
+ .price = 20,
+ .holdEffect = HOLD_EFFECT_SP_ATTACK_UP,
+ .holdEffectParam = 4,
+ .description = gPetayaBerryItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_BERRIES,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("APICOT BERRY"),
+ .itemId = ITEM_APICOT_BERRY,
+ .price = 20,
+ .holdEffect = HOLD_EFFECT_SP_DEFENSE_UP,
+ .holdEffectParam = 4,
+ .description = gApicotBerryItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_BERRIES,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("LANSAT BERRY"),
+ .itemId = ITEM_LANSAT_BERRY,
+ .price = 20,
+ .holdEffect = HOLD_EFFECT_CRITICAL_UP,
+ .holdEffectParam = 4,
+ .description = gLansatBerryItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_BERRIES,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("STARF BERRY"),
+ .itemId = ITEM_STARF_BERRY,
+ .price = 20,
+ .holdEffect = HOLD_EFFECT_RANDOM_STAT_UP,
+ .holdEffectParam = 4,
+ .description = gStarfBerryItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_BERRIES,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("ENIGMA BERRY"),
+ .itemId = ITEM_ENIGMA_BERRY,
+ .price = 20,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gEnigmaBerryItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_BERRIES,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_EnigmaBerry,
+ .battleUsage = 1,
+ .battleUseFunc = ItemUseInBattle_EnigmaBerry,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("????????"),
+ .itemId = ITEM_NONE,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gDummyItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("????????"),
+ .itemId = ITEM_NONE,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gDummyItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("????????"),
+ .itemId = ITEM_NONE,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gDummyItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+
+//Hold items
+
+ {
+ .name = _("BRIGHTPOWDER"),
+ .itemId = ITEM_BRIGHT_POWDER,
+ .price = 10,
+ .holdEffect = HOLD_EFFECT_EVASION_UP,
+ .holdEffectParam = 10,
+ .description = gBrightPowderItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("WHITE HERB"),
+ .itemId = ITEM_WHITE_HERB,
+ .price = 100,
+ .holdEffect = HOLD_EFFECT_RESTORE_STATS,
+ .holdEffectParam = 0,
+ .description = gWhiteHerbItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("MACHO BRACE"),
+ .itemId = ITEM_MACHO_BRACE,
+ .price = 3000,
+ .holdEffect = HOLD_EFFECT_MACHO_BRACE,
+ .holdEffectParam = 0,
+ .description = gMachoBraceItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("EXP. SHARE"),
+ .itemId = ITEM_EXP_SHARE,
+ .price = 3000,
+ .holdEffect = HOLD_EFFECT_EXP_SHARE,
+ .holdEffectParam = 0,
+ .description = gExpShareItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("QUICK CLAW"),
+ .itemId = ITEM_QUICK_CLAW,
+ .price = 100,
+ .holdEffect = HOLD_EFFECT_QUICK_CLAW,
+ .holdEffectParam = 20,
+ .description = gQuickClawItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("SOOTHE BELL"),
+ .itemId = ITEM_SOOTHE_BELL,
+ .price = 100,
+ .holdEffect = HOLD_EFFECT_HAPPINESS_UP,
+ .holdEffectParam = 0,
+ .description = gSootheBellItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("MENTAL HERB"),
+ .itemId = ITEM_MENTAL_HERB,
+ .price = 100,
+ .holdEffect = HOLD_EFFECT_CURE_ATTRACT,
+ .holdEffectParam = 0,
+ .description = gMentalHerbItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("CHOICE BAND"),
+ .itemId = ITEM_CHOICE_BAND,
+ .price = 100,
+ .holdEffect = HOLD_EFFECT_CHOICE_BAND,
+ .holdEffectParam = 0,
+ .description = gChoiceBandItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("KING’S ROCK"),
+ .itemId = ITEM_KINGS_ROCK,
+ .price = 100,
+ .holdEffect = HOLD_EFFECT_FLINCH,
+ .holdEffectParam = 10,
+ .description = gKingsRockItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("SILVERPOWDER"),
+ .itemId = ITEM_SILVER_POWDER,
+ .price = 100,
+ .holdEffect = HOLD_EFFECT_BUG_POWER,
+ .holdEffectParam = 10,
+ .description = gSilverPowderItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("AMULET COIN"),
+ .itemId = ITEM_AMULET_COIN,
+ .price = 100,
+ .holdEffect = HOLD_EFFECT_DOUBLE_PRIZE,
+ .holdEffectParam = 10,
+ .description = gAmuletCoinItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("CLEANSE TAG"),
+ .itemId = ITEM_CLEANSE_TAG,
+ .price = 200,
+ .holdEffect = HOLD_EFFECT_REPEL,
+ .holdEffectParam = 0,
+ .description = gCleanseTagItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("SOUL DEW"),
+ .itemId = ITEM_SOUL_DEW,
+ .price = 200,
+ .holdEffect = HOLD_EFFECT_SOUL_DEW,
+ .holdEffectParam = 0,
+ .description = gSoulDewItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("DEEPSEATOOTH"),
+ .itemId = ITEM_DEEP_SEA_TOOTH,
+ .price = 200,
+ .holdEffect = HOLD_EFFECT_DEEP_SEA_TOOTH,
+ .holdEffectParam = 0,
+ .description = gDeepSeaToothItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("DEEPSEASCALE"),
+ .itemId = ITEM_DEEP_SEA_SCALE,
+ .price = 200,
+ .holdEffect = HOLD_EFFECT_DEEP_SEA_SCALE,
+ .holdEffectParam = 0,
+ .description = gDeepSeaScaleItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("SMOKE BALL"),
+ .itemId = ITEM_SMOKE_BALL,
+ .price = 200,
+ .holdEffect = HOLD_EFFECT_CAN_ALWAYS_RUN,
+ .holdEffectParam = 0,
+ .description = gSmokeBallItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("EVERSTONE"),
+ .itemId = ITEM_EVERSTONE,
+ .price = 200,
+ .holdEffect = HOLD_EFFECT_PREVENT_EVOLVE,
+ .holdEffectParam = 0,
+ .description = gEverstoneItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("FOCUS BAND"),
+ .itemId = ITEM_FOCUS_BAND,
+ .price = 200,
+ .holdEffect = HOLD_EFFECT_FOCUS_BAND,
+ .holdEffectParam = 10,
+ .description = gFocusBandItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("LUCKY EGG"),
+ .itemId = ITEM_LUCKY_EGG,
+ .price = 200,
+ .holdEffect = HOLD_EFFECT_LUCKY_EGG,
+ .holdEffectParam = 0,
+ .description = gLuckyEggItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("SCOPE LENS"),
+ .itemId = ITEM_SCOPE_LENS,
+ .price = 200,
+ .holdEffect = HOLD_EFFECT_SCOPE_LENS,
+ .holdEffectParam = 0,
+ .description = gScopeLensItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("METAL COAT"),
+ .itemId = ITEM_METAL_COAT,
+ .price = 100,
+ .holdEffect = HOLD_EFFECT_STEEL_POWER,
+ .holdEffectParam = 10,
+ .description = gMetalCoatItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("LEFTOVERS"),
+ .itemId = ITEM_LEFTOVERS,
+ .price = 200,
+ .holdEffect = HOLD_EFFECT_LEFTOVERS,
+ .holdEffectParam = 10,
+ .description = gLeftoversItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("DRAGON SCALE"),
+ .itemId = ITEM_DRAGON_SCALE,
+ .price = 2100,
+ .holdEffect = HOLD_EFFECT_DRAGON_SCALE,
+ .holdEffectParam = 10,
+ .description = gDragonScaleItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("LIGHT BALL"),
+ .itemId = ITEM_LIGHT_BALL,
+ .price = 100,
+ .holdEffect = HOLD_EFFECT_LIGHT_BALL,
+ .holdEffectParam = 0,
+ .description = gLightBallItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("SOFT SAND"),
+ .itemId = ITEM_SOFT_SAND,
+ .price = 100,
+ .holdEffect = HOLD_EFFECT_GROUND_POWER,
+ .holdEffectParam = 10,
+ .description = gSoftSandItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("HARD STONE"),
+ .itemId = ITEM_HARD_STONE,
+ .price = 100,
+ .holdEffect = HOLD_EFFECT_ROCK_POWER,
+ .holdEffectParam = 10,
+ .description = gHardStoneItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("MIRACLE SEED"),
+ .itemId = ITEM_MIRACLE_SEED,
+ .price = 100,
+ .holdEffect = HOLD_EFFECT_GRASS_POWER,
+ .holdEffectParam = 10,
+ .description = gMiracleSeedItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("BLACKGLASSES"),
+ .itemId = ITEM_BLACK_GLASSES,
+ .price = 100,
+ .holdEffect = HOLD_EFFECT_DARK_POWER,
+ .holdEffectParam = 10,
+ .description = gBlackGlassesItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("BLACK BELT"),
+ .itemId = ITEM_BLACK_BELT,
+ .price = 100,
+ .holdEffect = HOLD_EFFECT_FIGHTING_POWER,
+ .holdEffectParam = 10,
+ .description = gBlackBeltItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("MAGNET"),
+ .itemId = ITEM_MAGNET,
+ .price = 100,
+ .holdEffect = HOLD_EFFECT_ELECTRIC_POWER,
+ .holdEffectParam = 10,
+ .description = gMagnetItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("MYSTIC WATER"),
+ .itemId = ITEM_MYSTIC_WATER,
+ .price = 100,
+ .holdEffect = HOLD_EFFECT_WATER_POWER,
+ .holdEffectParam = 10,
+ .description = gMysticWaterItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("SHARP BEAK"),
+ .itemId = ITEM_SHARP_BEAK,
+ .price = 100,
+ .holdEffect = HOLD_EFFECT_FLYING_POWER,
+ .holdEffectParam = 10,
+ .description = gSharpBeakItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("POISON BARB"),
+ .itemId = ITEM_POISON_BARB,
+ .price = 100,
+ .holdEffect = HOLD_EFFECT_POISON_POWER,
+ .holdEffectParam = 10,
+ .description = gPoisonBarbItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("NEVERMELTICE"),
+ .itemId = ITEM_NEVER_MELT_ICE,
+ .price = 100,
+ .holdEffect = HOLD_EFFECT_ICE_POWER,
+ .holdEffectParam = 10,
+ .description = gNeverMeltIceItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("SPELL TAG"),
+ .itemId = ITEM_SPELL_TAG,
+ .price = 100,
+ .holdEffect = HOLD_EFFECT_GHOST_POWER,
+ .holdEffectParam = 10,
+ .description = gSpellTagItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("TWISTEDSPOON"),
+ .itemId = ITEM_TWISTED_SPOON,
+ .price = 100,
+ .holdEffect = HOLD_EFFECT_PSYCHIC_POWER,
+ .holdEffectParam = 10,
+ .description = gTwistedSpoonItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("CHARCOAL"),
+ .itemId = ITEM_CHARCOAL,
+ .price = 9800,
+ .holdEffect = HOLD_EFFECT_FIRE_POWER,
+ .holdEffectParam = 10,
+ .description = gCharcoalItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("DRAGON FANG"),
+ .itemId = ITEM_DRAGON_FANG,
+ .price = 100,
+ .holdEffect = HOLD_EFFECT_DRAGON_POWER,
+ .holdEffectParam = 10,
+ .description = gDragonFangItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("SILK SCARF"),
+ .itemId = ITEM_SILK_SCARF,
+ .price = 100,
+ .holdEffect = HOLD_EFFECT_NORMAL_POWER,
+ .holdEffectParam = 10,
+ .description = gSilkScarfItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("UP-GRADE"),
+ .itemId = ITEM_UP_GRADE,
+ .price = 2100,
+ .holdEffect = HOLD_EFFECT_UP_GRADE,
+ .holdEffectParam = 0,
+ .description = gUpGradeItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("SHELL BELL"),
+ .itemId = ITEM_SHELL_BELL,
+ .price = 200,
+ .holdEffect = HOLD_EFFECT_SHELL_BELL,
+ .holdEffectParam = 8,
+ .description = gShellBellItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("SEA INCENSE"),
+ .itemId = ITEM_SEA_INCENSE,
+ .price = 9600,
+ .holdEffect = HOLD_EFFECT_WATER_POWER,
+ .holdEffectParam = 5,
+ .description = gSeaIncenseItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("LAX INCENSE"),
+ .itemId = ITEM_LAX_INCENSE,
+ .price = 9600,
+ .holdEffect = HOLD_EFFECT_EVASION_UP,
+ .holdEffectParam = 5,
+ .description = gLaxIncenseItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("LUCKY PUNCH"),
+ .itemId = ITEM_LUCKY_PUNCH,
+ .price = 10,
+ .holdEffect = HOLD_EFFECT_LUCKY_PUNCH,
+ .holdEffectParam = 0,
+ .description = gLuckyPunchItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("METAL POWDER"),
+ .itemId = ITEM_METAL_POWDER,
+ .price = 10,
+ .holdEffect = HOLD_EFFECT_METAL_POWDER,
+ .holdEffectParam = 0,
+ .description = gMetalPowderItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("THICK CLUB"),
+ .itemId = ITEM_THICK_CLUB,
+ .price = 500,
+ .holdEffect = HOLD_EFFECT_THICK_CLUB,
+ .holdEffectParam = 0,
+ .description = gThickClubItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("STICK"),
+ .itemId = ITEM_STICK,
+ .price = 200,
+ .holdEffect = HOLD_EFFECT_STICK,
+ .holdEffectParam = 0,
+ .description = gStickItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("????????"),
+ .itemId = ITEM_NONE,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gDummyItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("????????"),
+ .itemId = ITEM_NONE,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gDummyItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("????????"),
+ .itemId = ITEM_NONE,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gDummyItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("????????"),
+ .itemId = ITEM_NONE,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gDummyItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("????????"),
+ .itemId = ITEM_NONE,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gDummyItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("????????"),
+ .itemId = ITEM_NONE,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gDummyItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("????????"),
+ .itemId = ITEM_NONE,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gDummyItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("????????"),
+ .itemId = ITEM_NONE,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gDummyItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("????????"),
+ .itemId = ITEM_NONE,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gDummyItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("????????"),
+ .itemId = ITEM_NONE,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gDummyItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("????????"),
+ .itemId = ITEM_NONE,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gDummyItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("????????"),
+ .itemId = ITEM_NONE,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gDummyItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("????????"),
+ .itemId = ITEM_NONE,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gDummyItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("????????"),
+ .itemId = ITEM_NONE,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gDummyItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("????????"),
+ .itemId = ITEM_NONE,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gDummyItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("????????"),
+ .itemId = ITEM_NONE,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gDummyItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("????????"),
+ .itemId = ITEM_NONE,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gDummyItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("????????"),
+ .itemId = ITEM_NONE,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gDummyItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("????????"),
+ .itemId = ITEM_NONE,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gDummyItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("????????"),
+ .itemId = ITEM_NONE,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gDummyItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("????????"),
+ .itemId = ITEM_NONE,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gDummyItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("????????"),
+ .itemId = ITEM_NONE,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gDummyItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("????????"),
+ .itemId = ITEM_NONE,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gDummyItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("????????"),
+ .itemId = ITEM_NONE,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gDummyItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("????????"),
+ .itemId = ITEM_NONE,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gDummyItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("????????"),
+ .itemId = ITEM_NONE,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gDummyItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("????????"),
+ .itemId = ITEM_NONE,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gDummyItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("????????"),
+ .itemId = ITEM_NONE,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gDummyItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("RED SCARF"),
+ .itemId = ITEM_RED_SCARF,
+ .price = 100,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gRedScarfItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("BLUE SCARF"),
+ .itemId = ITEM_BLUE_SCARF,
+ .price = 100,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gBlueScarfItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("PINK SCARF"),
+ .itemId = ITEM_PINK_SCARF,
+ .price = 100,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gPinkScarfItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("GREEN SCARF"),
+ .itemId = ITEM_GREEN_SCARF,
+ .price = 100,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gGreenScarfItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("YELLOW SCARF"),
+ .itemId = ITEM_YELLOW_SCARF,
+ .price = 100,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gYellowScarfItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+
+//Key items
+
+ {
+ .name = _("MACH BIKE"),
+ .itemId = ITEM_MACH_BIKE,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gMachBikeItemDescription,
+ .importance = 1,
+ .unk19 = 1,
+ .pocket = POCKET_KEY_ITEMS,
+ .type = 2,
+ .fieldUseFunc = ItemUseOutOfBattle_Bike,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("COIN CASE"),
+ .itemId = ITEM_COIN_CASE,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gCoinCaseItemDescription,
+ .importance = 1,
+ .unk19 = 0,
+ .pocket = POCKET_KEY_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CoinCase,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("ITEMFINDER"),
+ .itemId = ITEM_ITEMFINDER,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gItemfinderItemDescription,
+ .importance = 1,
+ .unk19 = 1,
+ .pocket = POCKET_KEY_ITEMS,
+ .type = 2,
+ .fieldUseFunc = ItemUseOutOfBattle_Itemfinder,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("OLD ROD"),
+ .itemId = ITEM_OLD_ROD,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gOldRodItemDescription,
+ .importance = 1,
+ .unk19 = 1,
+ .pocket = POCKET_KEY_ITEMS,
+ .type = 2,
+ .fieldUseFunc = ItemUseOutOfBattle_Rod,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("GOOD ROD"),
+ .itemId = ITEM_GOOD_ROD,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gGoodRodItemDescription,
+ .importance = 1,
+ .unk19 = 1,
+ .pocket = POCKET_KEY_ITEMS,
+ .type = 2,
+ .fieldUseFunc = ItemUseOutOfBattle_Rod,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 1,
+ },
+ {
+ .name = _("SUPER ROD"),
+ .itemId = ITEM_SUPER_ROD,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gSuperRodItemDescription,
+ .importance = 1,
+ .unk19 = 1,
+ .pocket = POCKET_KEY_ITEMS,
+ .type = 2,
+ .fieldUseFunc = ItemUseOutOfBattle_Rod,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 2,
+ },
+ {
+ .name = _("S.S. TICKET"),
+ .itemId = ITEM_SS_TICKET,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gSSTicketItemDescription,
+ .importance = 1,
+ .unk19 = 0,
+ .pocket = POCKET_KEY_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("CONTEST PASS"),
+ .itemId = ITEM_CONTEST_PASS,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gContestPassItemDescription,
+ .importance = 1,
+ .unk19 = 0,
+ .pocket = POCKET_KEY_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("????????"),
+ .itemId = ITEM_NONE,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gDummyItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("WAILMER PAIL"),
+ .itemId = ITEM_WAILMER_PAIL,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gWailmerPailItemDescription,
+ .importance = 1,
+ .unk19 = 0,
+ .pocket = POCKET_KEY_ITEMS,
+ .type = 2,
+ .fieldUseFunc = ItemUseOutOfBattle_WailmerPail,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("DEVON GOODS"),
+ .itemId = ITEM_DEVON_GOODS,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gDevonGoodsItemDescription,
+ .importance = 2,
+ .unk19 = 0,
+ .pocket = POCKET_KEY_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("SOOT SACK"),
+ .itemId = ITEM_SOOT_SACK,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gSootSackItemDescription,
+ .importance = 1,
+ .unk19 = 0,
+ .pocket = POCKET_KEY_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("BASEMENT KEY"),
+ .itemId = ITEM_BASEMENT_KEY,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gBasementKeyItemDescription,
+ .importance = 1,
+ .unk19 = 0,
+ .pocket = POCKET_KEY_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("ACRO BIKE"),
+ .itemId = ITEM_ACRO_BIKE,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gAcroBikeItemDescription,
+ .importance = 1,
+ .unk19 = 1,
+ .pocket = POCKET_KEY_ITEMS,
+ .type = 2,
+ .fieldUseFunc = ItemUseOutOfBattle_Bike,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 1,
+ },
+ {
+ .name = _("{POKEBLOCK} CASE"),
+ .itemId = ITEM_POKEBLOCK_CASE,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gPokeblockCaseItemDescription,
+ .importance = 1,
+ .unk19 = 1,
+ .pocket = POCKET_KEY_ITEMS,
+ .type = 3,
+ .fieldUseFunc = ItemUseOutOfBattle_PokeblockCase,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("LETTER"),
+ .itemId = ITEM_LETTER,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gLetterItemDescription,
+ .importance = 2,
+ .unk19 = 0,
+ .pocket = POCKET_KEY_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("EON TICKET"),
+ .itemId = ITEM_EON_TICKET,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gEonTicketItemDescription,
+ .importance = 1,
+ .unk19 = 0,
+ .pocket = POCKET_KEY_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 1,
+ },
+ {
+ .name = _("RED ORB"),
+ .itemId = ITEM_RED_ORB,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gRedOrbItemDescription,
+ .importance = 2,
+ .unk19 = 0,
+ .pocket = POCKET_KEY_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("BLUE ORB"),
+ .itemId = ITEM_BLUE_ORB,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gBlueOrbItemDescription,
+ .importance = 2,
+ .unk19 = 0,
+ .pocket = POCKET_KEY_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("SCANNER"),
+ .itemId = ITEM_SCANNER,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gScannerItemDescription,
+ .importance = 1,
+ .unk19 = 0,
+ .pocket = POCKET_KEY_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("GO-GOGGLES"),
+ .itemId = ITEM_GO_GOGGLES,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gGoGogglesItemDescription,
+ .importance = 1,
+ .unk19 = 0,
+ .pocket = POCKET_KEY_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("METEORITE"),
+ .itemId = ITEM_METEORITE,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gMeteoriteItemDescription,
+ .importance = 1,
+ .unk19 = 0,
+ .pocket = POCKET_KEY_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("RM. 1 KEY"),
+ .itemId = ITEM_ROOM_1_KEY,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gRoom1KeyItemDescription,
+ .importance = 1,
+ .unk19 = 0,
+ .pocket = POCKET_KEY_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("RM. 2 KEY"),
+ .itemId = ITEM_ROOM_2_KEY,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gRoom2KeyItemDescription,
+ .importance = 1,
+ .unk19 = 0,
+ .pocket = POCKET_KEY_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("RM. 4 KEY"),
+ .itemId = ITEM_ROOM_4_KEY,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gRoom4KeyItemDescription,
+ .importance = 1,
+ .unk19 = 0,
+ .pocket = POCKET_KEY_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("RM. 6 KEY"),
+ .itemId = ITEM_ROOM_6_KEY,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gRoom6KeyItemDescription,
+ .importance = 1,
+ .unk19 = 0,
+ .pocket = POCKET_KEY_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("STORAGE KEY"),
+ .itemId = ITEM_STORAGE_KEY,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gStorageKeyItemDescription,
+ .importance = 1,
+ .unk19 = 0,
+ .pocket = POCKET_KEY_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("ROOT FOSSIL"),
+ .itemId = ITEM_ROOT_FOSSIL,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gRootFossilItemDescription,
+ .importance = 1,
+ .unk19 = 0,
+ .pocket = POCKET_KEY_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("CLAW FOSSIL"),
+ .itemId = ITEM_CLAW_FOSSIL,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gClawFossilItemDescription,
+ .importance = 1,
+ .unk19 = 0,
+ .pocket = POCKET_KEY_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("DEVON SCOPE"),
+ .itemId = ITEM_DEVON_SCOPE,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gDevonScopeItemDescription,
+ .importance = 1,
+ .unk19 = 0,
+ .pocket = POCKET_KEY_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+
+//TMs/HMs
+
+ {
+ .name = _("TM01"),
+ .itemId = ITEM_TM01_FOCUS_PUNCH,
+ .price = 3000,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gTM01ItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_TM_HM,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_TMHM,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("TM02"),
+ .itemId = ITEM_TM02_DRAGON_CLAW,
+ .price = 3000,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gTM02ItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_TM_HM,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_TMHM,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("TM03"),
+ .itemId = ITEM_TM03_WATER_PULSE,
+ .price = 3000,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gTM03ItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_TM_HM,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_TMHM,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("TM04"),
+ .itemId = ITEM_TM04_CALM_MIND,
+ .price = 3000,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gTM04ItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_TM_HM,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_TMHM,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("TM05"),
+ .itemId = ITEM_TM05_ROAR,
+ .price = 1000,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gTM05ItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_TM_HM,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_TMHM,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("TM06"),
+ .itemId = ITEM_TM06_TOXIC,
+ .price = 3000,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gTM06ItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_TM_HM,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_TMHM,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("TM07"),
+ .itemId = ITEM_TM07_HAIL,
+ .price = 3000,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gTM07ItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_TM_HM,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_TMHM,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("TM08"),
+ .itemId = ITEM_TM08_BULK_UP,
+ .price = 3000,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gTM08ItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_TM_HM,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_TMHM,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("TM09"),
+ .itemId = ITEM_TM09_BULLET_SEED,
+ .price = 3000,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gTM09ItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_TM_HM,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_TMHM,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("TM10"),
+ .itemId = ITEM_TM10_HIDDEN_POWER,
+ .price = 3000,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gTM10ItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_TM_HM,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_TMHM,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("TM11"),
+ .itemId = ITEM_TM11_SUNNY_DAY,
+ .price = 2000,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gTM11ItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_TM_HM,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_TMHM,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("TM12"),
+ .itemId = ITEM_TM12_TAUNT,
+ .price = 3000,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gTM12ItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_TM_HM,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_TMHM,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("TM13"),
+ .itemId = ITEM_TM13_ICE_BEAM,
+ .price = 3000,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gTM13ItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_TM_HM,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_TMHM,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("TM14"),
+ .itemId = ITEM_TM14_BLIZZARD,
+ .price = 5500,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gTM14ItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_TM_HM,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_TMHM,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("TM15"),
+ .itemId = ITEM_TM15_HYPER_BEAM,
+ .price = 7500,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gTM15ItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_TM_HM,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_TMHM,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("TM16"),
+ .itemId = ITEM_TM16_LIGHT_SCREEN,
+ .price = 3000,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gTM16ItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_TM_HM,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_TMHM,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("TM17"),
+ .itemId = ITEM_TM17_PROTECT,
+ .price = 3000,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gTM17ItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_TM_HM,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_TMHM,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("TM18"),
+ .itemId = ITEM_TM18_RAIN_DANCE,
+ .price = 2000,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gTM18ItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_TM_HM,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_TMHM,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("TM19"),
+ .itemId = ITEM_TM19_GIGA_DRAIN,
+ .price = 3000,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gTM19ItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_TM_HM,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_TMHM,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("TM20"),
+ .itemId = ITEM_TM20_SAFEGUARD,
+ .price = 3000,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gTM20ItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_TM_HM,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_TMHM,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("TM21"),
+ .itemId = ITEM_TM21_FRUSTRATION,
+ .price = 1000,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gTM21ItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_TM_HM,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_TMHM,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("TM22"),
+ .itemId = ITEM_TM22_SOLARBEAM,
+ .price = 3000,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gTM22ItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_TM_HM,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_TMHM,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("TM23"),
+ .itemId = ITEM_TM23_IRON_TAIL,
+ .price = 3000,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gTM23ItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_TM_HM,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_TMHM,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("TM24"),
+ .itemId = ITEM_TM24_THUNDERBOLT,
+ .price = 3000,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gTM24ItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_TM_HM,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_TMHM,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("TM25"),
+ .itemId = ITEM_TM25_THUNDER,
+ .price = 5500,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gTM25ItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_TM_HM,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_TMHM,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("TM26"),
+ .itemId = ITEM_TM26_EARTHQUAKE,
+ .price = 3000,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gTM26ItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_TM_HM,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_TMHM,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("TM27"),
+ .itemId = ITEM_TM27_RETURN,
+ .price = 1000,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gTM27ItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_TM_HM,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_TMHM,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("TM28"),
+ .itemId = ITEM_TM28_DIG,
+ .price = 2000,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gTM28ItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_TM_HM,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_TMHM,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("TM29"),
+ .itemId = ITEM_TM29_PSYCHIC,
+ .price = 2000,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gTM29ItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_TM_HM,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_TMHM,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("TM30"),
+ .itemId = ITEM_TM30_SHADOW_BALL,
+ .price = 3000,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gTM30ItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_TM_HM,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_TMHM,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("TM31"),
+ .itemId = ITEM_TM31_BRICK_BREAK,
+ .price = 3000,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gTM31ItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_TM_HM,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_TMHM,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("TM32"),
+ .itemId = ITEM_TM32_DOUBLE_TEAM,
+ .price = 2000,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gTM32ItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_TM_HM,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_TMHM,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("TM33"),
+ .itemId = ITEM_TM33_REFLECT,
+ .price = 3000,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gTM33ItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_TM_HM,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_TMHM,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("TM34"),
+ .itemId = ITEM_TM34_SHOCK_WAVE,
+ .price = 3000,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gTM34ItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_TM_HM,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_TMHM,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("TM35"),
+ .itemId = ITEM_TM35_FLAMETHROWER,
+ .price = 3000,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gTM35ItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_TM_HM,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_TMHM,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("TM36"),
+ .itemId = ITEM_TM36_SLUDGE_BOMB,
+ .price = 1000,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gTM36ItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_TM_HM,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_TMHM,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("TM37"),
+ .itemId = ITEM_TM37_SANDSTORM,
+ .price = 2000,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gTM37ItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_TM_HM,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_TMHM,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("TM38"),
+ .itemId = ITEM_TM38_FIRE_BLAST,
+ .price = 5500,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gTM38ItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_TM_HM,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_TMHM,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("TM39"),
+ .itemId = ITEM_TM39_ROCK_TOMB,
+ .price = 3000,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gTM39ItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_TM_HM,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_TMHM,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("TM40"),
+ .itemId = ITEM_TM40_AERIAL_ACE,
+ .price = 3000,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gTM40ItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_TM_HM,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_TMHM,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("TM41"),
+ .itemId = ITEM_TM41_TORMENT,
+ .price = 3000,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gTM41ItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_TM_HM,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_TMHM,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("TM42"),
+ .itemId = ITEM_TM42_FACADE,
+ .price = 3000,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gTM42ItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_TM_HM,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_TMHM,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("TM43"),
+ .itemId = ITEM_TM43_SECRET_POWER,
+ .price = 3000,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gTM43ItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_TM_HM,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_TMHM,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("TM44"),
+ .itemId = ITEM_TM44_REST,
+ .price = 3000,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gTM44ItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_TM_HM,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_TMHM,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("TM45"),
+ .itemId = ITEM_TM45_ATTRACT,
+ .price = 3000,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gTM45ItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_TM_HM,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_TMHM,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("TM46"),
+ .itemId = ITEM_TM46_THIEF,
+ .price = 3000,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gTM46ItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_TM_HM,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_TMHM,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("TM47"),
+ .itemId = ITEM_TM47_STEEL_WING,
+ .price = 3000,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gTM47ItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_TM_HM,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_TMHM,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("TM48"),
+ .itemId = ITEM_TM48_SKILL_SWAP,
+ .price = 3000,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gTM48ItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_TM_HM,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_TMHM,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("TM49"),
+ .itemId = ITEM_TM49_SNATCH,
+ .price = 3000,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gTM49ItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_TM_HM,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_TMHM,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("TM50"),
+ .itemId = ITEM_TM50_OVERHEAT,
+ .price = 3000,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gTM50ItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_TM_HM,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_TMHM,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("HM01"),
+ .itemId = ITEM_HM01_CUT,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gHM01ItemDescription,
+ .importance = 1,
+ .unk19 = 0,
+ .pocket = POCKET_TM_HM,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_TMHM,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("HM02"),
+ .itemId = ITEM_HM02_FLY,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gHM02ItemDescription,
+ .importance = 1,
+ .unk19 = 0,
+ .pocket = POCKET_TM_HM,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_TMHM,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("HM03"),
+ .itemId = ITEM_HM03_SURF,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gHM03ItemDescription,
+ .importance = 1,
+ .unk19 = 0,
+ .pocket = POCKET_TM_HM,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_TMHM,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("HM04"),
+ .itemId = ITEM_HM04_STRENGTH,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gHM04ItemDescription,
+ .importance = 1,
+ .unk19 = 0,
+ .pocket = POCKET_TM_HM,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_TMHM,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("HM05"),
+ .itemId = ITEM_HM05_FLASH,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gHM05ItemDescription,
+ .importance = 1,
+ .unk19 = 0,
+ .pocket = POCKET_TM_HM,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_TMHM,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("HM06"),
+ .itemId = ITEM_HM06_ROCK_SMASH,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gHM06ItemDescription,
+ .importance = 1,
+ .unk19 = 0,
+ .pocket = POCKET_TM_HM,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_TMHM,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("HM07"),
+ .itemId = ITEM_HM07_WATERFALL,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gHM07ItemDescription,
+ .importance = 1,
+ .unk19 = 0,
+ .pocket = POCKET_TM_HM,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_TMHM,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("HM08"),
+ .itemId = ITEM_HM08_DIVE,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gHM08ItemDescription,
+ .importance = 1,
+ .unk19 = 0,
+ .pocket = POCKET_TM_HM,
+ .type = 1,
+ .fieldUseFunc = ItemUseOutOfBattle_TMHM,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("????????"),
+ .itemId = ITEM_NONE,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gDummyItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("????????"),
+ .itemId = ITEM_NONE,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gDummyItemDescription,
+ .importance = 0,
+ .unk19 = 0,
+ .pocket = POCKET_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+
+//FireRed/LeafGreen key items
+
+ {
+ .name = _("OAK’S PARCEL"),
+ .itemId = ITEM_OAKS_PARCEL,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gOaksParcelItemDescription,
+ .importance = 2,
+ .unk19 = 0,
+ .pocket = POCKET_KEY_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("POKé FLUTE"),
+ .itemId = ITEM_POKE_FLUTE,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gPokeFluteItemDescription,
+ .importance = 1,
+ .unk19 = 0,
+ .pocket = POCKET_KEY_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("SECRET KEY"),
+ .itemId = ITEM_SECRET_KEY,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gSecretKeyItemDescription,
+ .importance = 1,
+ .unk19 = 0,
+ .pocket = POCKET_KEY_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("BIKE VOUCHER"),
+ .itemId = ITEM_BIKE_VOUCHER,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gBikeVoucherItemDescription,
+ .importance = 1,
+ .unk19 = 0,
+ .pocket = POCKET_KEY_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("GOLD TEETH"),
+ .itemId = ITEM_GOLD_TEETH,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gGoldTeethItemDescription,
+ .importance = 1,
+ .unk19 = 0,
+ .pocket = POCKET_KEY_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("OLD AMBER"),
+ .itemId = ITEM_OLD_AMBER,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gOldAmberItemDescription,
+ .importance = 1,
+ .unk19 = 0,
+ .pocket = POCKET_KEY_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("CARD KEY"),
+ .itemId = ITEM_CARD_KEY,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gCardKeyItemDescription,
+ .importance = 1,
+ .unk19 = 0,
+ .pocket = POCKET_KEY_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("LIFT KEY"),
+ .itemId = ITEM_LIFT_KEY,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gLiftKeyItemDescription,
+ .importance = 1,
+ .unk19 = 0,
+ .pocket = POCKET_KEY_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("HELIX FOSSIL"),
+ .itemId = ITEM_HELIX_FOSSIL,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gHelixFossilItemDescription,
+ .importance = 1,
+ .unk19 = 0,
+ .pocket = POCKET_KEY_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("DOME FOSSIL"),
+ .itemId = ITEM_DOME_FOSSIL,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gDomeFossilItemDescription,
+ .importance = 1,
+ .unk19 = 0,
+ .pocket = POCKET_KEY_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("SILPH SCOPE"),
+ .itemId = ITEM_SILPH_SCOPE,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gSilphScopeItemDescription,
+ .importance = 1,
+ .unk19 = 0,
+ .pocket = POCKET_KEY_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("BICYCLE"),
+ .itemId = ITEM_BICYCLE,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gBicycleItemDescription,
+ .importance = 1,
+ .unk19 = 1,
+ .pocket = POCKET_KEY_ITEMS,
+ .type = 2,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("TOWN MAP"),
+ .itemId = ITEM_TOWN_MAP,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gTownMapItemDescription,
+ .importance = 1,
+ .unk19 = 1,
+ .pocket = POCKET_KEY_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("VS SEEKER"),
+ .itemId = ITEM_VS_SEEKER,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gVSSeekerItemDescription,
+ .importance = 1,
+ .unk19 = 1,
+ .pocket = POCKET_KEY_ITEMS,
+ .type = 2,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("FAME CHECKER"),
+ .itemId = ITEM_FAME_CHECKER,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gFameCheckerItemDescription,
+ .importance = 1,
+ .unk19 = 1,
+ .pocket = POCKET_KEY_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("TM CASE"),
+ .itemId = ITEM_TM_CASE,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gTMCaseItemDescription,
+ .importance = 1,
+ .unk19 = 1,
+ .pocket = POCKET_KEY_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("BERRY POUCH"),
+ .itemId = ITEM_BERRY_POUCH,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gBerryPouchItemDescription,
+ .importance = 1,
+ .unk19 = 1,
+ .pocket = POCKET_KEY_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("TEACHY TV"),
+ .itemId = ITEM_TEACHY_TV,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gTeachyTVItemDescription,
+ .importance = 1,
+ .unk19 = 1,
+ .pocket = POCKET_KEY_ITEMS,
+ .type = 2,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("TRI-PASS"),
+ .itemId = ITEM_TRI_PASS,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gTriPassItemDescription,
+ .importance = 1,
+ .unk19 = 1,
+ .pocket = POCKET_KEY_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("RAINBOW PASS"),
+ .itemId = ITEM_RAINBOW_PASS,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gRainbowPassItemDescription,
+ .importance = 1,
+ .unk19 = 1,
+ .pocket = POCKET_KEY_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("TEA"),
+ .itemId = ITEM_TEA,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gTeaItemDescription,
+ .importance = 1,
+ .unk19 = 1,
+ .pocket = POCKET_KEY_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("MYSTICTICKET"),
+ .itemId = ITEM_MYSTIC_TICKET,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gMysticTicketItemDescription,
+ .importance = 1,
+ .unk19 = 1,
+ .pocket = POCKET_KEY_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("AURORATICKET"),
+ .itemId = ITEM_AURORA_TICKET,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gAuroraTicketItemDescription,
+ .importance = 1,
+ .unk19 = 1,
+ .pocket = POCKET_KEY_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("POWDER JAR"),
+ .itemId = ITEM_POWDER_JAR,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gPowderJarItemDescription,
+ .importance = 1,
+ .unk19 = 1,
+ .pocket = POCKET_KEY_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_PowderJar,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("RUBY"),
+ .itemId = ITEM_RUBY,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gRubyItemDescription,
+ .importance = 1,
+ .unk19 = 1,
+ .pocket = POCKET_KEY_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("SAPPHIRE"),
+ .itemId = ITEM_SAPPHIRE,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gSapphireItemDescription,
+ .importance = 1,
+ .unk19 = 1,
+ .pocket = POCKET_KEY_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+
+//Emerald-specific key items
+
+ {
+ .name = _("MAGMA EMBLEM"),
+ .itemId = ITEM_MAGMA_EMBLEM,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gMagmaEmblemItemDescription,
+ .importance = 1,
+ .unk19 = 1,
+ .pocket = POCKET_KEY_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+ {
+ .name = _("OLD SEA MAP"),
+ .itemId = ITEM_OLD_SEA_MAP,
+ .price = 0,
+ .holdEffect = HOLD_EFFECT_NONE,
+ .holdEffectParam = 0,
+ .description = gOldSeaMapItemDescription,
+ .importance = 1,
+ .unk19 = 1,
+ .pocket = POCKET_KEY_ITEMS,
+ .type = 4,
+ .fieldUseFunc = ItemUseOutOfBattle_CannotUse,
+ .battleUsage = 0,
+ .battleUseFunc = NULL,
+ .secondaryId = 0,
+ },
+};
diff --git a/include/data/text/item_descriptions.h b/include/data/text/item_descriptions.h
new file mode 100644
index 000000000..8683978d7
--- /dev/null
+++ b/include/data/text/item_descriptions.h
@@ -0,0 +1,329 @@
+#ifndef POKEEMERALD_DATA_TEXT_ITEM_DESCRIPTIONS_H
+#define POKEEMERALD_DATA_TEXT_ITEM_DESCRIPTIONS_H
+const u8 gDummyItemDescription[] = _("?????");
+//Pokeballs
+const u8 gMasterBallItemDescription[] = _("The best BALL that\ncatches a POKéMON\nwithout fail.");
+const u8 gUltraBallItemDescription[] = _("A better BALL with\na higher catch rate\nthan a GREAT BALL.");
+const u8 gGreatBallItemDescription[] = _("A good BALL with a\nhigher catch rate\nthan a POKé BALL.");
+const u8 gPokeBallItemDescription[] = _("A tool used for\ncatching wild\nPOKéMON.");
+const u8 gSafariBallItemDescription[] = _("A special BALL that\nis used only in the\nSAFARI ZONE.");
+const u8 gNetBallItemDescription[] = _("A BALL that works\nwell on WATER- and\nBUG-type POKéMON.");
+const u8 gDiveBallItemDescription[] = _("A BALL that works\nbetter on POKéMON\non the ocean floor.");
+const u8 gNestBallItemDescription[] = _("A BALL that works\nbetter on weaker\nPOKéMON.");
+const u8 gRepeatBallItemDescription[] = _("A BALL that works\nbetter on POKéMON\ncaught before.");
+const u8 gTimerBallItemDescription[] = _("A BALL that gains\npower in battles\ntaking many turns.");
+const u8 gLuxuryBallItemDescription[] = _("A cozy BALL that\nmakes POKéMON\nmore friendly.");
+const u8 gPremierBallItemDescription[] = _("A rare BALL made\nin commemoration\nof some event.");
+//Medicine
+const u8 gPotionItemDescription[] = _("Restores the HP of\na POKéMON by\n20 points.");
+const u8 gAntidoteItemDescription[] = _("Heals a poisoned\nPOKéMON.");
+const u8 gBurnHealItemDescription[] = _("Heals POKéMON\nof a burn.");
+const u8 gIceHealItemDescription[] = _("Defrosts a frozen\nPOKéMON.");
+const u8 gAwakeningItemDescription[] = _("Awakens a sleeping\nPOKéMON.");
+const u8 gParalyzeHealItemDescription[] = _("Heals a paralyzed\nPOKéMON.");
+const u8 gFullRestoreItemDescription[] = _("Fully restores the\nHP and status of a\nPOKéMON.");
+const u8 gMaxPotionItemDescription[] = _("Fully restores the\nHP of a POKéMON.");
+const u8 gHyperPotionItemDescription[] = _("Restores the HP of\na POKéMON by\n200 points.");
+const u8 gSuperPotionItemDescription[] = _("Restores the HP of\na POKéMON by\n50 points.");
+const u8 gFullHealItemDescription[] = _("Heals all the\nstatus problems of\none POKéMON.");
+const u8 gReviveItemDescription[] = _("Revives a fainted\nPOKéMON with half\nits HP.");
+const u8 gMaxReviveItemDescription[] = _("Revives a fainted\nPOKéMON with all\nits HP.");
+const u8 gFreshWaterItemDescription[] = _("A mineral water\nthat restores HP\nby 50 points.");
+const u8 gSodaPopItemDescription[] = _("A fizzy soda drink\nthat restores HP\nby 60 points.");
+const u8 gLemonadeItemDescription[] = _("A very sweet drink\nthat restores HP\nby 80 points.");
+const u8 gMoomooMilkItemDescription[] = _("A nutritious milk\nthat restores HP\nby 100 points.");
+const u8 gEnergyPowderItemDescription[] = _("A bitter powder\nthat restores HP\nby 50 points.");
+const u8 gEnergyRootItemDescription[] = _("A bitter root\nthat restores HP\nby 200 points.");
+const u8 gHealPowderItemDescription[] = _("A bitter powder\nthat heals all\nstatus problems.");
+const u8 gRevivalHerbItemDescription[] = _("A very bitter herb\nthat revives a\nfainted POKéMON.");
+const u8 gEtherItemDescription[] = _("Restores the PP\nof a selected move\nby 10.");
+const u8 gMaxEtherItemDescription[] = _("Fully restores the\nPP of a selected\nmove.");
+const u8 gElixirItemDescription[] = _("Restores the PP\nof all moves by 10.");
+const u8 gMaxElixirItemDescription[] = _("Fully restores the\nPP of a POKéMON’s\nmoves.");
+const u8 gLavaCookieItemDescription[] = _("A local specialty\nthat heals all\nstatus problems.");
+const u8 gBlueFluteItemDescription[] = _("A glass flute that\nawakens sleeping\nPOKéMON.");
+const u8 gYellowFluteItemDescription[] = _("A glass flute that\nsnaps POKéMON\nout of confusion.");
+const u8 gRedFluteItemDescription[] = _("A glass flute that\nsnaps POKéMON\nout of attraction.");
+const u8 gBlackFluteItemDescription[] = _("A glass flute that\nkeeps away wild\nPOKéMON.");
+const u8 gWhiteFluteItemDescription[] = _("A glass flute that\nlures wild POKéMON.");
+const u8 gBerryJuiceItemDescription[] = _("A 100% pure juice\nthat restores HP\nby 20 points.");
+const u8 gSacredAshItemDescription[] = _("Fully revives and\nrestores all\nfainted POKéMON.");
+//Collectibles
+const u8 gShoalSaltItemDescription[] = _("Salt obtained from\ndeep inside the\nSHOAL CAVE.");
+const u8 gShoalShellItemDescription[] = _("A seashell found\ndeep inside the\nSHOAL CAVE.");
+const u8 gRedShardItemDescription[] = _("A shard from an\nancient item. Can\nbe sold cheaply.");
+const u8 gBlueShardItemDescription[] = _("A shard from an\nancient item. Can\nbe sold cheaply.");
+const u8 gYellowShardItemDescription[] = _("A shard from an\nancient item. Can\nbe sold cheaply.");
+const u8 gGreenShardItemDescription[] = _("A shard from an\nancient item. Can\nbe sold cheaply.");
+//Vitamins
+const u8 gHPUpItemDescription[] = _("Raises the base HP\nof one POKéMON.");
+const u8 gProteinItemDescription[] = _("Raises the base\nATTACK stat of one\nPOKéMON.");
+const u8 gIronItemDescription[] = _("Raises the base\nDEFENSE stat of\none POKéMON.");
+const u8 gCarbosItemDescription[] = _("Raises the base\nSPEED stat of one\nPOKéMON.");
+const u8 gCalciumItemDescription[] = _("Raises the base\nSP. ATK stat of one\nPOKéMON.");
+const u8 gRareCandyItemDescription[] = _("Raises the level\nof a POKéMON by\none.");
+const u8 gPPUpItemDescription[] = _("Raises the maximum\nPP of a selected\nmove.");
+const u8 gZincItemDescription[] = _("Raises the base\nSP. DEF stat of one\nPOKéMON.");
+const u8 gPPMaxItemDescription[] = _("Raises the PP of a\nmove to its maximum\npoints.");
+//Battle items
+const u8 gGuardSpecItemDescription[] = _("Prevents stat\nreduction when\nused in battle.");
+const u8 gDireHitItemDescription[] = _("Raises the\ncritical-hit ratio\nduring one battle.");
+const u8 gXAttackItemDescription[] = _("Raises the stat\nATTACK during one\nbattle.");
+const u8 gXDefendItemDescription[] = _("Raises the stat\nDEFENSE during one\nbattle.");
+const u8 gXSpeedItemDescription[] = _("Raises the stat\nSPEED during one\nbattle.");
+const u8 gXAccuracyItemDescription[] = _("Raises accuracy\nof attack moves\nduring one battle.");
+const u8 gXSpecialItemDescription[] = _("Raises the stat\nSP. ATK during one\nbattle.");
+const u8 gPokeDollItemDescription[] = _("Use to flee from\nany battle with\na wild POKéMON.");
+const u8 gFluffyTailItemDescription[] = _("Use to flee from\nany battle with\na wild POKéMON.");
+//Field items
+const u8 gSuperRepelItemDescription[] = _("Repels weak wild\nPOKéMON for 200\nsteps.");
+const u8 gMaxRepelItemDescription[] = _("Repels weak wild\nPOKéMON for 250\nsteps.");
+const u8 gEscapeRopeItemDescription[] = _("Use to escape\ninstantly from a\ncave or a dungeon.");
+const u8 gRepelItemDescription[] = _("Repels weak wild\nPOKéMON for 100\nsteps.");
+//Evolution stones
+const u8 gSunStoneItemDescription[] = _("Makes certain\nspecies of POKéMON\nevolve.");
+const u8 gMoonStoneItemDescription[] = _("Makes certain\nspecies of POKéMON\nevolve.");
+const u8 gFireStoneItemDescription[] = _("Makes certain\nspecies of POKéMON\nevolve.");
+const u8 gThunderStoneItemDescription[] = _("Makes certain\nspecies of POKéMON\nevolve.");
+const u8 gWaterStoneItemDescription[] = _("Makes certain\nspecies of POKéMON\nevolve.");
+const u8 gLeafStoneItemDescription[] = _("Makes certain\nspecies of POKéMON\nevolve.");
+//Valuable items
+const u8 gTinyMushroomItemDescription[] = _("A plain mushroom\nthat would sell\nat a cheap price.");
+const u8 gBigMushroomItemDescription[] = _("A rare mushroom\nthat would sell at a\nhigh price.");
+const u8 gPearlItemDescription[] = _("A pretty pearl\nthat would sell at a\ncheap price.");
+const u8 gBigPearlItemDescription[] = _("A lovely large pearl\nthat would sell at a\nhigh price.");
+const u8 gStardustItemDescription[] = _("Beautiful red sand.\nCan be sold at a\nhigh price.");
+const u8 gStarPieceItemDescription[] = _("A red gem shard.\nIt would sell for a\nvery high price.");
+const u8 gNuggetItemDescription[] = _("A nugget of pure\ngold. Can be sold at\na high price.");
+const u8 gHeartScaleItemDescription[] = _("A lovely scale.\nIt is coveted by\ncollectors.");
+//Mail
+const u8 gOrangeMailItemDescription[] = _("A ZIGZAGOON-print\nMAIL to be held by\na POKéMON.");
+const u8 gHarborMailItemDescription[] = _("A WINGULL-print\nMAIL to be held by\na POKéMON.");
+const u8 gGlitterMailItemDescription[] = _("A PIKACHU-print\nMAIL to be held by\na POKéMON.");
+const u8 gMechMailItemDescription[] = _("A MAGNEMITE-print\nMAIL to be held by\na POKéMON.");
+const u8 gWoodMailItemDescription[] = _("A SLAKOTH-print\nMAIL to be held by\na POKéMON.");
+const u8 gWaveMailItemDescription[] = _("A WAILMER-print\nMAIL to be held by\na POKéMON.");
+const u8 gBeadMailItemDescription[] = _("MAIL featuring a\nsketch of the\nholding POKéMON.");
+const u8 gShadowMailItemDescription[] = _("A DUSKULL-print\nMAIL to be held by\na POKéMON.");
+const u8 gTropicMailItemDescription[] = _("A BELLOSSOM-print\nMAIL to be held by\na POKéMON.");
+const u8 gDreamMailItemDescription[] = _("MAIL featuring a\nsketch of the\nholding POKéMON.");
+const u8 gFabMailItemDescription[] = _("A gorgeous-print\nMAIL to be held\nby a POKéMON.");
+const u8 gRetroMailItemDescription[] = _("MAIL featuring the\ndrawings of three\nPOKéMON.");
+//Berries
+const u8 gCheriBerryItemDescription[] = _("A hold item that\nheals paralysis\nin battle.");
+const u8 gChestoBerryItemDescription[] = _("A hold item that\nawakens POKéMON\nin battle.");
+const u8 gPechaBerryItemDescription[] = _("A hold item that\nheals poisoning\nin battle.");
+const u8 gRawstBerryItemDescription[] = _("A hold item that\nheals a burn in\nbattle.");
+const u8 gAspearBerryItemDescription[] = _("A hold item that\ndefrosts POKéMON\nin battle.");
+const u8 gLeppaBerryItemDescription[] = _("A hold item that\nrestores 10 PP in\nbattle.");
+const u8 gOranBerryItemDescription[] = _("A hold item that\nrestores 10 HP in\nbattle.");
+const u8 gPersimBerryItemDescription[] = _("A hold item that\nheals confusion\nin battle.");
+const u8 gLumBerryItemDescription[] = _("A hold item that\nheals any status\nproblem in battle.");
+const u8 gSitrusBerryItemDescription[] = _("A hold item that\nrestores 30 HP in\nbattle.");
+const u8 gFigyBerryItemDescription[] = _("A hold item that\nrestores HP but\nmay confuse.");
+const u8 gWikiBerryItemDescription[] = _("A hold item that\nrestores HP but\nmay confuse.");
+const u8 gMagoBerryItemDescription[] = _("A hold item that\nrestores HP but\nmay confuse.");
+const u8 gAguavBerryItemDescription[] = _("A hold item that\nrestores HP but\nmay confuse.");
+const u8 gIapapaBerryItemDescription[] = _("A hold item that\nrestores HP but\nmay confuse.");
+const u8 gRazzBerryItemDescription[] = _("{POKEBLOCK} ingredient.\nPlant in loamy soil\nto grow RAZZ.");
+const u8 gBlukBerryItemDescription[] = _("{POKEBLOCK} ingredient.\nPlant in loamy soil\nto grow BLUK.");
+const u8 gNanabBerryItemDescription[] = _("{POKEBLOCK} ingredient.\nPlant in loamy soil\nto grow NANAB.");
+const u8 gWepearBerryItemDescription[] = _("{POKEBLOCK} ingredient.\nPlant in loamy soil\nto grow WEPEAR.");
+const u8 gPinapBerryItemDescription[] = _("{POKEBLOCK} ingredient.\nPlant in loamy soil\nto grow PINAP.");
+const u8 gPomegBerryItemDescription[] = _("Makes a POKéMON\nfriendly but lowers\nbase HP.");
+const u8 gKelpsyBerryItemDescription[] = _("Makes a POKéMON\nfriendly but lowers\nbase ATTACK.");
+const u8 gQualotBerryItemDescription[] = _("Makes a POKéMON\nfriendly but lowers\nbase DEFENSE.");
+const u8 gHondewBerryItemDescription[] = _("Makes a POKéMON\nfriendly but lowers\nbase SP. ATK.");
+const u8 gGrepaBerryItemDescription[] = _("Makes a POKéMON\nfriendly but lowers\nbase SP. DEF.");
+const u8 gTamatoBerryItemDescription[] = _("Makes a POKéMON\nfriendly but lowers\nbase SPEED.");
+const u8 gCornnBerryItemDescription[] = _("{POKEBLOCK} ingredient.\nPlant in loamy soil\nto grow CORNN.");
+const u8 gMagostBerryItemDescription[] = _("{POKEBLOCK} ingredient.\nPlant in loamy soil\nto grow MAGOST.");
+const u8 gRabutaBerryItemDescription[] = _("{POKEBLOCK} ingredient.\nPlant in loamy soil\nto grow RABUTA.");
+const u8 gNomelBerryItemDescription[] = _("{POKEBLOCK} ingredient.\nPlant in loamy soil\nto grow NOMEL.");
+const u8 gSpelonBerryItemDescription[] = _("{POKEBLOCK} ingredient.\nPlant in loamy soil\nto grow SPELON.");
+const u8 gPamtreBerryItemDescription[] = _("{POKEBLOCK} ingredient.\nPlant in loamy soil\nto grow PAMTRE.");
+const u8 gWatmelBerryItemDescription[] = _("{POKEBLOCK} ingredient.\nPlant in loamy soil\nto grow WATMEL.");
+const u8 gDurinBerryItemDescription[] = _("{POKEBLOCK} ingredient.\nPlant in loamy soil\nto grow DURIN.");
+const u8 gBelueBerryItemDescription[] = _("{POKEBLOCK} ingredient.\nPlant in loamy soil\nto grow BELUE.");
+const u8 gLiechiBerryItemDescription[] = _("A hold item that\nraises ATTACK in\na pinch.");
+const u8 gGanlonBerryItemDescription[] = _("A hold item that\nraises DEFENSE in\na pinch.");
+const u8 gSalacBerryItemDescription[] = _("A hold item that\nraises SPEED in\na pinch.");
+const u8 gPetayaBerryItemDescription[] = _("A hold item that\nraises SP. ATK in\na pinch.");
+const u8 gApicotBerryItemDescription[] = _("A hold item that\nraises SP. DEF in\na pinch.");
+const u8 gLansatBerryItemDescription[] = _("A hold item that\nups the critical-\nhit rate in a pinch.");
+const u8 gStarfBerryItemDescription[] = _("A hold item that\nsharply boosts a\nstat in a pinch.");
+const u8 gEnigmaBerryItemDescription[] = _("{POKEBLOCK} ingredient.\nPlant in loamy soil\nto grow a mystery.");
+//Hold items
+const u8 gBrightPowderItemDescription[] = _("A hold item that\ncasts a glare to\nreduce accuracy.");
+const u8 gWhiteHerbItemDescription[] = _("A hold item that\nrestores any\nlowered stat.");
+const u8 gMachoBraceItemDescription[] = _("A hold item that\npromotes growth,\nbut reduces SPEED.");
+const u8 gExpShareItemDescription[] = _("A hold item that\ngets EXP. points\nfrom battles.");
+const u8 gQuickClawItemDescription[] = _("A hold item that\noccasionally allows\nthe first strike.");
+const u8 gSootheBellItemDescription[] = _("A hold item that\ncalms spirits and\nfosters friendship.");
+const u8 gMentalHerbItemDescription[] = _("A hold item that\nsnaps POKéMON out\nof infatuation.");
+const u8 gChoiceBandItemDescription[] = _("Raises a move’s\npower, but permits\nonly that move.");
+const u8 gKingsRockItemDescription[] = _("A hold item that\nmay cause flinching\nwhen the foe is hit.");
+const u8 gSilverPowderItemDescription[] = _("A hold item that\nraises the power of\nBUG-type moves.");
+const u8 gAmuletCoinItemDescription[] = _("Doubles money in\nbattle if the\nholder takes part.");
+const u8 gCleanseTagItemDescription[] = _("A hold item that\nhelps repel wild\nPOKéMON.");
+const u8 gSoulDewItemDescription[] = _("Hold item: raises\nSP. ATK & SP. DEF of\nLATIOS & LATIAS.");
+const u8 gDeepSeaToothItemDescription[] = _("A hold item that\nraises the SP. ATK\nof CLAMPERL.");
+const u8 gDeepSeaScaleItemDescription[] = _("A hold item that\nraises the SP. DEF\nof CLAMPERL.");
+const u8 gSmokeBallItemDescription[] = _("A hold item that\nassures fleeing\nfrom wild POKéMON.");
+const u8 gEverstoneItemDescription[] = _("A wondrous hold\nitem that prevents\nevolution.");
+const u8 gFocusBandItemDescription[] = _("A hold item that\noccasionally\nprevents fainting.");
+const u8 gLuckyEggItemDescription[] = _("A hold item that\nboosts EXP. points\nearned in battle.");
+const u8 gScopeLensItemDescription[] = _("A hold item that\nimproves the\ncritical-hit rate.");
+const u8 gMetalCoatItemDescription[] = _("A hold item that\nraises the power of\nSTEEL-type moves.");
+const u8 gLeftoversItemDescription[] = _("A hold item that\ngradually restores\nHP in battle.");
+const u8 gDragonScaleItemDescription[] = _("A strange scale\nheld by DRAGON-\ntype POKéMON.");
+const u8 gLightBallItemDescription[] = _("A hold item that\nraises the SP. ATK\nof PIKACHU.");
+const u8 gSoftSandItemDescription[] = _("A hold item that\nraises the power of\nGROUND-type moves.");
+const u8 gHardStoneItemDescription[] = _("A hold item that\nraises the power of\nROCK-type moves.");
+const u8 gMiracleSeedItemDescription[] = _("A hold item that\nraises the power of\nGRASS-type moves.");
+const u8 gBlackGlassesItemDescription[] = _("A hold item that\nraises the power of\nDARK-type moves.");
+const u8 gBlackBeltItemDescription[] = _("A hold item that\nboosts FIGHTING-\ntype moves.");
+const u8 gMagnetItemDescription[] = _("A hold item that\nboosts ELECTRIC-\ntype moves.");
+const u8 gMysticWaterItemDescription[] = _("A hold item that\nraises the power of\nWATER-type moves.");
+const u8 gSharpBeakItemDescription[] = _("A hold item that\nraises the power of\nFLYING-type moves.");
+const u8 gPoisonBarbItemDescription[] = _("A hold item that\nraises the power of\nPOISON-type moves.");
+const u8 gNeverMeltIceItemDescription[] = _("A hold item that\nraises the power of\nICE-type moves.");
+const u8 gSpellTagItemDescription[] = _("A hold item that\nraises the power of\nGHOST-type moves.");
+const u8 gTwistedSpoonItemDescription[] = _("A hold item that\nboosts PSYCHIC-\ntype moves.");
+const u8 gCharcoalItemDescription[] = _("A hold item that\nraises the power of\nFIRE-type moves.");
+const u8 gDragonFangItemDescription[] = _("A hold item that\nraises the power of\nDRAGON-type moves.");
+const u8 gSilkScarfItemDescription[] = _("A hold item that\nraises the power of\nNORMAL-type moves.");
+const u8 gUpGradeItemDescription[] = _("A peculiar box made\nby SILPH CO.");
+const u8 gShellBellItemDescription[] = _("A hold item that\nrestores HP upon\nstriking the foe.");
+const u8 gSeaIncenseItemDescription[] = _("A hold item that\nslightly boosts\nWATER-type moves.");
+const u8 gLaxIncenseItemDescription[] = _("A hold item that\nslightly lowers the\nfoe’s accuracy.");
+const u8 gLuckyPunchItemDescription[] = _("A hold item that\nraises CHANSEY’s\ncritical-hit rate.");
+const u8 gMetalPowderItemDescription[] = _("A hold item that\nraises DITTO’s\nDEFENSE.");
+const u8 gThickClubItemDescription[] = _("A hold item that \nraises CUBONE or\nMAROWAK’s ATTACK.");
+const u8 gStickItemDescription[] = _("A hold item that\nraises FARFETCH’D’s\ncritical-hit ratio.");
+const u8 gRedScarfItemDescription[] = _("A hold item that\nraises COOL in\nCONTESTS.");
+const u8 gBlueScarfItemDescription[] = _("A hold item that\nraises BEAUTY in\nCONTESTS.");
+const u8 gPinkScarfItemDescription[] = _("A hold item that\nraises CUTE in\nCONTESTS.");
+const u8 gGreenScarfItemDescription[] = _("A hold item that\nraises SMART in\nCONTESTS.");
+const u8 gYellowScarfItemDescription[] = _("A hold item that\nraises TOUGH in\nCONTESTS.");
+//Key items
+const u8 gMachBikeItemDescription[] = _("A folding bicycle\nthat doubles your\nspeed or better.");
+const u8 gCoinCaseItemDescription[] = _("A case that holds\nup to 9,999 COINS.");
+const u8 gItemfinderItemDescription[] = _("A device that\nsignals an invisible\nitem by sound.");
+const u8 gOldRodItemDescription[] = _("Use by any body of\nwater to fish for\nwild POKéMON.");
+const u8 gGoodRodItemDescription[] = _("A decent fishing\nrod for catching\nwild POKéMON.");
+const u8 gSuperRodItemDescription[] = _("The best fishing\nrod for catching\nwild POKéMON.");
+const u8 gSSTicketItemDescription[] = _("The ticket required\nfor sailing on a\nferry.");
+const u8 gContestPassItemDescription[] = _("The pass required\nfor entering\nPOKéMON CONTESTS.");
+const u8 gWailmerPailItemDescription[] = _("A tool used for\nwatering BERRIES\nand plants.");
+const u8 gDevonGoodsItemDescription[] = _("A package that\ncontains DEVON’s\nmachine parts.");
+const u8 gSootSackItemDescription[] = _("A sack used to\ngather and hold\nvolcanic ash.");
+const u8 gBasementKeyItemDescription[] = _("The key for NEW\nMAUVILLE beneath\nMAUVILLE CITY.");
+const u8 gAcroBikeItemDescription[] = _("A folding bicycle\ncapable of jumps\nand wheelies.");
+const u8 gPokeblockCaseItemDescription[] = _("A case for holding\n{POKEBLOCK}S made with\na BERRY BLENDER.");
+const u8 gLetterItemDescription[] = _("A letter to STEVEN\nfrom the PRESIDENT\nof the DEVON CORP.");
+const u8 gEonTicketItemDescription[] = _("The ticket for a\nferry to a distant\nsouthern island.");
+const u8 gRedOrbItemDescription[] = _("A red, glowing orb\nsaid to contain an\nancient power.");
+const u8 gBlueOrbItemDescription[] = _("A blue, glowing orb\nsaid to contain an\nancient power.");
+const u8 gScannerItemDescription[] = _("A device found\ninside the\nABANDONED SHIP.");
+const u8 gGoGogglesItemDescription[] = _("Nifty goggles that\nprotect eyes from\ndesert sandstorms.");
+const u8 gMeteoriteItemDescription[] = _("A meteorite found\nat METEOR FALLS.");
+const u8 gRoom1KeyItemDescription[] = _("A key that opens a\ndoor inside the\nABANDONED SHIP.");
+const u8 gRoom2KeyItemDescription[] = _("A key that opens a\ndoor inside the\nABANDONED SHIP.");
+const u8 gRoom4KeyItemDescription[] = _("A key that opens a\ndoor inside the\nABANDONED SHIP.");
+const u8 gRoom6KeyItemDescription[] = _("A key that opens a\ndoor inside the\nABANDONED SHIP.");
+const u8 gStorageKeyItemDescription[] = _("The key to the\nstorage inside the\nABANDONED SHIP.");
+const u8 gRootFossilItemDescription[] = _("A fossil of an\nancient, seafloor-\ndwelling POKéMON.");
+const u8 gClawFossilItemDescription[] = _("A fossil of an\nancient, seafloor-\ndwelling POKéMON.");
+const u8 gDevonScopeItemDescription[] = _("A device by DEVON\nthat signals any\nunseeable POKéMON.");
+//TMs/HMs
+const u8 gTM01ItemDescription[] = _("Powerful, but makes\nthe user flinch if\nhit by the foe.");
+const u8 gTM02ItemDescription[] = _("Hooks and slashes\nthe foe with long,\nsharp claws.");
+const u8 gTM03ItemDescription[] = _("Generates an\nultrasonic wave\nthat may confuse.");
+const u8 gTM04ItemDescription[] = _("Raises SP. ATK and\nSP. DEF by focusing\nthe mind.");
+const u8 gTM05ItemDescription[] = _("A savage roar that\nmakes the foe flee \nto end the battle.");
+const u8 gTM06ItemDescription[] = _("Poisons the foe\nwith a toxin that\ngradually worsens.");
+const u8 gTM07ItemDescription[] = _("Creates a hailstorm\nthat damages all\ntypes except ICE.");
+const u8 gTM08ItemDescription[] = _("Bulks up the body\nto boost both\nATTACK & DEFENSE.");
+const u8 gTM09ItemDescription[] = _("Shoots 2 to 5 seeds\nin a row to strike\nthe foe.");
+const u8 gTM10ItemDescription[] = _("The attack power\nvaries among\ndifferent POKéMON.");
+const u8 gTM11ItemDescription[] = _("Raises the power of\nFIRE-type moves\nfor 5 turns.");
+const u8 gTM12ItemDescription[] = _("Enrages the foe so\nit can only use\nattack moves.");
+const u8 gTM13ItemDescription[] = _("Fires an icy cold\nbeam that may\nfreeze the foe.");
+const u8 gTM14ItemDescription[] = _("A brutal snow-and-\nwind attack that\nmay freeze the foe.");
+const u8 gTM15ItemDescription[] = _("Powerful, but needs\nrecharging the\nnext turn.");
+const u8 gTM16ItemDescription[] = _("Creates a wall of\nlight that lowers\nSP. ATK damage.");
+const u8 gTM17ItemDescription[] = _("Negates all damage,\nbut may fail if used\nin succession.");
+const u8 gTM18ItemDescription[] = _("Raises the power of\nWATER-type moves\nfor 5 turns.");
+const u8 gTM19ItemDescription[] = _("Recovers half the\nHP of the damage \nthis move inflicts.");
+const u8 gTM20ItemDescription[] = _("Prevents status\nabnormality with a\nmystical power.");
+const u8 gTM21ItemDescription[] = _("The less the user\nlikes you, the more\npowerful this move.");
+const u8 gTM22ItemDescription[] = _("Absorbs sunlight in\nthe 1st turn, then\nattacks next turn.");
+const u8 gTM23ItemDescription[] = _("Slams the foe with\na hard tail. It may\nlower DEFENSE.");
+const u8 gTM24ItemDescription[] = _("A powerful electric\nattack that may\ncause paralysis.");
+const u8 gTM25ItemDescription[] = _("Strikes the foe\nwith a thunderbolt.\nIt may paralyze.");
+const u8 gTM26ItemDescription[] = _("Causes a quake\nthat has no effect\non flying foes.");
+const u8 gTM27ItemDescription[] = _("The more the user\nlikes you, the more\npowerful this move.");
+const u8 gTM28ItemDescription[] = _("Digs underground\nthe 1st turn, then\nstrikes next turn.");
+const u8 gTM29ItemDescription[] = _("A powerful psychic\nattack that may\nlower SP. DEF.");
+const u8 gTM30ItemDescription[] = _("Hurls a dark lump\nat the foe. It may\nlower SP. DEF.");
+const u8 gTM31ItemDescription[] = _("Destroys barriers\nlike LIGHT SCREEN\nand causes damage.");
+const u8 gTM32ItemDescription[] = _("Creates illusory\ncopies to enhance\nelusiveness.");
+const u8 gTM33ItemDescription[] = _("Creates a wall of\nlight that weakens\nphysical attacks.");
+const u8 gTM34ItemDescription[] = _("Zaps the foe with a\njolt of electricity\nthat never misses.");
+const u8 gTM35ItemDescription[] = _("Looses a stream of\nfire that may burn\nthe foe.");
+const u8 gTM36ItemDescription[] = _("Hurls sludge at the\nfoe. It may poison\nthe foe.");
+const u8 gTM37ItemDescription[] = _("Causes a sandstorm\nthat hits the foe\nover several turns.");
+const u8 gTM38ItemDescription[] = _("A powerful fire\nattack that may\nburn the foe.");
+const u8 gTM39ItemDescription[] = _("Stops the foe from\nmoving with rocks.\nMay lower SPEED.");
+const u8 gTM40ItemDescription[] = _("An extremely fast\nattack that can’t\nbe avoided.");
+const u8 gTM41ItemDescription[] = _("Prevents the foe\nfrom using the same\nmove in a row.");
+const u8 gTM42ItemDescription[] = _("Raises ATTACK when\npoisoned, burned,\nor paralyzed.");
+const u8 gTM43ItemDescription[] = _("Adds an effect to\nattack depending\non the location.");
+const u8 gTM44ItemDescription[] = _("The user sleeps for\n2 turns to restore\nhealth and status.");
+const u8 gTM45ItemDescription[] = _("Makes it tough to\nattack a foe of the\nopposite gender.");
+const u8 gTM46ItemDescription[] = _("While attacking,\nit may steal the\nfoe’s held item.");
+const u8 gTM47ItemDescription[] = _("Spreads hard-\nedged wings and\nslams into the foe.");
+const u8 gTM48ItemDescription[] = _("Switches abilities\nwith the foe on the\nturn this is used.");
+const u8 gTM49ItemDescription[] = _("Steals the effects\nof the move the foe\nis trying to use.");
+const u8 gTM50ItemDescription[] = _("Enables full-power\nattack, but sharply\nlowers SP. ATK.");
+
+const u8 gHM01ItemDescription[] = _("Attacks the foe\nwith sharp blades\nor claws.");
+const u8 gHM02ItemDescription[] = _("Flies up on the\nfirst turn, then\nattacks next turn.");
+const u8 gHM03ItemDescription[] = _("Creates a huge\nwave, then crashes\nit down on the foe.");
+const u8 gHM04ItemDescription[] = _("Builds enormous\npower, then slams\nthe foe.");
+const u8 gHM05ItemDescription[] = _("Looses a powerful\nblast of light that\nreduces accuracy.");
+const u8 gHM06ItemDescription[] = _("A rock-crushingly\ntough attack that\nmay lower DEFENSE.");
+const u8 gHM07ItemDescription[] = _("Attacks the foe\nwith enough power\nto climb waterfalls.");
+const u8 gHM08ItemDescription[] = _("Dives underwater\nthe 1st turn, then\nattacks next turn.");
+//FireRed/LeafGreen key items
+const u8 gOaksParcelItemDescription[] = _("A parcel for PROF.\nOAK from a POKéMON\nMART’s clerk.");
+const u8 gPokeFluteItemDescription[] = _("A sweet-sounding\nflute that awakens\nPOKéMON.");
+const u8 gSecretKeyItemDescription[] = _("The key to the\nCINNABAR ISLAND\nGYM’s entrance.");
+const u8 gBikeVoucherItemDescription[] = _("A voucher for\nobtaining a bicycle\nfrom the BIKE SHOP.");
+const u8 gGoldTeethItemDescription[] = _("Gold dentures lost\nby the SAFARI\nZONE’s WARDEN.");
+const u8 gOldAmberItemDescription[] = _("A stone containing\nthe genes of an\nancient POKéMON.");
+const u8 gCardKeyItemDescription[] = _("A card-type door\nkey used in SILPH\nCO’s office.");
+const u8 gLiftKeyItemDescription[] = _("An elevator key\nused in TEAM\nROCKET’s HIDEOUT.");
+const u8 gHelixFossilItemDescription[] = _("A piece of an\nancient marine\nPOKéMON’s seashell.");
+const u8 gDomeFossilItemDescription[] = _("A piece of an\nancient marine\nPOKéMON’s shell.");
+const u8 gSilphScopeItemDescription[] = _("SILPH CO’s scope\nmakes unseeable\nPOKéMON visible.");
+const u8 gBicycleItemDescription[] = _("A folding bicycle\nthat is faster than\nthe RUNNING SHOES.");
+const u8 gTownMapItemDescription[] = _("Can be viewed\nanytime. Shows your\npresent location.");
+const u8 gVSSeekerItemDescription[] = _("A rechargeable unit\nthat flags battle-\nready TRAINERS.");
+const u8 gFameCheckerItemDescription[] = _("Stores information\non famous people\nfor instant recall.");
+const u8 gTMCaseItemDescription[] = _("A convenient case \nthat holds TMs and\nHMs.");
+const u8 gBerryPouchItemDescription[] = _("A convenient\ncontainer that\nholds BERRIES.");
+const u8 gTeachyTVItemDescription[] = _("A TV set tuned to\nan advice program\nfor TRAINERS.");
+const u8 gTriPassItemDescription[] = _("A pass for ferries\nbetween ONE, TWO,\nand THREE ISLAND.");
+const u8 gRainbowPassItemDescription[] = _("For ferries serving\nVERMILION and the\nSEVII ISLANDS.");
+const u8 gTeaItemDescription[] = _("A thirst-quenching\ntea prepared by an\nold lady.");
+const u8 gMysticTicketItemDescription[] = _("A ticket required\nto board the ship\nto NAVEL ROCK.");
+const u8 gAuroraTicketItemDescription[] = _("A ticket required\nto board the ship\nto BIRTH ISLAND.");
+const u8 gPowderJarItemDescription[] = _("Stores BERRY\nPOWDER made using\na BERRY CRUSHER.");
+const u8 gRubyItemDescription[] = _("An exquisite, red-\nglowing gem that\nsymbolizes passion.");
+const u8 gSapphireItemDescription[] = _("A brilliant blue gem\nthat symbolizes\nhonesty.");
+//Emerald-specific key items
+const u8 gMagmaEmblemItemDescription[] = _("A medal-like item in\nthe same shape as\nTEAM MAGMA’s mark.");
+const u8 gOldSeaMapItemDescription[] = _("A faded sea chart\nthat shows the way\nto a certain island.");
+#endif // POKEEMERALD_DATA_TEXT_ITEM_DESCRIPTIONS_H
diff --git a/include/decoration.h b/include/decoration.h
index a51d9ccce..76b2f2ec4 100644
--- a/include/decoration.h
+++ b/include/decoration.h
@@ -70,5 +70,8 @@ void sub_8126968(void);
void sub_8126AD8(u8 taskId);
void sub_8127D38(u16 mapX, u16 mapY, u16 decor);
void sub_8126B2C(u8 taskId);
+void sub_8127208(u8 taskId);
+void sub_8127250(u8 *dest, u8 decorCat);
+bool8 IsSelectedDecorInThePC(void);
#endif //GUARD_DECORATION_H
diff --git a/include/easy_chat.h b/include/easy_chat.h
index e5fdc8bea..541fa6c1b 100644
--- a/include/easy_chat.h
+++ b/include/easy_chat.h
@@ -1,40 +1,16 @@
#ifndef GUARD_EASYCHAT_H
#define GUARD_EASYCHAT_H
-// Taken from Pokeruby, check if it's correct
-enum
-{
- EC_GROUP_POKEMON,
- EC_GROUP_TRAINER,
- EC_GROUP_STATUS,
- EC_GROUP_BATTLE,
- EC_GROUP_GREETINGS,
- EC_GROUP_PEOPLE,
- EC_GROUP_VOICES,
- EC_GROUP_SPEECH,
- EC_GROUP_ENDINGS,
- EC_GROUP_FEELINGS,
- EC_GROUP_CONDITIONS,
- EC_GROUP_ACTIONS,
- EC_GROUP_LIFESTYLE,
- EC_GROUP_HOBBIES,
- EC_GROUP_TIME,
- EC_GROUP_MISC,
- EC_GROUP_ADJECTIVES,
- EC_GROUP_EVENTS,
- EC_GROUP_MOVE_1,
- EC_GROUP_MOVE_2,
- EC_GROUP_TRENDY_SAYING,
- EC_GROUP_POKEMON_2,
-};
-
void InitEasyChatPhrases(void);
void easy_chat_input_maybe(void);
-void CopyEasyChatWord(u8 *dest, u16 word);
+u8 * CopyEasyChatWord(u8 *dest, u16 word);
bool32 sub_811F8D8(u16 word);
void InitializeEasyChatWordArray(u16 *words, u16 length);
void ConvertEasyChatWordsToString(u8 *dest, const u16 *src, u16 length1, u16 length2);
bool8 ECWord_CheckIfOutsideOfValidRange(u16 word);
u16 sub_811EE38(u16 group);
+u16 sub_811F01C(void);
+bool16 EasyChat_GetNumWordsInGroup(u8);
+u16 sub_811EE90(u16);
#endif // GUARD_EASYCHAT_H
diff --git a/include/event_scripts.h b/include/event_scripts.h
index b26d1c164..4f85156aa 100644
--- a/include/event_scripts.h
+++ b/include/event_scripts.h
@@ -398,4 +398,134 @@ extern const u8 LittlerootTown_MaysHouse_2F_EventScript_1F958F[];
extern const u8 gText_0827D507[];
extern const u8 gText_0827D531[];
+//mauville_old_man
+extern const u8 gOtherText_Is[];
+extern const u8 gOtherText_DontYouAgree[];
+extern const u8 gText_SoPretty[];
+extern const u8 gText_SoDarling[];
+extern const u8 gText_SoRelaxed[];
+extern const u8 gText_SoSunny[];
+extern const u8 gText_SoDesirable[];
+extern const u8 gText_SoExciting[];
+extern const u8 gText_SoAmusing[];
+extern const u8 gText_SoMagical[];
+extern const u8 gUnknown_08294313[];
+extern const u8 gUnknown_08294359[];
+extern const u8 gUnknown_08294398[];
+extern const u8 gUnknown_082943DA[];
+extern const u8 gUnknown_0829441C[];
+extern const u8 gUnknown_08294460[];
+extern const u8 gUnknown_082944A0[];
+extern const u8 gUnknown_082944D5[];
+
+
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_28E930[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_28E947[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_28E956[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_28E9D7[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_28E9EF[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_28E9FE[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EA7D[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EA98[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EAA8[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EB19[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EB31[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EB3E[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EBB5[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EBCD[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EBDD[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EC60[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EC79[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EC81[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_28ED04[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_28ED21[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_28ED30[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EDA1[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EDB5[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EDCF[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EE45[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EE5D[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EE6A[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EEDD[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EEF1[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EF01[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EF73[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EF95[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EFAA[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F045[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F05A[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F071[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F0F3[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F10D[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F125[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F1BE[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F1D5[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F1DE[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F24F[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F269[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F277[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F2FC[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F314[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F32A[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F3AD[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F3C6[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F3D2[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F44B[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F461[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F47C[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F50C[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F51B[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F538[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F5BE[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F5D1[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F5F2[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F678[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F694[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F6B4[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F751[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F76A[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F776[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F7F6[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F811[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F822[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F89C[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F8AF[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F8BC[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F92F[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F941[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F949[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F9D1[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F9EA[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F9FD[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FA81[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FA99[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FAA7[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FB1D[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FB35[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FB47[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FBC4[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FBD9[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FBEA[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FC6B[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FC85[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FC98[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FD1D[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FD35[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FD40[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FDA2[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FDBD[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FDCE[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FE57[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FE72[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FE88[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FF0C[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FF27[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FF44[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FFDD[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FFFA[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_29000D[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_290097[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_2900B5[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_2900CB[];
+
#endif //GUARD_EVENT_SCRIPTS_H
diff --git a/include/fieldmap.h b/include/fieldmap.h
index 3128e95ce..6e127ce5d 100644
--- a/include/fieldmap.h
+++ b/include/fieldmap.h
@@ -1,22 +1,31 @@
#ifndef GUARD_FIELDMAP_H
#define GUARD_FIELDMAP_H
-extern struct MapCoords {
- int width;
- int height;
-} gUnknown_03005DC0;
+extern struct BackupMapData gUnknown_03005DC0;
u32 MapGridGetMetatileIdAt(int, int);
u32 MapGridGetMetatileBehaviorAt(int, int);
void MapGridSetMetatileIdAt(int, int, u16);
void MapGridSetMetatileEntryAt(int, int, u16);
void GetCameraCoords(u16*, u16*);
-bool8 MapGridIsImpassableAt(s16, s16);
-s32 GetMapBorderIdAt(s16, s16);
-bool32 CanCameraMoveInDirection(u8);
+bool8 MapGridIsImpassableAt(int, int);
+int GetMapBorderIdAt(int x, int y);
+int CanCameraMoveInDirection(int direction);
u16 GetBehaviorByMetatileId(u16 metatileId);
void sav1_camera_get_focus_coords(u16 *x, u16 *y);
u8 MapGridGetMetatileLayerTypeAt(s32 x, s32 y);
u8 CameraMove(s32 deltaX, s32 deltaY);
+void mapheader_copy_mapdata_with_padding(struct MapHeader *mapHeader);
+void map_copy_with_padding(u16 *map, u16 width, u16 height);
+void mapheader_copy_mapdata_of_adjacent_maps(struct MapHeader *);
+void fillSouthConnection(struct MapHeader const *, struct MapHeader const *, s32);
+void fillNorthConnection(struct MapHeader const *, struct MapHeader const *, s32);
+void fillWestConnection(struct MapHeader const *, struct MapHeader const *, s32);
+void fillEastConnection(struct MapHeader const *, struct MapHeader const *, s32);
+void mapdata_from_sav2(void);
+bool8 sub_8088BF0(u16*, u16, u8);
+struct MapConnection *sub_8088950(u8 direction, int x, int y);
+bool8 sub_80889A8(u8 direction, int x, int y, struct MapConnection *connection);
+bool8 sub_8088A0C(int x, int src_width, int dest_width, int offset);
#endif //GUARD_FIELDMAP_H
diff --git a/include/fldeff_80F9BCC.h b/include/fldeff_80F9BCC.h
index d57665c68..84015065e 100644
--- a/include/fldeff_80F9BCC.h
+++ b/include/fldeff_80F9BCC.h
@@ -10,5 +10,6 @@
void sub_80FA5E4(s16 id, s16 x, s16 y);
void sub_80FA794(s16 x, s16 y);
void overworld_poison_effect(void);
+bool8 sub_80FADE4(u16, u8);
#endif //GUARD_FLDEFF_80F9BCC_H
diff --git a/include/fldeff_cut.h b/include/fldeff_cut.h
new file mode 100644
index 000000000..f985fd82d
--- /dev/null
+++ b/include/fldeff_cut.h
@@ -0,0 +1,7 @@
+#ifndef GUARD_FLDEFF_CUT_H
+#define GUARD_FLDEFF_CUT_H
+
+void sub_80D423C(s16, s16);
+void sub_80D42B8(s16, s16);
+
+#endif // GUARD_FLDEFF_CUT_H
diff --git a/include/fldeff_groundshake.h b/include/fldeff_groundshake.h
new file mode 100644
index 000000000..c1629f9bd
--- /dev/null
+++ b/include/fldeff_groundshake.h
@@ -0,0 +1,6 @@
+#ifndef GUARD_FLDEFF_GROUNDSHAKE_H
+#define GUARD_FLDEFF_GROUNDSHAKE_H
+
+void sub_81BE72C(void);
+
+#endif // GUARD_FLDEFF_GROUNDSHAKE_H
diff --git a/include/global.h b/include/global.h
index f88203c90..ec636bb07 100644
--- a/include/global.h
+++ b/include/global.h
@@ -43,9 +43,6 @@
#define PARTY_SIZE 6
-#define POKEMON_NAME_LENGTH 10
-#define OT_NAME_LENGTH 7
-
#define min(a, b) ((a) < (b) ? (a) : (b))
#define max(a, b) ((a) >= (b) ? (a) : (b))
@@ -97,6 +94,31 @@ enum LanguageId
#define GAME_VERSION (VERSION_EMERALD)
#define GAME_LANGUAGE (LANGUAGE_ENGLISH)
+// capacities of various saveblock objects
+#define DAYCARE_MON_COUNT 2
+#define POKEBLOCKS_COUNT 40
+#define MAP_OBJECTS_COUNT 16
+#define BERRY_TREES_COUNT 128
+#define FLAGS_COUNT 300
+#define VARS_COUNT 256
+#define MAIL_COUNT 16
+#define SECRET_BASES_COUNT 20
+#define PC_ITEMS_COUNT 50
+#define BAG_ITEMS_COUNT 30
+#define BAG_KEYITEMS_COUNT 30
+#define BAG_POKEBALLS_COUNT 16
+#define BAG_TMHM_COUNT 64
+#define BAG_BERRIES_COUNT 46
+
+#define PYRAMID_BAG_ITEMS_COUNT 10
+
+// string lengths
+#define ITEM_NAME_LENGTH 14
+#define POKEMON_NAME_LENGTH 10
+#define OT_NAME_LENGTH 7
+#define PLAYER_NAME_LENGTH 8
+#define MAIL_WORDS_COUNT 9
+
enum
{
MALE,
@@ -129,15 +151,6 @@ enum
OPTIONS_BATTLE_STYLE_SET
};
-enum
-{
- BAG_ITEMS = 1,
- BAG_POKEBALLS,
- BAG_TMsHMs,
- BAG_BERRIES,
- BAG_KEYITEMS
-};
-
struct Coords16
{
s16 x;
@@ -209,11 +222,11 @@ struct BerryPickingResults // possibly used in the game itself? Size may be wron
u8 field_F;
};
+// two arrays for lvl50 and open level
struct PyramidBag
{
- u16 items_Lvl50[10];
- u16 items_OpenLvl[10];
- u8 quantity[10];
+ u16 itemId[2][PYRAMID_BAG_ITEMS_COUNT];
+ u8 quantity[2][PYRAMID_BAG_ITEMS_COUNT];
};
struct BerryCrush
@@ -223,8 +236,6 @@ struct BerryCrush
u32 unk;
};
-#define PLAYER_NAME_LENGTH 8
-
struct UnknownSaveBlock2Struct
{
u8 field_0;
@@ -303,7 +314,7 @@ struct SaveBlock2
/*0xE1A*/ u16 battlePyramidFloor; // possibly?
/*0xE1C*/ u8 field_E1C[16];
/*0xE2C*/ struct PyramidBag pyramidBag;
- /*0x???*/ u8 field_notSure[13];
+ /*0x???*/ u8 field_unkown[6];
/*0xE6E*/ u16 battleTentWinStreak;
/*0xE70*/ u8 field_E70[72];
/*0xEB8*/ u16 frontierBattlePoints;
@@ -417,8 +428,6 @@ struct EasyChatPair
u16 words[2];
}; /*size = 0x8*/
-#define MAIL_WORDS_COUNT 9
-
struct MailStruct
{
/*0x00*/ u16 words[MAIL_WORDS_COUNT];
@@ -428,41 +437,68 @@ struct MailStruct
/*0x20*/ u16 itemId;
};
-struct UnkMauvilleOldManStruct
+struct MauvilleManCommon
{
- u8 unk_2D94;
- u8 unk_2D95;
- /*0x2D96*/ u16 mauvilleOldMan_ecArray[6];
- /*0x2DA2*/ u16 mauvilleOldMan_ecArray2[6];
- /*0x2DAE*/ u8 playerName[8];
- /*0x2DB6*/ u8 filler_2DB6[0x3];
- /*0x2DB9*/ u8 playerTrainerId[4];
- u8 unk_2DBD;
+ u8 id;
+};
+
+struct MauvilleManBard
+{
+ /*0x00*/ u8 id;
+ /*0x02*/ u16 songLyrics[6];
+ /*0x0E*/ u16 temporaryLyrics[6];
+ /*0x1A*/ u8 playerName[8];
+ /*0x22*/ u8 filler_2DB6[0x3];
+ /*0x25*/ u8 playerTrainerId[4];
+ /*0x29*/ bool8 hasChangedSong;
+ /*0x2A*/ u8 language;
}; /*size = 0x2C*/
-struct UnkMauvilleOldManStruct2
+struct MauvilleManStoryteller
{
- u8 filler0;
- u8 unk1;
- u8 unk2;
- u16 mauvilleOldMan_ecArray[10];
- u8 mauvilleOldMan_ecArray2[12];
- u8 fillerF[0x2];
+ u8 id;
+ bool8 alreadyRecorded;
+ u8 filler2[2];
+ u8 gameStatIDs[4];
+ u8 trainerNames[4][7];
+ u8 statValues[4][4];
+ u8 language[4];
+};
+
+struct MauvilleManGiddy
+{
+ /*0x00*/ u8 id;
+ /*0x01*/ u8 taleCounter;
+ /*0x02*/ u8 questionNum;
+ /*0x04*/ u16 randomWords[10];
+ /*0x18*/ u8 questionList[8];
+ /*0x20*/ u8 language;
}; /*size = 0x2C*/
+struct MauvilleManHipster
+{
+ u8 id;
+ bool8 alreadySpoken;
+ u8 language;
+};
+
struct MauvilleOldManTrader
{
- u8 unk0;
- u8 unk1[4];
- u8 unk5[4][11];
- u8 unk31;
+ u8 id;
+ u8 decorIds[4];
+ u8 playerNames[4][11];
+ u8 alreadyTraded;
+ u8 language[4];
};
typedef union OldMan
{
- struct UnkMauvilleOldManStruct oldMan1;
- struct UnkMauvilleOldManStruct2 oldMan2;
+ struct MauvilleManCommon common;
+ struct MauvilleManBard bard;
+ struct MauvilleManGiddy giddy;
+ struct MauvilleManHipster hipster;
struct MauvilleOldManTrader trader;
+ struct MauvilleManStoryteller storyteller;
u8 filler[0x40];
} OldMan;
@@ -480,6 +516,8 @@ struct RecordMixing_UnknownStruct
u16 unk74[0x2];
};
+#define LINK_B_RECORDS_COUNT 5
+
struct LinkBattleRecord
{
u8 name[8];
@@ -489,6 +527,12 @@ struct LinkBattleRecord
u16 draws;
};
+struct LinkBattleRecords
+{
+ struct LinkBattleRecord entries[LINK_B_RECORDS_COUNT];
+ u8 languages[LINK_B_RECORDS_COUNT];
+};
+
struct RecordMixingGiftData
{
u8 unk0;
@@ -530,8 +574,6 @@ struct DaycareMon
u32 steps;
};
-#define DAYCARE_MON_COUNT 2
-
struct DayCare
{
struct DaycareMon mons[DAYCARE_MON_COUNT];
@@ -552,13 +594,6 @@ struct RecordMixingDayCareMail
bool16 holdsItem[DAYCARE_MON_COUNT];
};
-#define POKEBLOCKS_COUNT 40
-#define MAP_OBJECTS_COUNT 16
-#define BERRY_TREES_COUNT 128
-#define FLAGS_COUNT 300
-#define VARS_COUNT 256
-#define MAIL_COUNT 16
-
enum
{
LILYCOVE_LADY_QUIZ,
@@ -645,16 +680,16 @@ struct SaveBlock1
/*0x32*/ u16 mapDataId;
/*0x34*/ u16 mapView[0x100];
/*0x234*/ u8 playerPartyCount;
- /*0x238*/ struct Pokemon playerParty[6];
+ /*0x238*/ struct Pokemon playerParty[PARTY_SIZE];
/*0x490*/ u32 money;
/*0x494*/ u16 coins;
/*0x496*/ u16 registeredItem; // registered for use with SELECT button
- /*0x498*/ struct ItemSlot pcItems[50];
- /*0x560*/ struct ItemSlot bagPocket_Items[30];
- /*0x5D8*/ struct ItemSlot bagPocket_KeyItems[30];
- /*0x650*/ struct ItemSlot bagPocket_PokeBalls[16];
- /*0x690*/ struct ItemSlot bagPocket_TMHM[64];
- /*0x790*/ struct ItemSlot bagPocket_Berries[46];
+ /*0x498*/ struct ItemSlot pcItems[PC_ITEMS_COUNT];
+ /*0x560*/ struct ItemSlot bagPocket_Items[BAG_ITEMS_COUNT];
+ /*0x5D8*/ struct ItemSlot bagPocket_KeyItems[BAG_KEYITEMS_COUNT];
+ /*0x650*/ struct ItemSlot bagPocket_PokeBalls[BAG_POKEBALLS_COUNT];
+ /*0x690*/ struct ItemSlot bagPocket_TMHM[BAG_TMHM_COUNT];
+ /*0x790*/ struct ItemSlot bagPocket_Berries[BAG_BERRIES_COUNT];
/*0x848*/ struct Pokeblock pokeblocks[POKEBLOCKS_COUNT];
/*0x988*/ u8 seen1[52];
/*0x9BC*/ u16 berryBlenderRecords[3];
@@ -667,7 +702,7 @@ struct SaveBlock1
/*0x139C*/ u16 vars[VARS_COUNT];
/*0x159C*/ u32 gameStats[NUM_GAME_STATS];
/*0x169C*/ struct BerryTree berryTrees[BERRY_TREES_COUNT];
- /*0x1A9C*/ struct SecretBaseRecord secretBases[20];
+ /*0x1A9C*/ struct SecretBaseRecord secretBases[SECRET_BASES_COUNT];
/*0x271C*/ u8 playerRoomDecor[12];
/*0x2728*/ u8 playerRoomDecorPos[12];
/*0x2734*/ u8 decorDesk[10];
@@ -703,9 +738,7 @@ struct SaveBlock1
/*0x2e64*/ struct EasyChatPair easyChatPairs[5]; //Dewford trend [0] and some other stuff
/*0x2e90*/ struct ContestWinner contestWinners[13]; // 0 - 5 used in contest hall, 6 - 7 unused?, 8 - 12 museum
/*0x3030*/ struct DayCare daycare;
- /*0x3150*/ struct LinkBattleRecord linkBattleRecords[5];
- /*0x31A0*/ u8 unk_31A0;
- /*0x31A1*/ u8 filler_31A1[7];
+ /*0x3150*/ struct LinkBattleRecords linkBattleRecords;
/*0x31A8*/ u8 giftRibbons[52];
/*0x31DC*/ struct Roamer roamer;
/*0x31F8*/ struct EnigmaBerry enigmaBerry;
diff --git a/include/graphics.h b/include/graphics.h
index 1313ddc3a..3feed6d08 100644
--- a/include/graphics.h
+++ b/include/graphics.h
@@ -2713,6 +2713,501 @@ extern const u8 gRaySceneHushBg_Pal[];
extern const u8 gRaySceneHushBg_Gfx[];
extern const u8 gRaySceneHushRing_Gfx[];
+// Item icons
+extern const u8 gItemIcon_QuestionMark[];
+extern const u8 gItemIconPalette_QuestionMark[];
+// Pokeballs
+extern const u8 gItemIcon_MasterBall[];
+extern const u8 gItemIconPalette_MasterBall[];
+extern const u8 gItemIcon_UltraBall[];
+extern const u8 gItemIconPalette_UltraBall[];
+extern const u8 gItemIcon_GreatBall[];
+extern const u8 gItemIconPalette_GreatBall[];
+extern const u8 gItemIcon_PokeBall[];
+extern const u8 gItemIconPalette_PokeBall[];
+extern const u8 gItemIcon_SafariBall[];
+extern const u8 gItemIconPalette_SafariBall[];
+extern const u8 gItemIcon_NetBall[];
+extern const u8 gItemIconPalette_NetBall[];
+extern const u8 gItemIcon_DiveBall[];
+extern const u8 gItemIconPalette_DiveBall[];
+extern const u8 gItemIcon_NestBall[];
+extern const u8 gItemIconPalette_NestBall[];
+extern const u8 gItemIcon_RepeatBall[];
+extern const u8 gItemIconPalette_RepeatBall[];
+extern const u8 gItemIcon_TimerBall[];
+extern const u8 gItemIcon_LuxuryBall[];
+extern const u8 gItemIconPalette_LuxuryBall[];
+extern const u8 gItemIcon_PremierBall[];
+// Medicine
+extern const u8 gItemIcon_Potion[];
+extern const u8 gItemIconPalette_Potion[];
+extern const u8 gItemIcon_Antidote[];
+extern const u8 gItemIconPalette_Antidote[];
+extern const u8 gItemIcon_StatusHeal[];
+extern const u8 gItemIconPalette_BurnHeal[];
+extern const u8 gItemIconPalette_IceHeal[];
+extern const u8 gItemIconPalette_Awakening[];
+extern const u8 gItemIconPalette_ParalyzeHeal[];
+extern const u8 gItemIcon_LargePotion[];
+extern const u8 gItemIconPalette_FullRestore[];
+extern const u8 gItemIconPalette_MaxPotion[];
+extern const u8 gItemIconPalette_HyperPotion[];
+extern const u8 gItemIconPalette_SuperPotion[];
+extern const u8 gItemIcon_FullHeal[];
+extern const u8 gItemIconPalette_FullHeal[];
+extern const u8 gItemIcon_Revive[];
+extern const u8 gItemIconPalette_Revive[];
+extern const u8 gItemIcon_MaxRevive[];
+extern const u8 gItemIcon_FreshWater[];
+extern const u8 gItemIconPalette_FreshWater[];
+extern const u8 gItemIcon_SodaPop[];
+extern const u8 gItemIconPalette_SodaPop[];
+extern const u8 gItemIcon_Lemonade[];
+extern const u8 gItemIconPalette_Lemonade[];
+extern const u8 gItemIcon_MoomooMilk[];
+extern const u8 gItemIconPalette_MoomooMilk[];
+extern const u8 gItemIcon_Powder[];
+extern const u8 gItemIconPalette_EnergyPowder[];
+extern const u8 gItemIcon_EnergyRoot[];
+extern const u8 gItemIconPalette_EnergyRoot[];
+extern const u8 gItemIconPalette_HealPowder[];
+extern const u8 gItemIcon_RevivalHerb[];
+extern const u8 gItemIconPalette_RevivalHerb[];
+extern const u8 gItemIcon_Ether[];
+extern const u8 gItemIconPalette_Ether[];
+extern const u8 gItemIconPalette_MaxEther[];
+extern const u8 gItemIconPalette_Elixir[];
+extern const u8 gItemIconPalette_MaxElixir[];
+extern const u8 gItemIcon_LavaCookie[];
+extern const u8 gItemIconPalette_LavaCookieAndLetter[];
+extern const u8 gItemIcon_Flute[];
+extern const u8 gItemIconPalette_BlueFlute[];
+extern const u8 gItemIconPalette_YellowFlute[];
+extern const u8 gItemIconPalette_RedFlute[];
+extern const u8 gItemIconPalette_BlackFlute[];
+extern const u8 gItemIconPalette_WhiteFlute[];
+extern const u8 gItemIcon_BerryJuice[];
+extern const u8 gItemIconPalette_BerryJuice[];
+extern const u8 gItemIcon_SacredAsh[];
+extern const u8 gItemIconPalette_SacredAsh[];
+// Collectibles
+extern const u8 gItemIconPalette_ShoalSalt[];
+extern const u8 gItemIcon_ShoalShell[];
+extern const u8 gItemIconPalette_Shell[];
+extern const u8 gItemIcon_Shard[];
+extern const u8 gItemIconPalette_RedShard[];
+extern const u8 gItemIconPalette_BlueShard[];
+extern const u8 gItemIconPalette_YellowShard[];
+extern const u8 gItemIconPalette_GreenShard[];
+// Vitamins
+extern const u8 gItemIcon_HPUp[];
+extern const u8 gItemIconPalette_HPUp[];
+extern const u8 gItemIcon_Vitamin[];
+extern const u8 gItemIconPalette_Protein[];
+extern const u8 gItemIconPalette_Iron[];
+extern const u8 gItemIconPalette_Carbos[];
+extern const u8 gItemIconPalette_Calcium[];
+extern const u8 gItemIcon_RareCandy[];
+extern const u8 gItemIconPalette_RareCandy[];
+extern const u8 gItemIcon_PPUp[];
+extern const u8 gItemIconPalette_PPUp[];
+extern const u8 gItemIconPalette_Zinc[];
+extern const u8 gItemIcon_PPMax[];
+extern const u8 gItemIconPalette_PPMax[];
+// Battle items
+extern const u8 gItemIcon_BattleStatItem[];
+extern const u8 gItemIconPalette_GuardSpec[];
+extern const u8 gItemIconPalette_DireHit[];
+extern const u8 gItemIconPalette_XAttack[];
+extern const u8 gItemIconPalette_XDefend[];
+extern const u8 gItemIconPalette_XSpeed[];
+extern const u8 gItemIconPalette_XAccuracy[];
+extern const u8 gItemIconPalette_XSpecial[];
+extern const u8 gItemIcon_PokeDoll[];
+extern const u8 gItemIconPalette_PokeDoll[];
+extern const u8 gItemIcon_FluffyTail[];
+extern const u8 gItemIconPalette_FluffyTail[];
+// Field items
+extern const u8 gItemIcon_Repel[];
+extern const u8 gItemIconPalette_SuperRepel[];
+extern const u8 gItemIconPalette_MaxRepel[];
+extern const u8 gItemIcon_EscapeRope[];
+extern const u8 gItemIconPalette_EscapeRope[];
+extern const u8 gItemIcon_Repel[];
+extern const u8 gItemIconPalette_Repel[];
+// Evolution stones
+extern const u8 gItemIcon_SunStone[];
+extern const u8 gItemIconPalette_SunStone[];
+extern const u8 gItemIcon_MoonStone[];
+extern const u8 gItemIconPalette_MoonStone[];
+extern const u8 gItemIcon_FireStone[];
+extern const u8 gItemIconPalette_FireStone[];
+extern const u8 gItemIcon_ThunderStone[];
+extern const u8 gItemIconPalette_ThunderStone[];
+extern const u8 gItemIcon_WaterStone[];
+extern const u8 gItemIconPalette_WaterStone[];
+extern const u8 gItemIcon_LeafStone[];
+extern const u8 gItemIconPalette_LeafStone[];
+// Valuables
+extern const u8 gItemIcon_TinyMushroom[];
+extern const u8 gItemIconPalette_Mushroom[];
+extern const u8 gItemIcon_BigMushroom[];
+extern const u8 gItemIcon_Pearl[];
+extern const u8 gItemIconPalette_Pearl[];
+extern const u8 gItemIcon_BigPearl[];
+extern const u8 gItemIcon_Stardust[];
+extern const u8 gItemIconPalette_Star[];
+extern const u8 gItemIcon_StarPiece[];
+extern const u8 gItemIcon_Nugget[];
+extern const u8 gItemIconPalette_Nugget[];
+extern const u8 gItemIcon_HeartScale[];
+extern const u8 gItemIconPalette_HeartScale[];
+// Mail
+extern const u8 gItemIcon_OrangeMail[];
+extern const u8 gItemIconPalette_OrangeMail[];
+extern const u8 gItemIcon_HarborMail[];
+extern const u8 gItemIconPalette_HarborMail[];
+extern const u8 gItemIcon_GlitterMail[];
+extern const u8 gItemIconPalette_GlitterMail[];
+extern const u8 gItemIcon_MechMail[];
+extern const u8 gItemIconPalette_MechMail[];
+extern const u8 gItemIcon_WoodMail[];
+extern const u8 gItemIconPalette_WoodMail[];
+extern const u8 gItemIcon_WaveMail[];
+extern const u8 gItemIconPalette_WaveMail[];
+extern const u8 gItemIcon_BeadMail[];
+extern const u8 gItemIconPalette_BeadMail[];
+extern const u8 gItemIcon_ShadowMail[];
+extern const u8 gItemIconPalette_ShadowMail[];
+extern const u8 gItemIcon_TropicMail[];
+extern const u8 gItemIconPalette_TropicMail[];
+extern const u8 gItemIcon_DreamMail[];
+extern const u8 gItemIconPalette_DreamMail[];
+extern const u8 gItemIcon_FabMail[];
+extern const u8 gItemIconPalette_FabMail[];
+extern const u8 gItemIcon_RetroMail[];
+extern const u8 gItemIconPalette_RetroMail[];
+// Berries
+extern const u8 gItemIcon_CheriBerry[];
+extern const u8 gItemIconPalette_CheriBerry[];
+extern const u8 gItemIcon_ChestoBerry[];
+extern const u8 gItemIconPalette_ChestoBerry[];
+extern const u8 gItemIcon_PechaBerry[];
+extern const u8 gItemIconPalette_PechaBerry[];
+extern const u8 gItemIcon_RawstBerry[];
+extern const u8 gItemIconPalette_RawstBerry[];
+extern const u8 gItemIcon_AspearBerry[];
+extern const u8 gItemIconPalette_AspearBerry[];
+extern const u8 gItemIcon_LeppaBerry[];
+extern const u8 gItemIconPalette_LeppaBerry[];
+extern const u8 gItemIcon_OranBerry[];
+extern const u8 gItemIconPalette_OranBerry[];
+extern const u8 gItemIcon_PersimBerry[];
+extern const u8 gItemIconPalette_PersimBerry[];
+extern const u8 gItemIcon_LumBerry[];
+extern const u8 gItemIconPalette_LumBerry[];
+extern const u8 gItemIcon_SitrusBerry[];
+extern const u8 gItemIconPalette_SitrusBerry[];
+extern const u8 gItemIcon_FigyBerry[];
+extern const u8 gItemIconPalette_FigyBerry[];
+extern const u8 gItemIcon_WikiBerry[];
+extern const u8 gItemIconPalette_WikiBerry[];
+extern const u8 gItemIcon_MagoBerry[];
+extern const u8 gItemIconPalette_MagoBerry[];
+extern const u8 gItemIcon_AguavBerry[];
+extern const u8 gItemIconPalette_AguavBerry[];
+extern const u8 gItemIcon_IapapaBerry[];
+extern const u8 gItemIconPalette_IapapaBerry[];
+extern const u8 gItemIcon_RazzBerry[];
+extern const u8 gItemIconPalette_RazzBerry[];
+extern const u8 gItemIcon_BlukBerry[];
+extern const u8 gItemIconPalette_BlukBerry[];
+extern const u8 gItemIcon_NanabBerry[];
+extern const u8 gItemIconPalette_NanabBerry[];
+extern const u8 gItemIcon_WepearBerry[];
+extern const u8 gItemIconPalette_WepearBerry[];
+extern const u8 gItemIcon_PinapBerry[];
+extern const u8 gItemIconPalette_PinapBerry[];
+extern const u8 gItemIcon_PomegBerry[];
+extern const u8 gItemIconPalette_PomegBerry[];
+extern const u8 gItemIcon_KelpsyBerry[];
+extern const u8 gItemIconPalette_KelpsyBerry[];
+extern const u8 gItemIcon_QualotBerry[];
+extern const u8 gItemIconPalette_QualotBerry[];
+extern const u8 gItemIcon_HondewBerry[];
+extern const u8 gItemIconPalette_HondewBerry[];
+extern const u8 gItemIcon_GrepaBerry[];
+extern const u8 gItemIconPalette_GrepaBerry[];
+extern const u8 gItemIcon_TamatoBerry[];
+extern const u8 gItemIconPalette_TamatoBerry[];
+extern const u8 gItemIcon_CornnBerry[];
+extern const u8 gItemIconPalette_CornnBerry[];
+extern const u8 gItemIcon_MagostBerry[];
+extern const u8 gItemIconPalette_MagostBerry[];
+extern const u8 gItemIcon_RabutaBerry[];
+extern const u8 gItemIconPalette_RabutaBerry[];
+extern const u8 gItemIcon_NomelBerry[];
+extern const u8 gItemIconPalette_NomelBerry[];
+extern const u8 gItemIcon_SpelonBerry[];
+extern const u8 gItemIconPalette_SpelonBerry[];
+extern const u8 gItemIcon_PamtreBerry[];
+extern const u8 gItemIconPalette_PamtreBerry[];
+extern const u8 gItemIcon_WatmelBerry[];
+extern const u8 gItemIconPalette_WatmelBerry[];
+extern const u8 gItemIcon_DurinBerry[];
+extern const u8 gItemIconPalette_DurinBerry[];
+extern const u8 gItemIcon_BelueBerry[];
+extern const u8 gItemIconPalette_BelueBerry[];
+extern const u8 gItemIcon_LiechiBerry[];
+extern const u8 gItemIconPalette_LiechiBerry[];
+extern const u8 gItemIcon_GanlonBerry[];
+extern const u8 gItemIconPalette_GanlonBerry[];
+extern const u8 gItemIcon_SalacBerry[];
+extern const u8 gItemIconPalette_SalacBerry[];
+extern const u8 gItemIcon_PetayaBerry[];
+extern const u8 gItemIconPalette_PetayaBerry[];
+extern const u8 gItemIcon_ApicotBerry[];
+extern const u8 gItemIconPalette_ApicotBerry[];
+extern const u8 gItemIcon_LansatBerry[];
+extern const u8 gItemIconPalette_LansatBerry[];
+extern const u8 gItemIcon_StarfBerry[];
+extern const u8 gItemIconPalette_StarfBerry[];
+extern const u8 gItemIcon_EnigmaBerry[];
+extern const u8 gItemIconPalette_EnigmaBerry[];
+// Hold items
+extern const u8 gItemIcon_BrightPowder[];
+extern const u8 gItemIconPalette_BrightPowder[];
+extern const u8 gItemIcon_InBattleHerb[];
+extern const u8 gItemIconPalette_WhiteHerb[];
+extern const u8 gItemIcon_MachoBrace[];
+extern const u8 gItemIconPalette_MachoBrace[];
+extern const u8 gItemIcon_ExpShare[];
+extern const u8 gItemIconPalette_ExpShare[];
+extern const u8 gItemIcon_QuickClaw[];
+extern const u8 gItemIconPalette_QuickClaw[];
+extern const u8 gItemIcon_SootheBell[];
+extern const u8 gItemIconPalette_SootheBell[];
+extern const u8 gItemIcon_InBattleHerb[];
+extern const u8 gItemIconPalette_MentalHerb[];
+extern const u8 gItemIcon_ChoiceBand[];
+extern const u8 gItemIconPalette_ChoiceBand[];
+extern const u8 gItemIcon_KingsRock[];
+extern const u8 gItemIconPalette_KingsRock[];
+extern const u8 gItemIcon_SilverPowder[];
+extern const u8 gItemIconPalette_SilverPowder[];
+extern const u8 gItemIcon_AmuletCoin[];
+extern const u8 gItemIconPalette_AmuletCoin[];
+extern const u8 gItemIcon_CleanseTag[];
+extern const u8 gItemIconPalette_CleanseTag[];
+extern const u8 gItemIcon_SoulDew[];
+extern const u8 gItemIconPalette_SoulDew[];
+extern const u8 gItemIcon_DeepSeaTooth[];
+extern const u8 gItemIconPalette_DeepSeaTooth[];
+extern const u8 gItemIcon_DeepSeaScale[];
+extern const u8 gItemIconPalette_DeepSeaScale[];
+extern const u8 gItemIcon_SmokeBall[];
+extern const u8 gItemIconPalette_SmokeBall[];
+extern const u8 gItemIcon_Everstone[];
+extern const u8 gItemIconPalette_Everstone[];
+extern const u8 gItemIcon_FocusBand[];
+extern const u8 gItemIconPalette_FocusBand[];
+extern const u8 gItemIcon_LuckyEgg[];
+extern const u8 gItemIconPalette_LuckyEgg[];
+extern const u8 gItemIcon_ScopeLens[];
+extern const u8 gItemIconPalette_ScopeLens[];
+extern const u8 gItemIcon_MetalCoat[];
+extern const u8 gItemIconPalette_MetalCoat[];
+extern const u8 gItemIcon_Leftovers[];
+extern const u8 gItemIconPalette_Leftovers[];
+extern const u8 gItemIcon_DragonScale[];
+extern const u8 gItemIconPalette_DragonScale[];
+extern const u8 gItemIcon_LightBall[];
+extern const u8 gItemIconPalette_LightBall[];
+extern const u8 gItemIcon_SoftSand[];
+extern const u8 gItemIconPalette_SoftSand[];
+extern const u8 gItemIcon_HardStone[];
+extern const u8 gItemIconPalette_HardStone[];
+extern const u8 gItemIcon_MiracleSeed[];
+extern const u8 gItemIconPalette_MiracleSeed[];
+extern const u8 gItemIcon_BlackGlasses[];
+extern const u8 gItemIconPalette_BlackTypeEnhancingItem[];
+extern const u8 gItemIcon_BlackBelt[];
+extern const u8 gItemIconPalette_BlackTypeEnhancingItem[];
+extern const u8 gItemIcon_Magnet[];
+extern const u8 gItemIconPalette_Magnet[];
+extern const u8 gItemIcon_MysticWater[];
+extern const u8 gItemIconPalette_MysticWater[];
+extern const u8 gItemIcon_SharpBeak[];
+extern const u8 gItemIconPalette_SharpBeak[];
+extern const u8 gItemIcon_PoisonBarb[];
+extern const u8 gItemIconPalette_PoisonBarb[];
+extern const u8 gItemIcon_NeverMeltIce[];
+extern const u8 gItemIconPalette_NeverMeltIce[];
+extern const u8 gItemIcon_SpellTag[];
+extern const u8 gItemIconPalette_SpellTag[];
+extern const u8 gItemIcon_TwistedSpoon[];
+extern const u8 gItemIconPalette_TwistedSpoon[];
+extern const u8 gItemIcon_Charcoal[];
+extern const u8 gItemIconPalette_Charcoal[];
+extern const u8 gItemIcon_DragonFang[];
+extern const u8 gItemIconPalette_DragonFang[];
+extern const u8 gItemIcon_SilkScarf[];
+extern const u8 gItemIconPalette_SilkScarf[];
+extern const u8 gItemIcon_UpGrade[];
+extern const u8 gItemIconPalette_UpGrade[];
+extern const u8 gItemIcon_ShellBell[];
+extern const u8 gItemIconPalette_Shell[];
+extern const u8 gItemIcon_SeaIncense[];
+extern const u8 gItemIconPalette_SeaIncense[];
+extern const u8 gItemIcon_LaxIncense[];
+extern const u8 gItemIconPalette_LaxIncense[];
+extern const u8 gItemIcon_LuckyPunch[];
+extern const u8 gItemIconPalette_LuckyPunch[];
+extern const u8 gItemIcon_MetalPowder[];
+extern const u8 gItemIconPalette_MetalPowder[];
+extern const u8 gItemIcon_ThickClub[];
+extern const u8 gItemIconPalette_ThickClub[];
+extern const u8 gItemIcon_Stick[];
+extern const u8 gItemIconPalette_Stick[];
+// Contest hold items
+extern const u8 gItemIcon_Scarf[];
+extern const u8 gItemIconPalette_RedScarf[];
+extern const u8 gItemIconPalette_BlueScarf[];
+extern const u8 gItemIconPalette_PinkScarf[];
+extern const u8 gItemIconPalette_GreenScarf[];
+extern const u8 gItemIconPalette_YellowScarf[];
+// Key items
+extern const u8 gItemIcon_MachBike[];
+extern const u8 gItemIconPalette_MachBike[];
+extern const u8 gItemIcon_CoinCase[];
+extern const u8 gItemIconPalette_CoinCase[];
+extern const u8 gItemIcon_Itemfinder[];
+extern const u8 gItemIconPalette_Itemfinder[];
+extern const u8 gItemIcon_OldRod[];
+extern const u8 gItemIconPalette_OldRod[];
+extern const u8 gItemIcon_GoodRod[];
+extern const u8 gItemIconPalette_GoodRod[];
+extern const u8 gItemIcon_SuperRod[];
+extern const u8 gItemIconPalette_SuperRod[];
+extern const u8 gItemIcon_SSTicket[];
+extern const u8 gItemIconPalette_SSTicket[];
+extern const u8 gItemIcon_ContestPass[];
+extern const u8 gItemIconPalette_ContestPass[];
+extern const u8 gItemIcon_WailmerPail[];
+extern const u8 gItemIconPalette_WailmerPail[];
+extern const u8 gItemIcon_DevonGoods[];
+extern const u8 gItemIconPalette_DevonGoods[];
+extern const u8 gItemIcon_SootSack[];
+extern const u8 gItemIconPalette_SootSack[];
+extern const u8 gItemIcon_BasementKey[];
+extern const u8 gItemIconPalette_OldKey[];
+extern const u8 gItemIcon_AcroBike[];
+extern const u8 gItemIconPalette_AcroBike[];
+extern const u8 gItemIcon_PokeblockCase[];
+extern const u8 gItemIconPalette_PokeblockCase[];
+extern const u8 gItemIcon_Letter[];
+extern const u8 gItemIcon_EonTicket[];
+extern const u8 gItemIconPalette_EonTicket[];
+extern const u8 gItemIcon_Orb[];
+extern const u8 gItemIconPalette_RedOrb[];
+extern const u8 gItemIconPalette_BlueOrb[];
+extern const u8 gItemIcon_Scanner[];
+extern const u8 gItemIconPalette_Scanner[];
+extern const u8 gItemIcon_GoGoggles[];
+extern const u8 gItemIconPalette_GoGoggles[];
+extern const u8 gItemIcon_Meteorite[];
+extern const u8 gItemIconPalette_Meteorite[];
+extern const u8 gItemIcon_Room1Key[];
+extern const u8 gItemIconPalette_Key[];
+extern const u8 gItemIcon_Room2Key[];
+extern const u8 gItemIcon_Room4Key[];
+extern const u8 gItemIcon_Room6Key[];
+extern const u8 gItemIcon_StorageKey[];
+extern const u8 gItemIcon_RootFossil[];
+extern const u8 gItemIconPalette_HoennFossil[];
+extern const u8 gItemIcon_ClawFossil[];
+extern const u8 gItemIcon_DevonScope[];
+extern const u8 gItemIconPalette_DevonScope[];
+// TMs/HMs
+extern const u8 gItemIcon_TM[];
+extern const u8 gItemIconPalette_FightingTMHM[];
+extern const u8 gItemIconPalette_DragonTMHM[];
+extern const u8 gItemIconPalette_WaterTMHM[];
+extern const u8 gItemIconPalette_PsychicTMHM[];
+extern const u8 gItemIconPalette_NormalTMHM[];
+extern const u8 gItemIconPalette_PoisonTMHM[];
+extern const u8 gItemIconPalette_IceTMHM[];
+extern const u8 gItemIconPalette_GrassTMHM[];
+extern const u8 gItemIconPalette_FireTMHM[];
+extern const u8 gItemIconPalette_DarkTMHM[];
+extern const u8 gItemIconPalette_SteelTMHM[];
+extern const u8 gItemIconPalette_ElectricTMHM[];
+extern const u8 gItemIconPalette_GroundTMHM[];
+extern const u8 gItemIconPalette_GhostTMHM[];
+extern const u8 gItemIconPalette_RockTMHM[];
+extern const u8 gItemIconPalette_FlyingTMHM[];
+extern const u8 gItemIcon_HM[];
+// FireRed/LeafGreen key items
+extern const u8 gItemIcon_OaksParcel[];
+extern const u8 gItemIconPalette_OaksParcel[];
+extern const u8 gItemIcon_PokeFlute[];
+extern const u8 gItemIconPalette_PokeFlute[];
+extern const u8 gItemIcon_SecretKey[];
+extern const u8 gItemIconPalette_SecretKey[];
+extern const u8 gItemIcon_BikeVoucher[];
+extern const u8 gItemIconPalette_BikeVoucher[];
+extern const u8 gItemIcon_GoldTeeth[];
+extern const u8 gItemIconPalette_GoldTeeth[];
+extern const u8 gItemIcon_OldAmber[];
+extern const u8 gItemIconPalette_OldAmber[];
+extern const u8 gItemIcon_CardKey[];
+extern const u8 gItemIconPalette_CardKey[];
+extern const u8 gItemIcon_LiftKey[];
+extern const u8 gItemIconPalette_Key[];
+extern const u8 gItemIcon_HelixFossil[];
+extern const u8 gItemIconPalette_KantoFossil[];
+extern const u8 gItemIcon_DomeFossil[];
+extern const u8 gItemIcon_SilphScope[];
+extern const u8 gItemIconPalette_SilphScope[];
+extern const u8 gItemIcon_Bicycle[];
+extern const u8 gItemIconPalette_Bicycle[];
+extern const u8 gItemIcon_TownMap[];
+extern const u8 gItemIconPalette_TownMap[];
+extern const u8 gItemIcon_VSSeeker[];
+extern const u8 gItemIconPalette_VSSeeker[];
+extern const u8 gItemIcon_FameChecker[];
+extern const u8 gItemIconPalette_FameChecker[];
+extern const u8 gItemIcon_TMCase[];
+extern const u8 gItemIconPalette_TMCase[];
+extern const u8 gItemIcon_BerryPouch[];
+extern const u8 gItemIconPalette_BerryPouch[];
+extern const u8 gItemIcon_TeachyTV[];
+extern const u8 gItemIconPalette_TeachyTV[];
+extern const u8 gItemIcon_TriPass[];
+extern const u8 gItemIconPalette_TriPass[];
+extern const u8 gItemIcon_RainbowPass[];
+extern const u8 gItemIconPalette_RainbowPass[];
+extern const u8 gItemIcon_Tea[];
+extern const u8 gItemIconPalette_Tea[];
+extern const u8 gItemIcon_MysticTicket[];
+extern const u8 gItemIconPalette_MysticTicket[];
+extern const u8 gItemIcon_AuroraTicket[];
+extern const u8 gItemIconPalette_AuroraTicket[];
+extern const u8 gItemIcon_PowderJar[];
+extern const u8 gItemIconPalette_PowderJar[];
+extern const u8 gItemIcon_Gem[];
+extern const u8 gItemIconPalette_Ruby[];
+extern const u8 gItemIconPalette_Sapphire[];
+// Emerald-only key items
+extern const u8 gItemIcon_MagmaEmblem[];
+extern const u8 gItemIconPalette_MagmaEmblem[];
+extern const u8 gItemIcon_OldSeaMap[];
+extern const u8 gItemIconPalette_OldSeaMap[];
+
+extern const u8 gItemIcon_ReturnToFieldArrow[];
+extern const u8 gItemIconPalette_ReturnToFieldArrow[];
+
//menu graphics
extern const u16 gFireRedMenuElements1_Pal[16];
extern const u16 gFireRedMenuElements2_Pal[16];
diff --git a/include/item.h b/include/item.h
index 33d434f78..881d3a3d4 100644
--- a/include/item.h
+++ b/include/item.h
@@ -1,11 +1,32 @@
-#ifndef ITEM_H
-#define ITEM_H
+#ifndef GUARD_ITEM_H
+#define GUARD_ITEM_H
+
+// These constants are used in gItems
+enum
+{
+ POCKET_NONE,
+ POCKET_ITEMS,
+ POCKET_POKE_BALLS,
+ POCKET_TM_HM,
+ POCKET_BERRIES,
+ POCKET_KEY_ITEMS,
+};
+
+enum
+{
+ ITEMS_POCKET,
+ BALLS_POCKET,
+ TMHM_POCKET,
+ BERRIES_POCKET,
+ KEYITEMS_POCKET,
+ POCKETS_COUNT
+};
typedef void (*ItemUseFunc)(u8);
struct Item
{
- u8 name[14];
+ u8 name[ITEM_NAME_LENGTH];
u16 itemId;
u16 price;
u8 holdEffect;
@@ -29,28 +50,41 @@ struct BagPocket
extern struct BagPocket gBagPockets[];
-void GetBerryCountString(u8* dst, const u8* berryName, u32 quantity);
-void CopyItemName(u16 itemId, u8 *string);
-void CopyItemNameHandlePlural(u16 itemId, u8 *string, u32 quantity);
+void ApplyNewEncryptionKeyToBagItems(u32 newKey);
+void ApplyNewEncryptionKeyToBagItems_(u32 newKey);
+void SetBagItemsPointers(void);
+void CopyItemName(u16 itemId, u8 *dst);
+void CopyItemNameHandlePlural(u16 itemId, u8 *dst, u32 quantity);
+void GetBerryCountString(u8 *dst, const u8 *berryName, u32 quantity);
bool8 IsBagPocketNonEmpty(u8 pocket);
bool8 CheckBagHasItem(u16 itemId, u16 count);
+bool8 HasAtLeastOneBerry(void);
bool8 CheckBagHasSpace(u16 itemId, u16 count);
bool8 AddBagItem(u16 itemId, u16 count);
bool8 RemoveBagItem(u16 itemId, u16 count);
u8 GetPocketByItemId(u16 itemId);
-void ClearItemSlots(struct ItemSlot *itemSlots, u8 b);
+void ClearItemSlots(struct ItemSlot *itemSlots, u8 itemCount);
u8 CountUsedPCItemSlots(void);
bool8 CheckPCHasItem(u16 itemId, u16 count);
bool8 AddPCItem(u16 itemId, u16 count);
void RemovePCItem(u8 index, u16 count);
+void CompactPCItems(void);
void SwapRegisteredBike(void);
-const struct Item *ItemId_GetItem(u16 itemId);
+u16 BagGetItemIdByPocketPosition(u8 pocketId, u16 pocketPos);
+u16 BagGetQuantityByPocketPosition(u8 pocketId, u16 pocketPos);
+void CompactItemsInBagPocket(struct BagPocket *bagPocket);
+void SortBerriesOrTMHMs(struct BagPocket *bagPocket);
+void MoveItemSlotInList(struct ItemSlot* itemSlots_, u32 from, u32 to_);
+void ClearBag(void);
+u16 CountTotalItemQuantityInBag(u16 itemId);
+bool8 AddPyramidBagItem(u16 itemId, u16 count);
+bool8 RemovePyramidBagItem(u16 itemId, u16 count);
+const u8 *ItemId_GetName(u16 itemId);
u16 ItemId_GetId(u16 itemId);
u16 ItemId_GetPrice(u16 itemId);
u8 ItemId_GetHoldEffect(u16 itemId);
u8 ItemId_GetHoldEffectParam(u16 itemId);
const u8 *ItemId_GetDescription(u16 itemId);
-bool32 ItemId_CopyDescription(u8 *a, u32 itemId, u32 c);
u8 ItemId_GetImportance(u16 itemId);
u8 ItemId_GetUnknownValue(u16 itemId);
u8 ItemId_GetPocket(u16 itemId);
@@ -59,14 +93,5 @@ ItemUseFunc ItemId_GetFieldFunc(u16 itemId);
u8 ItemId_GetBattleUsage(u16 itemId);
ItemUseFunc ItemId_GetBattleFunc(u16 itemId);
u8 ItemId_GetSecondaryId(u16 itemId);
-u16 itemid_get_market_price(u16 itemId);
-u16 BagGetItemIdByPocketPosition(u8 pocketId, u16 pocketPos);
-void sub_80D6FB4(struct BagPocket*);
-void sub_80D6F64(struct BagPocket*);
-void sub_80D702C(struct ItemSlot*, s16, u16);
-u8 sub_80D6CE4();
-bool8 itemid_is_unique(u16 itemId);
-void sub_80D6E48(u8, u16);
-void sub_80D6E84(void);
-#endif // ITEM_H
+#endif // GUARD_ITEM_H
diff --git a/include/item_menu.h b/include/item_menu.h
index 68393c9ee..40c015a8e 100644
--- a/include/item_menu.h
+++ b/include/item_menu.h
@@ -55,7 +55,7 @@ void sub_81AAC14(void);
void sub_81AAC50(void);
void sub_81AAC70(void);
void bag_menu_mail_related(void);
-
void CB2_BagMenuFromStartMenu(void);
+u8 sub_81ABB2C(u8 pocketId);
#endif //GUARD_item_menu_H
diff --git a/include/item_use.h b/include/item_use.h
index beee6b8d0..7874f7ee9 100644
--- a/include/item_use.h
+++ b/include/item_use.h
@@ -21,11 +21,13 @@ void DisplayItemRespondingMessageAndExitItemfinder(u8);
void RotatePlayerAndExitItemfinder(u8);
void ItemUseOutOfBattle_PokeblockCase(u8);
void ItemUseOutOfBattle_CoinCase(u8);
+void ItemUseOutOfBattle_PowderJar(u8);
void ItemUseOutOfBattle_SSTicket(u8);
void sub_80C9D00(u8);
void ItemUseOutOfBattle_WailmerPail(u8);
void sub_80C9D74(u8);
void ItemUseOutOfBattle_Medicine(u8);
+void ItemUseOutOfBattle_ReduceEV(u8);
void ItemUseOutOfBattle_SacredAsh(u8);
void ItemUseOutOfBattle_PPRecovery(u8);
void ItemUseOutOfBattle_PPUp(u8);
diff --git a/include/load_save.h b/include/load_save.h
index 460cdf6f3..0868316c8 100644
--- a/include/load_save.h
+++ b/include/load_save.h
@@ -1,27 +1,35 @@
#ifndef GUARD_LOAD_SAVE_H
#define GUARD_LOAD_SAVE_H
-extern bool32 gFlashMemoryPresent;
+extern struct SaveBlock1 gSaveblock1;
extern struct SaveBlock2 gSaveblock2;
extern struct PokemonStorage gPokemonStorage;
+extern bool32 gFlashMemoryPresent;
+extern struct SaveBlock1 *gSaveBlock1Ptr;
+extern struct SaveBlock2 *gSaveBlock2Ptr;
+extern struct PokemonStorage *gPokemonStoragePtr;
+
+void CheckForFlashMemory(void);
void ClearSav2(void);
void ClearSav1(void);
-void CheckForFlashMemory(void);
+void SetSaveBlocksPointers(u16 offset);
void MoveSaveBlocks_ResetHeap(void);
-bool32 GetSecretBase2Field_9(void);
+u32 GetSecretBase2Field_9(void);
void ClearSecretBase2Field_9(void);
-void SetSecretBase2Field_9(void);
-void SetSecretBase2Field_9_AndHideBG(void);
-void ClearSecretBase2Field_9_2(void);
+void sub_8076D48(void);
+void sub_8076D5C(void);
+void sav2_gender2_inplace_and_xFE(void);
void SavePlayerParty(void);
void LoadPlayerParty(void);
+void SaveMapObjects(void);
+void LoadMapObjects(void);
void SaveSerializedGame(void);
void LoadSerializedGame(void);
void LoadPlayerBag(void);
void SavePlayerBag(void);
-void SetSaveBlocksPointers(u16);
-void sub_8076D5C(void);
-void sav2_gender2_inplace_and_xFE(void);
+void ApplyNewEncryptionKeyToHword(u16 *hWord, u32 newKey);
+void ApplyNewEncryptionKeyToWord(u32 *word, u32 newKey);
+void ApplyNewEncryptionKeyToAllEncryptedData(u32 encryptionKey);
#endif // GUARD_LOAD_SAVE_H
diff --git a/include/mauville_old_man.h b/include/mauville_old_man.h
index aefc76083..696f12cc7 100644
--- a/include/mauville_old_man.h
+++ b/include/mauville_old_man.h
@@ -2,7 +2,18 @@
#ifndef GUARD_MAUVILLE_OLD_MAN_H
#define GUARD_MAUVILLE_OLD_MAN_H
+enum MauvilleOldManType
+{
+ MAUVILLE_MAN_BARD,
+ MAUVILLE_MAN_HIPSTER,
+ MAUVILLE_MAN_TRADER,
+ MAUVILLE_MAN_STORYTELLER,
+ MAUVILLE_MAN_GIDDY
+};
+
void SetMauvilleOldMan(void);
-u8 sub_81201C8(void);
+u8 GetCurrentMauvilleOldMan(void);
+extern struct BardSong gBardSong;
+void ScrSpecial_SetMauvilleOldManMapObjGfx(void);
#endif // GUARD_MAUVILLE_OLD_MAN_H
diff --git a/include/overworld.h b/include/overworld.h
index cd0f4e60f..59d4d6a30 100644
--- a/include/overworld.h
+++ b/include/overworld.h
@@ -44,8 +44,8 @@ void ApplyCurrentWarp(void);
void set_warp2_warp3_to_neg_1(void);
void SetWarpData(struct WarpData *warp, s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y);
bool32 warp_data_is_not_neg_1(struct WarpData *warp);
-const struct MapHeader *Overworld_GetMapHeaderByGroupAndId(u16 mapGroup, u16 mapNum);
-const struct MapHeader *warp1_get_mapheader(void);
+struct MapHeader const *const Overworld_GetMapHeaderByGroupAndId(u16 mapGroup, u16 mapNum);
+struct MapHeader const *const warp1_get_mapheader(void);
void set_current_map_header_from_sav1_save_old_name(void);
void LoadSaveblockMapHeader(void);
void update_camera_pos_from_warpid(void);
diff --git a/include/palette.h b/include/palette.h
index 41cef4048..a1259d327 100644
--- a/include/palette.h
+++ b/include/palette.h
@@ -1,8 +1,6 @@
#ifndef GUARD_PALETTE_H
#define GUARD_PALETTE_H
-#include "global.h"
-
#define gPaletteFade_selectedPalettes (gPaletteFade.multipurpose1) // normal and fast fade
#define gPaletteFade_blendCnt (gPaletteFade.multipurpose1) // hardware fade
#define gPaletteFade_delay (gPaletteFade.multipurpose2) // normal and hardware fade
diff --git a/include/pokenav.h b/include/pokenav.h
index fabe211ea..42affc938 100644
--- a/include/pokenav.h
+++ b/include/pokenav.h
@@ -20,6 +20,7 @@ void sub_81D1E90(struct PlayerPCItemPageStruct *);
void sub_81D1EC0(void);
void sub_81D1D04(u8);
bool8 sub_81D1C44(u8);
+void sub_81D5FB4(u16*);
#endif //GUARD_POKENAV_H
diff --git a/include/script_menu.h b/include/script_menu.h
index 717eda041..0555d0f78 100644
--- a/include/script_menu.h
+++ b/include/script_menu.h
@@ -9,5 +9,8 @@ bool8 ScriptMenu_YesNo(u8 var1, u8 var2);
bool8 ScriptMenu_MultichoiceGrid(u8 left, u8 top, u8 multichoiceId, u8 a4, u8 columnCount);
bool8 ScriptMenu_ShowPokemonPic(u16 var1, u8 var2, u8 var3);
bool8 (*ScriptMenu_GetPicboxWaitFunc(void))(void);
+u8 convert_pixel_width_to_tile_width(s32);
+u8 CreateWindowFromRect(u8, u8, u8, u8);
+void sub_80E2A78(u8);
#endif //GUARD_SCRIPT_MENU_H
diff --git a/include/secret_base.h b/include/secret_base.h
index b2502889c..eef48db31 100644
--- a/include/secret_base.h
+++ b/include/secret_base.h
@@ -10,5 +10,8 @@ void sub_80E9578(void);
void sub_80E980C(void);
u8 *GetSecretBaseMapName(u8 *dest);
const u8 *GetSecretBaseTrainerLoseText(void);
+void sub_80E8EE0(struct MapEvents const *events);
+void sub_80E9238(u8 flagIn);
+bool8 CurrentMapIsSecretBase(void);
#endif //GUARD_SECRET_BASE_H
diff --git a/include/strings.h b/include/strings.h
index 7a96dc036..e5459c320 100644
--- a/include/strings.h
+++ b/include/strings.h
@@ -74,6 +74,10 @@ extern const u8 gText_DecorationWillBeDiscarded[];
extern const u8 gText_CantThrowAwayInUse[];
extern const u8 gText_DecorationThrownAway[];
+extern const u8 gText_PokeBalls[];
+extern const u8 gText_Berries[];
+extern const u8 gText_Berry[];
+
extern const u8 gText_Desk[];
extern const u8 gText_Chair[];
extern const u8 gText_Plant[];
@@ -336,7 +340,7 @@ extern const u8 gText_Var1DotVar2[];
extern const u8 gText_ThreeMarks[];
extern const u8 gText_FirmSlash[];
-//item menu screen text
+// item menu screen text
extern const u8 gText_CloseBag[];
extern const u8 gText_ClearTo11Var1Clear5Var2[];
extern const u8 gText_UnkF908Var1Clear7Var2[];
@@ -362,11 +366,11 @@ extern const u8 gText_DepositedVar2Var1s[];
extern const u8 gText_NoRoomForItems[];
extern const u8 gText_ThreeDashes[];
-//party menu text
+// party menu text
extern const u8 gText_PkmnHPRestoredByVar2[];
extern const u8 gText_CantBeUsedOnPkmn[];
-//birch dex rating text
+// birch dex rating text
extern const u8 gBirchDexRatingText_LessThan10[];
extern const u8 gBirchDexRatingText_LessThan20[];
extern const u8 gBirchDexRatingText_LessThan30[];
@@ -389,7 +393,7 @@ extern const u8 gBirchDexRatingText_LessThan190[];
extern const u8 gBirchDexRatingText_LessThan200[];
extern const u8 gBirchDexRatingText_DexCompleted[];
-//player pc text
+// player pc text
extern const u8 gText_WhatWouldYouLike[];
extern const u8 gText_NoMailHere[];
@@ -431,5 +435,15 @@ extern const u8 gText_MoveVar1Where[];
extern const u8 gText_ColorLightShadowDarkGrey[];
extern const u8 gText_ColorBlue[];
+extern const u8 gText_Friend[];
+extern const u8 gText_Tristan[];
+extern const u8 gText_Philip[];
+extern const u8 gText_Dennis[];
+extern const u8 gText_Roberto[];
+extern const u8 gText_FiveMarks[];
+
+extern const u8 gText_TotalRecordWLD[];
+extern const u8 gText_PlayersBattleResults[];
+extern const u8 gText_WinLoseDraw[];
#endif //GUARD_STRINGS_H
diff --git a/include/trader.h b/include/trader.h
index 71fd1f7c2..c07ea81bd 100644
--- a/include/trader.h
+++ b/include/trader.h
@@ -7,5 +7,7 @@
void sub_8133DA0(u8 taskId);
void sub_8133E1C(u8 taskId);
+void TraderSetup(void);
+void Trader_ResetFlag(void);
#endif //GUARD_TRADER_H
diff --git a/include/trainer_card.h b/include/trainer_card.h
new file mode 100644
index 000000000..5cb93dba0
--- /dev/null
+++ b/include/trainer_card.h
@@ -0,0 +1,35 @@
+#ifndef GUARD_TRAINER_CARD_H
+#define GUARD_TRAINER_CARD_H
+
+struct TrainerCard
+{
+ /*0x00*/ u8 gender;
+ /*0x01*/ u8 stars;
+ /*0x02*/ bool8 hasPokedex;
+ /*0x03*/ bool8 var_3;
+ /*0x04*/ bool8 var_4;
+ /*0x05*/ u8 var_5;
+ /*0x06*/ u16 firstHallOfFameA;
+ /*0x08*/ u16 firstHallOfFameB;
+ /*0x0A*/ u16 firstHallOfFameC;
+ /*0x0C*/ u16 pokedexSeen;
+ /*0x0E*/ u16 trainerId;
+ /*0x10*/ u16 playTimeHours;
+ /*0x12*/ u16 playTimeMinutes;
+ /*0x14*/ u16 linkBattleWins;
+ /*0x16*/ u16 linkBattleLosses;
+ /*0x18*/ u16 battleTowerWins;
+ /*0x1A*/ u16 battleTowerLosses;
+ /*0x1C*/ u16 contestsWithFriends;
+ /*0x1E*/ u16 pokeblocksWithFriends;
+ /*0x20*/ u16 pokemonTrades;
+ /*0x22*/ u16 var_22;
+ /*0x24*/ u32 money;
+ /*0x28*/ u16 var_28[4];
+ /*0x30*/ u8 playerName[8];
+ /*0x38*/ u8 emeraldAddedUnknownFields[0x64-0x38];
+};
+
+extern struct TrainerCard gTrainerCards[4];
+
+#endif // GUARD_TRAINER_CARD_H
diff --git a/include/tv.h b/include/tv.h
index ea296a327..677bc0986 100644
--- a/include/tv.h
+++ b/include/tv.h
@@ -46,5 +46,6 @@ void TV_PutSecretBaseVisitOnTheAir(void);
bool8 Put3CheersForPokeblocksOnTheAir(const u8 *partnersName, u8 flavor, u8 unused, u8 sheen, u8 language);
void PutBattleUpdateOnTheAir(u8 opponentLinkPlayerId, u16 move, u16 speciesPlayer, u16 speciesOpponent);
void BravoTrainerPokemonProfile_BeforeInterview1(u16 move);
+void UpdateTVScreensOnMap(int, int);
#endif //GUARD_TV_H