固有の機能を持つ未識別名
アイテムの中には未識別名に固有の機能があるものが存在します。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 |