ウィッチャー魔物討伐
体力320のグリフィンに1ヒット45の銀の剣で挑むと8回の攻撃が必要で、最後の一撃のうち40は余ります。依頼を受ける前に必要な回数を把握できます。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- ダメージ
- 50
- 体力
- 200
- 命中数
- 4
- 余剰ダメージ
- 0
- 合計ダメージ
- 200
- 最後の一撃のダメージ
- 50
獣がまだ何回の剣撃に耐えられるかを知るウィッチャーは、最後のクエンが持つかどうかに賭けるのではなく、戦いを計画します。ウィッチャー魔物討伐計算機は、当たった一撃あたりの攻撃ダメージと、魔物の残体力という二つの正の数を受け取り、その体力をゼロにするのに必要なヒット数と、止めの一撃に残る余剰ダメージを返します。余剰ダメージはオーバーキル、つまり魔物の体力が尽きたあとに使われなかった最後の一振りの余りです。
ヒット数と余剰ダメージの求め方
ウィッチャー魔物討伐計算機は、魔物狩りがいつか紙切れに書く戦闘算術の問いに答えます。当たった剣撃あたりの一定ダメージが与えられたとき、魔物の体力を空にするには何ヒット必要か、最後の一振りのうちどれだけがオーバーキルとして無駄になるか、です。体力 320 の griffin が、一撃 45 の銀の剣に対しては八撃を要します。
卓上の審判が次の大剣が一撃でトロールを倒すかを問われたときも、ゲームデザイナーが変異原を重ねた構築でボスが一撃死しないかを見るときも、同じ恒等式を使います。本計算機は印、薬、クリティカル、耐性、回避窓はモデル化しません。
それらの土台にある「体力対一撃」の生の問いに答えるだけなので、計画者はまず修正を合成し、そのあと Geralt と戦利品のあいだに何ヒット残るかを尋ねられます。
ウィッチャー魔物討伐が役立つ場面
図鑑の執筆者と wiki の維持者は、読者が銀の剣のダメージ数値を公開体力の横に貼り、切り上げ除算を手計算せずヒット数を見られるように、ウィッチャー魔物討伐を使います。スピードランナーと戦闘ログ解析は、その瞬間の鋼または銀のダメージで、記録された命中列がボスを倒しているべきかを調べます。
Witcher に着想した卓上システムを遊ぶ卓も、今のパーティーのダメージ線で悪魔が何ラウンド持つかと問われたときに同じ契約を使います。検証失敗は残高を消費しません。
活用例
図鑑の戦闘計画
銀の剣のダメージと公開された魔物の体力を貼り付け、契約を受ける前に討伐ヒット数と余剰オーバーキルを確認します。
戦闘ログとスピードランの検証
その瞬間の刃のダメージで、記録された命中列が獣を倒しているべきだったかを確かめます。
よくある質問
止めの一撃の余剰ダメージとは何ですか?
体力がダメージのちょうど整数倍ならゼロ、それ以外では必ず一撃分未満です。
なぜダメージと体力は正でなければなりませんか?
ゼロや負のダメージでは体力を空にできず、正でない体力は戦いではありません。
The Witcher 3 の図鑑を魔物名で引きますか?
引きません。 残体力と、油・印・耐性のあとに実際に与えるダメージをご自身で渡します。生き物の名はご自身の表に残します。
必要なヒット数はどのように計算しますか?
魔物の残り体力を1ヒットあたりのダメージで割り、小数点以下を切り上げます。体力200にダメージ50なら、ちょうど4ヒットで倒せます。
会心の一撃や霊薬の効果も計算に入りますか?
いいえ、入りません。どのヒットも同じダメージと仮定し、印、霊薬、会心、耐性、回避は考慮しません。先にそれらを反映したダメージ値を求めてから入力してください。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/game/witcher-monster-slayer \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"damage":50,"health":200}'const res = await fetch("https://api.kit.forhosting.com/game/witcher-monster-slayer", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"damage": 50,
"health": 200
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/game/witcher-monster-slayer",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"damage": 50,
"health": 200
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/game/witcher-monster-slayer", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"damage":50,"health":200}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"damage":50,"health":200}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/game/witcher-monster-slayer", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"damage": 50,
"health": 200
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "game.witcher_monster_slayer",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
制限
max_value | 1000000000000000 |
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
ダメージまたは体力が正でない場合、殺しを捏造せず invalid_input で失敗します。
ヒット数と余剰ダメージの求め方
閉じた恒等式は hits が health を damage で割った切り上げに等しく、leftover_damage が hits かける damage から health を引いた値です。したがって余剰ダメージは止めの一撃の未使用分であり、体力がダメージのちょうど整数倍ならゼロ、それ以外では必ず一撃分未満です。七撃で 315 を削り、八撃目はあと 5 だけ必要で、leftover_damage は 40 です。切り上げ除算は決定的なので、同じ正の数の対を送った二つのクライアントは常に同じ hits と leftover_damage を受け取ります。
入力契約、応答の形、誤りの扱い
一兆を超える値は、ヒット数が安全整数の範囲を出ないよう拒みます。四かける 50 がちょうど 200 だからです。生き物の名が必要ならご自身の図鑑表と組み合わせてください。この端点は算術だけを解き、griffin、leshen、noonwraith を題名で引きません。必須の有限数二つを JSON 本体として POST してください。damage は当たった一撃あたりのウィッチャーの攻撃、health は魔物の残体力です。各欄は JSON の数でも数値文字列でもよく、attack、dmg、sword_damage、hp、health_pool、monster_hp といった別名は正規名へ写されます。欠落、空文字、非有限、ゼロ、負数は欄名を付けた invalid_input で失敗し、課金されません。成功時は damage と health をエコーし、hits を正の整数、leftover_damage を止めの一撃のオーバーキル、total_damage を hits かける damage、last_hit_damage を実際に体力を空にした最後の一振りの取り分、切り上げ恒等式を書き直した formula、戦闘ログ向きの一行 message を返します。例:damage 50 と health 200 は四ヒット、leftover_damage 0 です。damage 45 と health 320 は八ヒット、leftover_damage 40、last_hit_damage 5、total_damage 360 です。
ウィッチャー魔物討伐が役立つ場面
New Game Plus や独自契約を調整する modder には、ダメージゼロの剣を無限として黙って返さず拒む決定的な神託が必要で、一撃死の構築が真偽値に隠れず leftover_damage に見えることも要ります。二数の問いに戦闘シミュレータ一式を引き込む代わりに、小さな parse API を呼べば足ります。実装は純粋な parse のティア A なので、成功した呼び出しはモデルトークンも外向き通信もなく、公表された基本料金 $0.002 です。
連携の活用例
mod と難易度のバランス
変異原の積み重ねでボスが一撃死しないか調べます。leftover_damage が一撃分に近いと、最後の一振りのほとんどが無駄になっています。
技術的な質問
ウィッチャー魔物討伐はヒット数をどう数えますか。
正の数 damage(当たった一撃あたり)と health(魔物の体力)を送ってください。ヒット数は ceil(health / damage) です。API は止めの leftover_damage、last_hit_damage、total_damage も返します。
ウィッチャー魔物討伐計算機の料金はいくらですか。
ブラウザの道具は無料です。API 要求は成功一回につき前払い残高から $0.002 です。不正な入力は課金されません。