メンテナー

メンテナーはかなり無茶なクラスだ。能力は「乱数を操作する」という強力なもの。下手をするとデバッグモードよりもエグイことになる。
実際、アイディアという部分は乱数操作のみだ。乱数を操作できるといえばメンテナーかな?というところまでは一瞬で決まった。あとはそれに相応しいくらいに低い能力を決めてお終い。
実装もあまり複雑なことはしていない。乱数を振る大本の関数を見つけ出してそこを改造すれば良いわけだ。具体的にはz-rand.cにあるRand_divだ。むしろ実装の上で面倒だったのは超能力系の能力を使うための設定だった。mind.cなど結構多岐にわたっている。grep -i mind *.cで探すと良いだろう。
で、出来上がったわけだが、乱数を最小値に固定した状態だとone_in_(N)というマクロが常にTRUEを返す。これがなかなか危険だったりする。100分の1だろうと1000分の1だろうと必ず当たるわけで、INSTA_ARTの★が必ず手に入ったり。