That doesn't explain how the game will differentiate one from another. I don't see any "combat" or "non combat" flags in items fields you mentioned here.
Battle engine will do that. Potions will mimic the potions you will create will be coded by me, then a simple:
for item in [chr.eqslots['belt'], chr.eqslots['belt1'], chr.eqslots['belt2']:
if item == 'Health Potion':
register.Item bla bla bla.....
if item == 'MP Potion':
register.Item bla bla bla.....
if item == 'Elixir':
register.Item bla bla bla.....
Like I've said, we are going to allow very few potions to be taken in combat. Weapons done in a very similar manner, depending on weapon type, skill is registered in the battleengine that comes with it's own damage modifier and sound, same with magical skills.
It's not the most elegant way, but it will work for now quite flawlessly.