2013/12/20
■ [変愚蛮怒/スポイラー]モンスターのmflag/mflag2フラグ(変愚蛮怒 Ver2.1.4 rev3506)
モンスターの構造体中のmflag/mflag2は、モンスターが個体毎に持っている特殊なステータス状態などを保存している。これまでに何度か言及した特別な耐性や、純粋にプログラム処理上の一時的な状態保存にのみ利用されるものもある。
正直内部処理の把握についてあやしいものは多いので別途細かく個別調査したい。
MFLAG_VIEW | モンスターがプレイヤーの視界に収まっている |
MFLAG_TEMP | 視界攻撃(project_hack()関数)の一時的処理に用いられる |
MFLAG_XXX2 | 未使用 |
MFLAG_XXX3 | 未使用 |
MFLAG_BORN | モンスターが生成された瞬間である。process_monsters()関数で当該モンスターにターンが回った瞬間に解除される。 |
MFLAG_NICE | モンスターのmake_spellによる魔法攻撃をキャンセルするフラグ。悪夢モードでない状態でFORCE_SLEEPもちのモンスターに付与され、原則プレイヤーが行動した瞬間に解除される。詳細は分からないが、ダンジョンに入った瞬間などにいきなり魔法を浴びせかけられるような処理を回避するためのものか? |
MFLAG2_KAGE | モンスターがあやしい影状態になっている |
MFLAG2_NOPET | モンスターにペット化耐性がついている |
MFLAG2_NOGENO | モンスターに抹殺耐性がついている |
MFLAG2_CHAMELEON | カメレオンの変身状態である |
MFLAG2_NOFLOW | プレイヤーとの距離が遠いために大半の行動処理をスキップする |
MFLAG2_SHOW | プレイヤーのテレパシー、感知、視界により補足した瞬間である |
MFLAG2_MARK | プレイヤーのテレパシー、感知、視界により継続的に補足している状態である |