DCSS スポイラー

AC の弱体化 AC nerf

英語版 CrawlWiki の記事「AC nerf」(対象の版の記載なし、2023-10-11 版)の翻訳です。原文の著者は編集履歴をご覧ください。
この記事は 古い版 の時点の内容で、最新の 0.34 とは違うところがあるかもしれません。

廃止: この記事は、ゲームから削除された要素について書いている。過去の記録として残しているだけだ。

このページで扱っている AC の弱体化は、0.8 以降の版でほぼ元に戻された。仕組みそのものは変わっていないが、GDR が大きく引き上げられ、重い鎧はより高く強化できるようになった。そのため、このページの内容はもう古い。

AC と EV の変更点

AC と EV の変更の第一弾で、内容は http://crawl.develz.org/wiki/doku.php?id=dcss:brainstorm:misc:ac に書かれているとおり。

AC と EV の計算そのものからは「重い鎧」と「軽い鎧」の区別がなくなったが、スキルの訓練ではこの区別がまだ残っている。今回の変更で、スキルの訓練のされ方は何も変わっていない。

以下に変更の詳細を示す。Armour は甲冑スキル、Dodge は躱し身スキルを表す:

新しい AC の合計

 = base_AC * (23 + effective_armour_skill) / 23
   + enchantments
   + modifiers

ここで:

    - effective_armour_skill = 甲冑スキル + 種族による甲冑スキルの補正
    - enchantments = 防具の強化値
    - modifiers = 変身や変異など、AC に影響するもの

新しい保証ダメージ軽減:

 = body_base_AC*(13+Armour)/17 * max_dam/100

新しい EV の合計

 = 10 + size + (7 * Dodge * Dex) / (20 * AEVP - size) - AEVP - ASP + bonuses
   ここで size = 2 * (medium - body_size)
             body_size は次のどれか:
                 tiny = 0 | little = 1 | small  = 2 | medium = 3 | large  = 4 | big    = 5 | giant  = 6 | huge   = 7
             参考: ハーフリング = small、人間 = medium、オーガ = large、ドラゴン = huge
         AEVP(防具による回避ペナルティの補正値):
             = body_AEVP + piece_EVP
               ここで body_AEVP は胴鎧のぶんで、次のように計算する:
                       = (EVP + MAX(0, 3*EVP - Str)) * (45 - Armour) /45
                         EVP は鎧の基本の回避ペナルティ
                     piece_EVP は、身に着けている胴鎧以外の防具(盾を除く)の
                     基本の回避ペナルティの合計。今のところ、これが当てはまるのは
                     馬甲(EVP 2)だけ。
         ASP(盾による回避ペナルティの補正値):
             = SP - (1 + Shields) / (2 * (5 + size))
               SP はバックラーなら 1、盾なら 3、大盾なら 5

新しい呪文詠唱のペナルティ

 = 25 * (body_AEVP + ASP) - 20 - race_mod
   race_mod はエルフ系なら 25、ドワーフ系なら -15、
         種族専用の鎧を着た種族なら +15

新しい戦闘のペナルティ

 - 命中ペナルティ = 1d(body_AEVP) + 1d(ASP)
 - 片手半武器の命中ペナルティ = 1d(body_AEVP) + 2d(ASP)
 - 片手半武器のダメージペナルティ = 1d(ASP)
 - body_AEVP が 0 なら base_delay は変わらない。そうでなければ:
   - base_delay             = max(base_delay, 1d10 + 1d(body_AEVP))
   - 素手の base_delay      = max(base_delay, 1d10 + 2d(body_AEVP))
   - final_delay              += min(1d(body_AEVP), 1d(body_AEVP))
   - 片手半武器の final_delay += min(1d(body_AEVP) + 1dASP,
                                     1d(body_AEVP) + 1dASP)

結局どういうことか