とりあえず判定方法だけ。
探すのはどうにかして頑張って。

ポケモン決定後、すなわち性格決定の次のシードを使って決める。
(seed*100)>>32の値が
・複眼なし
 0-49 50%の持ち物
 50-54 5%の持ち物
 55 1%の持ち物
 56-99 持ち物なし
・複眼あり
 0-59 50%の持ち物
 60-79 5%の持ち物
 80-84 1%の持ち物
 85-99 持ち物なし

持ち物を持ちえないポケモンは消費自体がない模様。

ダブルバトルのとき判定がどこに入るかはダブルバトルの方の記事に書いた。
第4世代のは乱数調整汎用ツールの方にリンク貼ってるのでそこ見てくださいな。