固有の機能を持つ未識別名

アイテムの中には未識別名に固有の機能があるものが存在します。NetHackでは未識別名をストリングで比較して結果をstatic変数にキャッシュしてたりするのですが、objects[].oc_descr_idx をシャッフル前の該当 otyp と比較すれば、そんなめんどくさいことしなくてもいいんじゃないの…? と思ったので変更してみた。ただ未識別名のチェックを識別名でやるように変えてしまうと可読性が落ちてしまうので、makedefs を変更して VISORED_HELMET とか RIDING_GLOVES とかを onames.h に入れるようにしてみました。

未識別名 機能 シャッフル前のotyp
visored helmet 目潰し防御 HELM_OF_TELEPATHY
riding gloves 乗馬ボーナス GAUNTLETS_OF_POWER
riding boots 乗馬ボーナス FUMBLE_BOOTS
snow boots 氷で滑らない LEVITATION_BOOTS
mud boots 沼地を歩行可 ELVEN_BOOTS
tattered cape 修復の杖使用時にメッセージ CLOAK_OF_PROTECTION
smoky potion ジン出現 POT_OBJECT_DETECTION
milky potion 幽霊出現 POT_GAIN_LEVEL