モンスターの吸収後のステータスは、以下の式で表されます。
+98同士のモンスターを吸収する際などは、ただ闇雲に強いモンスターを吸収するだけでは確実な強化と言えません。上の式を参考に、吸収後のモンスターのステータスを計算した上で適切な吸収を行うのが有効です。
しかし、実際に繰り返すと痛感しますがこの計算は非常に煩雑です。
そこで、Excelでステータス計算を自動化すればかなりの効率化が期待できるのではないでしょうか。
何らかの形で同様のシステムを自作している方は多そうですが、今回は改めて試作してみました。あいにく私自身Excelの知識が殆ど無いので、色々と探りながらの制作にはなりましたが、ある程度実用に適したツールが完成致しましたので制作過程をご紹介します。
(後述しますが、現状原因不明の誤差が生じております。案や心当たりのある有識者の方は是非コメントにてご指摘をお願い致します)
制作過程
①概形を用意する
今回制作するファイルはこのような形にしました。
「左上部分に吸収元と吸収相手のステータスを入力し、中央上部分に吸収結果となるモンスターの名前を入力すると、LV1時点でのステータスとLV99時点でのステータス(石や種は考慮しない)が左下に表示される」
といった感じです。
中央上部分に関してはモンスターの図鑑番号を直接入力した方がシステム面では楽です。しかし、モンスターの図鑑番号を暗記したり使用の都度図鑑を確認したり、といった手間が必ずかかるので、モンスターの名前に対応した番号を自動で抽出する機能も加えておきました。
②各モンスターのステータスを用意する
吸収をシミュレーションする際、必要になるのが各モンスターの初期ステータスです。これは別シートから参照した方が見栄えが良さそうなので、別シートに攻略Wikiのコピペを用意しました。
こちらの数値も先程の「育成方針」ページからお借りしました。
前回のランキング記事で用意した「LV99時のステータス」も利用するため、そちらも別シートに控えてあります。
③モンスター名から図鑑番号を割り出す
「概形」画像の中央上部分、モンスター名から図鑑番号を割り出すシステムを作ります。
こちらはVLOOKUP関数で問題ないでしょう。
と思いきや、VLOOKUP関数では検索値と合致したセルより左の値は参照できないため、上の画像のようなファイルからモンスター名を読み取って図鑑番号を返す、といった動作ができません。
(これ知らずに#N/Aと1時間弱格闘してました)
よって、図鑑番号の保存されているシート全体を右に1マスずらした上でA列に再度モンスター名を入力し、VLOOKUPの範囲をA:Bとした後A列を非表示にしました。
これで元のフォーマットを保ったままVLOOKUP関数が使えます。
④モンスター固有のステータスを表示する
無事モンスター名を図鑑番号に変換することができました。
この作業によって、②で作ったシートの情報をそのまま引用する工程が楽になります。
図鑑番号をそのままOFFSET関数の引数にすることで、図鑑番号から自動的にステータス情報へアクセスできます。
今回はモンスター固有の初期ステータスとLV99時のステータスを別シートに用意したので、それぞれを表示する関数となります。
⑤吸収の計算部分を作る
「概形」画像の左下部分、肝心の吸収結果を出力します。
「吸収結果(LV1)」の欄にWikiの式を記入、その際に先程導出した吸収結果モンスターの初期ステータスを足して完成です。
次に「吸収結果(LV99)」の欄ですが、こちらは「吸収結果(LV1)」の値に先程のLV99時ステータスを足すだけです。
⑥テスト
こうして、吸収後モンスターのLV99時のステータスを表示するシステムが完成しました。
早速適当に捕まえて育てたワーウルフと白虎で検証を行います。
あれ?
所々数値が1違います。
これは小数点以下の数値が何かしらの影響を及ぼしている予感…
もしくは、アップデートによるバランス調整で初期ステータスが変更になったのかも知れません。
1ポイントの誤差なら実用には十分とみなし、今回はひとまずこれで終了とします。
配布は今のところ未定ですが、希望があれば何かしら手段を考えてみます。
誤差に関しては今後調査を進めていく予定です。