DCSS スポイラー

モンスターの特性 Monster attributes

英語版 CrawlWiki の記事「Monster attributes」(0.26 向け、2021-05-12 版)の翻訳です。原文の著者は編集履歴をご覧ください。
この記事は 0.26 の時点の内容で、最新の 0.34 とは違うところがあるかもしれません。

バージョン 0.26: この記事は Crawl の最新の安定版の内容に追いついていないかもしれない。

モンスターはそれぞれ異なる特性(attribute)を持っている。モンスターの振る舞い、戦闘でのしぶとさ、特殊能力、耐性と弱点、全般的な能力値など、ゲーム内でのモンスターの働きは、すべてこの特性で決まる。

個々のモンスターの特性の大部分は、Crawl のソースコードの mon-data.h というファイルに、次の形式で収められている。

1 行目: モンスターの ID、表示する文字、表示する色、名前
2 行目: モンスターのフラグ
3 行目: モンスターの耐性フラグ
4 行目: 経験値の補正、属(genus)、種(species)、分類、意志力
5 行目: 4 つの攻撃それぞれのダメージ
6 行目: HD、HP
7 行目: AC、EV、呪文、死体、叫び声
8 行目: 知能、生息地、速度、energy_usage
9 行目: gmon_use の区分、体格、体形
10 行目: タイル、死体

ほかにも多くのモンスターの性質が、ソースのあちこちに直接書き込まれている。たとえば負のエネルギーへの耐性は mon-data の「耐性フラグ」には含まれておらず、monster.cc にある。

int monster::res_negative_energy(bool intrinsic_only) const
{
    // If you change this, also change get_mons_resists.
    if (!(holiness() & MH_NATURAL))
        return 3;
    [耐性を与えるアイテムなどの追加の判定]
}

これは「モンスターが生物でなければ、負のエネルギーへの耐性を 3 段階持つ」という意味だ。

いろいろな特性の説明や、特定の特性を持つモンスターの一覧は、モンスターの特性のカテゴリを参照。