星ドラ: いちばん分かる! 耐性計算 — 基本から細部まで
耐性計算、できてますか? 簡単ですよ。できると、ぜんっぜん違いますよ! 意外と、入門から、細部までキチンと書いた記事が無さそうなので、書きました
目次
基本の「き」
耐性は足し算じゃありません! 「食べ物で20%、鎧で30%だったら、20+30=50%」 じゃなくて、0.8×0.7=56%来る、よって44%耐性ですよ。
だいじょぶ、上の説明で分かんなくても、ゆっくり行きます。Okって方も、最後の行だけ読んで下さい。
食べ物、兜、紋章... どれも、「○%耐性」じゃなくて「△%通すフィルター」と覚えて下さい。さっきの例なら、食べ物は80%、鎧は70%通すフィルターです。
結局は、キャラに何%届くか、を知りたいわけです。各フィルターが「防いだ分」は忘れていい。問題は、食べ物を通過して、更に鎧も通過しちゃうのは、80%の70%だから 0.8×0.7=56%が、トータルの害。
ダメージの場合でも、眠りとかの確率でも、同じです。
かけ算だから、順番は何でも同じ。アタリマエ。(基本的には、です。細かい話は後で) 記憶法のもう一つのキモは、「耐性じゃなくて倍率」という事ですね。上の例だと、知りたいのは「倍率56%」であって、わざわざ最後に「耐性44%」に直す必要はありません。
知っとくとお得ですよ!
計算すると! 似てるようで全然違う例
(たとえば)眠りが何回も何回も来る場合、耐性が高い方がいいですよね。でも目覚しリングで「眠りガード+中」の Lv1 (50%耐性) も Lv10 (60%耐性)も似たようなもの、と言えます。どっちでも耐性が低過ぎて、寝まくるから。(ダメージとか、眠りが時々しか来ない場合は、必ずしも悪くないですけど。)
ところが2つ装備すると全然違います。Lv1を2個だと倍率25%。カフェラテ(60%耐性)を足して、ようやく倍率10% = 耐性90%。でもLv10まで上げて2つ装備すれば、既に倍率16% = 84%耐性。それなら、強化玉使ってLv10まで上げて、食べ物で別の属性の耐性稼ぎたいですよね。
計算すれば! 事故が防げる例
DQ8イベント前半で、ドルマゲスが赤ゲージ突入時にジバリア属性の「ガレキ」を3発投げてくる、というものがありました。耐性ないと約300点喰らいます。2発来るのはよくある(確率5/8 ※1)なので、ガードしても耐性なしでは事故、つまりノーデスが取れない可能性があります。またゲージ跨ぎ役も、耐性なしは危険(※2)ですね。 全キャラ耐性20%持たせられないようだと、ノーデスはちょっと面倒かな、と分かります。無理じゃないですけどね。
計算メンドい? 耐性1分で計算する方が、クエスト何回も挑戦するより楽ですよ。
※1 ガレキが全部違うキャラに行く確率を計算するのが簡単です。1発目が当たったキャラをAとして、2発目がA以外 (Bとしましょう) に行く確率は3/4。3発目はAでもBでもないとすると、2/4。よって求める確率は3/8。誰かに2発以上当たる確率は5/8で、半分より多いんですよ!
※2 ゲージ跨ぎ役に2発以上当たる可能性の計算は、ちょっと難しいですね。1発目と2発目が跨ぎ役に来て3発目が他に行く確率は、。1・3発目、2・3発目の確率も同じ。全部跨ぎ役に来る可能性がで、合わせて10/64 ≈ 1/6.5。これが来たら「運が悪かった」で片付ければいいのでは?
足し算でも大づかみには正しい例
耐性は足し算ではありません。でも!! 足し算でも、いい見積りができる場合があります。それは、足し合わせた数字が小さい場合。(注意: これは倍率ではなくて、元の耐性のままです。) 3、40%くらいまでなら悪くありません。ちょっとやってみましょう。
- 1%耐性×2。倍率 だから、耐性1.99%。ホラね!!
- 10%耐性×2。倍率 だから、耐性19%。おっけい!
- 5%耐性×4。倍率 (10%耐性×2と、ほとんど同じ例なんですケド、ツッコまないでね)
- 30%耐性と10%耐性。倍率 0.7×0.9 = 0.63 だから、耐性37%。ま、そこそこですね
- 30%耐性と20%耐性だとどうでしょう? 結果は44%耐性だから、ちょっとズレを無視しづらくなってきました。
数式見るのがイヤな人は、上の結果だけ知ってればokですけど、式を書いてみましょう
耐性がx, y, zの3点を用意したとします。倍率は
です。Rを無視すると、耐性はx + y + zと足し算ですね。R が無視できる、つまり小さいのは、なぜでしょう。そもそも、x,y,zは小さい場合を考えたんでしたね。たとえば1%なら、xは0.01。すると、Rの中の、たとえばxyは 1万分の1とか、とても小さい数になります。でもx=y=z=0.3だと、R = 0.27と、無視できません。
中級: マルチの食べ物と、紋章ボーナス
マルチの食べ物は特殊。「最高の耐性を持つもの1点を基本として、同じ属性の他の食べ物は、最大値の2割として足される」という変則ルールです。game8のコメントまとめ[1][2]参照。(これは@henohenoさんのこのツイートで教えて頂きました。)
たとえば、いちごスライムアイス(ギラ耐性25%)を持って行った場合を考えます。この時、他のギラ耐性の食べ物は何であっても、25%の2割、5%が1点につき加算されます。苺スライムアイス、豆腐ハンバーグ(同20%)、あんかけ豆腐(同10%)、どれも1個につき5%です。全部で苺スライムアイス2個、あんかけ豆腐1個なら、25+5+5=35%のギラ耐性です。
よって耐性を上げるには「何か耐性が高いもの1点と、後は安いものを持ち寄る」のが基本になります。(ただし、上の例ならギラ耐性以外の効果を考えると、そうも言い切れません。全員が苺スライムアイスだとデイン耐性25%がボーナスですし、豆腐ハンバーグは身の守り+20など、ありますので。)
紋章ボーナスは、画面を見れば分かる通り、4つの紋章のボーナス部分だけは、同じ耐性ごとに、ひとまとめに足し算しますね。紋章のボーナスではない部分は、1点1点別個に扱います。
もちろん「ブレスならなんでも耐性」は、各属性ブレス耐性とは別個扱いです。
パラディンの「戦友の盾」の時に、盾の紋章ボーナスの「防御時は」が活きるのはご存知ですよね。
技術的な詳細
前置き: たとえば眠り耐性が十分あると、眠り攻撃が「無効!」になる事があります。掛け算なら、耐性100%未満の要素がいくつあっても、耐性100%になるはずは無いのです。どうしてこうなるのでしょうか。
耐性計算は、アプリ内部では以下のようになされていると考えられています:
- 各要素を、耐性の高い順に並べます。
- 高い方から、順に一つずつ掛け算をします。
- 手順2において、結果を%で表して、小数点以下を四捨五入します。
- 「1%上積み保証」: 手順3において、耐性が上がらない場合があります。(たとえば95%耐性の時に5%の要素を掛けても、95%のままです) この時は、特別に耐性を1%押し上げます。
- 手順2に戻って、また次の要素を掛けます。
これは、ツイッターのユーザー「碧@星ドラ 」(@cobalt_dq)さんにより、この2017年7月のツイートで提唱されました。碧さんにお訊ねしたところ、2018年4月の時点でも矛盾は知られていない (アーカイブ) ようです。ご回答ありがとうございました。
また「ゆおねろ」さんが、耐性一覧の画面で☆や◎になるかどうかから、上の方法を2018年4月17日にいくつかの場合について調べたところ、やはり矛盾は確認されませんでした。
私自身、以下の条件で封印が「無効!」になった事があります。ロトの兜☆の「封印ガード+極」 Lv9 (耐性98%)、賢者の上級職ボーナス(5%)、紋章(5%)。後2者からの1%上積み保証が確かに効いています。
リンク・資料集
以下はいずれもgame8内のページです: