:3D通常版の環境で、コードの効果は「繁殖時に親の養分が減らない」でした。
s0が子個体または種族(親と構造が違うようなのでおそらく後者)の構造体の先頭アドレス、
s1が親個体の構造体の先頭アドレスで、
親の養分から子の養分を減らす命令をコードで置き換えたため、親の養分が減らなくなった
……というところでしょうか。

さらに、別のアドレス0x0887e780の内容を0x00000000(nop)に変更したら、繁殖時に親の”魔分”が減らなくなりました。
これは、養分の少し後ろに(アドレスs1の0x5eバイト後)魔分が格納されているということでいいでしょうか。

他に、コードで置き換える場所にブレークポイントを置いてみたのですが、繁殖時以外にも魔物が1歩動くたびにブレークしてしまいます。
ブレークポイントはon executeよりon readやon writeのほうが使えますかね?

ところで、レストアコードを使っても最初のコードの効果が無効になりません。
コード適用前の値が0x00641823だったので、ミスか、あるいは何か意図があるのか、それともバージョン毎の違いとかでしょうか。