OSDN Git Service
cave_floor_*()の使用に関する変更の途中経過.
* 与えられた座標の地形(mimic無視)がLOSを持つかどうかのみを返すマクロ
cave_los_bold()と, そのc_ptr版であるcave_los_grid()を作った.
cave_floor_bold()を単に視線が通る意味で使っていた部分を置き換えた.
* 以下で使われるcave_floor_*()はFF_PROJECTの参照に置き換えた.
- prt_path()による軌道表示.
- 射撃/投擲の停止判定.
- スターライトの杖などの, ランダムな壁のない方向に飛ぶ魔法.
- 破邪魔法 "神の怒り" のターゲット指定.
- 剣術 "虎伏絶刀勢" が半径0のボールになる地形判定.
* 以下で使われるcave_floor_*()はmonster_can_enter()に置き換えた.
- モンスター・ボールからのペットの解放.
- クエスターの配置. なお, アイテムの上に生成されない仕様は削除.
* 武器のカオス的効果でモンスターが変身する判定にcave_floor_bold()が使
われていたために壁や木の中のモンスターは変身を受けない仕様だった.
各種魔法での変化と違って打撃だけ特別扱いするのをやめた.
関連して, 以下の変更を含む.
* CAVE_MNLTが立てられる時点でCAVE_VIEWは立っているため, cave.cでの参
照に当たってほぼCAVE_LITEと同じ扱いにした.
* cave.cのmove towards playerコードで "明るい" とみなす条件に移動光源
が使われたり使われなかったりして統一が取れていなかったので, 使う方
で統一し, 該当コードをcheck_local_illumination()としてまとめた.
また, player_can_see_bold()でcheck_local_illumination()を適用する判
定にはmimicを適用した.
* note_spot()で不要と思える比較を削除.