Seen February 1st, 2018
Posted October 19th, 2017
626 posts
5.4 Years
Just adding onto what MrDollSteak said. The function that loads the "held item effect byte" is located here: 0809A924. There are 27 references to this function, which means that there are 27 possible places to hook into or whatever. Many effects are actually checked twice, presumably that's just if the item has multiple effects. Battle and other routines seemingly just check whether to add the effect, rather than there being a table. If you want to add your own effect, it might just make more sense to hook into the battle function you're trying to alter. For example, the critical hit calculator checks the held items here: 0801E438.

However, there is a jump table at 0801CA64 and pointed to by 0801CA60 with a limiter at 0801CA4E that contains 27 cases. This is the berry effect check, and this is basically using a table.