スキル対応状況
実測日: 2026-08-03 / 対象: サーヴァント 466 騎
この表は手書きではない。全サーヴァントのスキル・宝具・アペンドスキル・クラススキルに含まれる 9,643 個の効果を 1 つずつシミュレーターの解析器へ実際に流し込み、返ってきた結果を集計したもの。
総括
| 状態 | 件数 | 割合 | 意味 |
|---|---|---|---|
| ✅ 反映済み | 9,330 | 96.8% | ゲームどおりに計算へ乗る |
| 🟡 簡略化あり | 309 | 3.2% | 値は乗るが、確率・条件・回数管理を簡略化している |
| ⛔ 対象外 | 4 | 0.04% | 意図的に再現しない (理由は下記) |
| ❌ 未対応 | 0 | 0.0% | 未反映 |
| 計 | 9,643 |
未対応の効果は 0 件。 残るのは「簡略化あり」と、理由を明記した「対象外」だけ。
1 スキルに複数の効果が入っていれば別々に数える (例:「攻撃力アップ+NP獲得+スター獲得」= 3 件)。 強化クエストがあるスキルは最新の強化版のみを対象とする。
再現しているもの
主要な効果種別は全出現箇所が反映済み。件数の多い順に上位 40 種を挙げる。
| 効果 | 件数 | 該当サーヴァント数 |
|---|---|---|
shortenSkillAfterUseSkill — スキル使用後リチャージ | 462 | 462 |
upTolerance — 弱体耐性アップ | 409 | 327 |
func:damageNp | 232 | 226 |
addDamage — ダメージプラス | 141 | 141 |
func:gainHp — HP回復 | 118 | 103 |
reduceHp — やけど | 110 | 79 |
func:damageNpIndividual | 109 | 108 |
upGrantstate — 強化付与アップ | 98 | 93 |
downTolerance — 弱体耐性ダウン | 71 | 64 |
downCriticalRateDamageTaken — 被クリティカル発生耐性アップ | 70 | 67 |
upToleranceSubstate — 強化解除耐性アップ | 48 | 48 |
func:damageNpPierce | 44 | 42 |
upChagetd — オーバーチャージ段階UP | 39 | 39 |
func:shortenSkill — スキルチャージ短縮 | 31 | 31 |
upFuncHpReduce — 延焼 | 29 | 23 |
upDamagedropnp — 被ダメージ時NP獲得アップ | 28 | 27 |
delayFunction — 帯電 | 23 | 19 |
addMaxhp — 最大HPプラス | 23 | 22 |
func:lossHpSafe — HP減少 | 21 | 20 |
pierceDefence — 防御無視 | 21 | 19 |
func:damageNpIndividualSum | 19 | 19 |
gutsFunction — ガッツ時発動 | 18 | 18 |
upResistInstantdeath — 即死耐性アップ | 17 | 16 |
damageFunction — 被ダメージ時発動(強化) | 17 | 16 |
attackBeforeFunction — 攻撃ダメージ前追加効果 | 16 | 15 |
commandattackBeforeFunction — 通常攻撃ダメージ前追加効果(攻撃力アップ) | 14 | 11 |
upGainHp — HP回復量アップ | 13 | 13 |
upGrantInstantdeath — 即死付与率アップ | 13 | 11 |
func:damageNpStateIndividualFix | 12 | 12 |
commandattackAfterFunctionMainOnly — 通常攻撃時追加効果 | 10 | 7 |
deadFunction — 死亡時発動(戦乱の徒花) | 9 | 9 |
downNpdamage — 宝具威力ダウン | 9 | 8 |
func:lossNp — NP減少 | 8 | 8 |
upNonresistInstantdeath — 即死耐性ダウン | 8 | 7 |
upDamageIndividuality — 威力アップ〔行動不能〕 | 8 | 8 |
downStarweight — スター集中ダウン | 8 | 8 |
func:lossHp — HP減少 | 7 | 7 |
func:forceInstantDeath — 確定即死 | 7 | 7 |
func:transformServant — 変身 | 7 | 7 |
downGainHp — HP回復量ダウン | 7 | 7 |
ユーザーから個別に指定のあった複雑な機構も再現済み:
- 宝具発動の前後に発動するバフ/デバフ (
treasureDeviceBeforeFunction/treasureDeviceAfterFunctionMainOnly) — 葛飾北斎・エレシュキガル・ソロモン等。参照先スキルを解決して実際に発火させる - スキルによる追加攻撃 (スキル内の
damageNp系) — バーゲスト、クロエ・フォン・アインツベルン〔水着〕等 - バトルポイント (
changeSvtBattlePoint/damageNpBattlePointPhase) — 蓄積量でフェーズが変わり宝具倍率が切り替わる - クラススキル (〔狂化〕〔騎乗〕〔単独行動〕〔神性〕〔対魔力〕等) — 常時パッシブとしてダメージ計算に合流
- アペンドスキル (対クラス性能・NP獲得量・スキル再装填)
- グランドボード (冠位) の宝具前後トリガ
簡略化しているもの
値は反映されるが、条件判定や確率を簡略化している。理由と、正確化するのに何が要るかを併記する。
| 内容 | 該当件数 | なぜ簡略化しているか | 正確化に必要なもの |
|---|---|---|---|
| 確率発動の決定論化 | 196 | 不変条件 I-8 で ChancePolicy.mode='always' を既定にしている。式自体は rollChance で実装済みで、mode:'random' にすれば実データの Rate で抽選される | UI に「乱数モード」トグルを追加するだけ |
クエスト/フィールド条件 (funcquestTvals) | 55 | BattleState.field の器はあるが、UI にフィールド特性の入力欄がない。未設定を「条件不成立」として弾くと、ガウェイン「聖者の数字」等が丸ごと死ぬ | クエスト選択、またはフィールド特性の手動設定 UI |
敵のスキル使用 (donotSkill の敵狙い) | 31 | 封印状態は保持しているが、敵がスキルを使う機構自体が未実装なので行動が変わらない | クエストデータから敵スキルを取り込む |
バフ発動条件 (ckOpIndv 付きバフ) | 35 | 付与時点では相手が確定していないバフ(「〔人間〕の敵に対してのみ」等)を無条件に乗せている | ダメージ計算時に evalBuffCondition を通す(specialAtkBuffs と同じ形) |
| 【効果を選択】スキル | 7 | 選択自体がプレイヤー操作なので先頭の選択肢を固定採用している | UI に選択トグルを追加するだけ |
1 件の効果が複数の理由に該当することがあるため、合計は簡略化の総数 309 件と一致しない。
効果種別ごとの内訳 (件数の多い順に上位 25 種):
| 効果 | 簡略化 | うち反映済み | 何を省略しているか |
|---|---|---|---|
donotAct | 43 | 30 | 本来は発動確率 (スキルごとに異なる) だが、決定論シミュとして必ず発動させている (43) |
func:instantDeath | 35 | 11 | 本来は発動確率 (スキルごとに異なる) だが、決定論シミュとして必ず発動させている (34) クエスト/フィールド条件が付く効果だが、条件を評価せず常に適用している (1) |
donotSkill | 31 | 3 | 封印状態は保持するが、敵がスキルを使う機構自体が未実装なので行動は変わらない (31) 本来は発動確率 (スキルごとに異なる) だが、決定論シミュとして必ず発動させている (2) |
selfturnendFunction | 19 | 24 | 本来は発動確率 (スキルごとに異なる) だが、決定論シミュとして必ず発動させている (19) |
upDefence | 18 | 96 | 本来は発動確率 (スキルごとに異なる) だが、決定論シミュとして必ず発動させている (8) 本来は対象が〔humanoid〕のときのみ発動する条件付き効果だが、無条件で適用している (3) クエスト/フィールド条件が付く効果だが、条件を評価せず常に適用している (2) ほか 5 種の条件付き効果を条件未評価で適用 |
upCriticaldamage | 17 | 952 | クエスト/フィールド条件が付く効果だが、条件を評価せず常に適用している (6) 本来は発動確率 (スキルごとに異なる) だが、決定論シミュとして必ず発動させている (4) 本来は対象が〔attributeHuman〕状態のときのみ発動する条件付き効果だが、無条件で適用している (4) ほか 3 種の条件付き効果を条件未評価で適用 |
upAtk | 17 | 750 | 本来は発動確率 (スキルごとに異なる) だが、決定論シミュとして必ず発動させている (9) クエスト/フィールド条件が付く効果だが、条件を評価せず常に適用している (8) |
upCommandall | 16 | 1413 | クエスト/フィールド条件が付く効果だが、条件を評価せず常に適用している (8) 本来は発動確率 (スキルごとに異なる) だが、決定論シミュとして必ず発動させている (8) |
func:delayNpturn | 14 | 43 | 本来は発動確率 (スキルごとに異なる) だが、決定論シミュとして必ず発動させている (14) |
upNpdamage | 9 | 212 | クエスト/フィールド条件が付く効果だが、条件を評価せず常に適用している (5) 本来は発動確率 (スキルごとに異なる) だが、決定論シミュとして必ず発動させている (4) |
func:gainStar | 6 | 197 | 本来は発動確率 (スキルごとに異なる) だが、決定論シミュとして必ず発動させている (4) クエスト/フィールド条件が付く効果だが、条件を評価せず常に適用している (2) |
upCriticalpoint | 6 | 142 | 本来は発動確率 (スキルごとに異なる) だが、決定論シミュとして必ず発動させている (4) クエスト/フィールド条件が付く効果だが、条件を評価せず常に適用している (1) 本来は対象が〔classSaber〕のときのみ発動する条件付き効果だが、無条件で適用している (1) |
downDefencecommandall | 6 | 79 | クエスト/フィールド条件が付く効果だが、条件を評価せず常に適用している (3) 本来は発動確率 (スキルごとに異なる) だが、決定論シミュとして必ず発動させている (3) |
downDefence | 5 | 145 | 本来は発動確率 (スキルごとに異なる) だが、決定論シミュとして必ず発動させている (5) |
donotNoble | 5 | 26 | 本来は発動確率 (スキルごとに異なる) だが、決定論シミュとして必ず発動させている (5) |
upStarweight | 4 | 135 | クエスト/フィールド条件が付く効果だが、条件を評価せず常に適用している (3) 本来は発動確率 (スキルごとに異なる) だが、決定論シミュとして必ず発動させている (1) |
upDropnp | 4 | 133 | クエスト/フィールド条件が付く効果だが、条件を評価せず常に適用している (4) |
regainStar | 4 | 129 | クエスト/フィールド条件が付く効果だが、条件を評価せず常に適用している (3) 本来は発動確率 (スキルごとに異なる) だが、決定論シミュとして必ず発動させている (1) |
fieldIndividuality | 4 | 10 | 本来は発動確率 (スキルごとに異なる) だが、決定論シミュとして必ず発動させている (4) |
tdTypeChangeArts | 4 | 1 | 効果を選択できるスキル。決定論シミュとして先頭の選択肢を採用している (2) バフ名も説明文も持たない内部マーカー (変身先の宝具と紐づけるためのもの)。宝具のタイプは変えない (2) |
upDamage | 3 | 169 | クエスト/フィールド条件が付く効果だが、条件を評価せず常に適用している (3) |
guts | 3 | 101 | 本来は発動確率 (スキルごとに異なる) だが、決定論シミュとして必ず発動させている (3) |
regainHp | 3 | 50 | 本来は発動確率 (スキルごとに異なる) だが、決定論シミュとして必ず発動させている (2) クエスト/フィールド条件が付く効果だが、条件を評価せず常に適用している (1) |
downAtk | 3 | 46 | 本来は対象が〔yuMeiren/unknown/unknown〕のときのみ発動する条件付き効果だが、無条件で適用している (2) 本来は発動確率 (スキルごとに異なる) だが、決定論シミュとして必ず発動させている (1) |
commandattackAfterFunction | 3 | 27 | 本来は発動確率 (スキルごとに異なる) だが、決定論シミュとして必ず発動させている (3) |
対象外にしたもの
「作れなかった」ものではなく、再現しないと決めたもの。ここに挙げた以外に未対応はない。 シミュレーター画面では該当スキルに「対象外」バッジと理由が表示される。
効果単位
| 対象 | 効果 | 件数 | 理由 |
|---|---|---|---|
| ジル・ド・レェ「聖乙女の凱旋 EX」 / UDK-バーゲスト「守護騎士連盟 A」 | addIndividuality | 2 | 付与するものが存在しない(特性 id なしの枝のみ対象外)。Value:0 / buff.vals 空 / HideNoEffect:1 で、役割は後続関数の発動可否(TriggeredFuncPosition)を決める内部マーカーだけ。ジル・ド・レェの場合 functvals:[attributeStar] で「〔星〕属性の味方がいるならスター獲得」の条件判定を担う。状態として再現すべき対象がないので「未実装」ではない。特性 id を持つ通常の addIndividuality は applied として反映済み。 |
| ミス・クレーン「天衣無縫・鶴恩惜別歌」 | moveToLastSubmember | 1 | 強制オーダーチェンジ。控えとの入れ替えはターン制シミュの操作モデル外。入れ替え後の手札・スター分配・登場トリガのすべてを盤面操作として再定義する必要があり、得られる忠実度に見合わない。 |
| 蒼崎青子「逆行銀河・赤方偏移」 | changeBgm | 1 | BGM 切替演出。sval.BgmId / PriorityBgm / ResetPriorityBgmAtWaveStart だけを持ち、戦闘結果に影響する値を一つも持たない。 |
走査から外した区分
効果として数えていないもの。除外の判断そのものに理由がある。
| 区分 | 件数 | 理由 |
|---|---|---|
| 追加パッシブ (extraPassive) | 16,466 | 特定イベントの特定クエストでのみ有効な補正であり、任意の敵編成を組む汎用シミュレータには適用条件そのものが存在しない。恒常の強さを歪めるため適用してはならない。 |
| 敵NPC運用時の分岐 (funcTargetTeam 不一致) | 1,490 | プレイヤーが使用する場面では解決されない分岐。採用すると効果の向きを取り違える (ゴールデンテスト J1/J2 が固定している挙動)。 |
| 表示専用 function (none / displayBuffstring) | 53 | 戦闘結果に影響しない演出。 |
| クエスト側スキル (フィールドAI) | — | サーヴァントの持ち物ではないので上の 9,643 件には含まれない。別経路で実装済み(下記)。 |
| 【効果を選択】スキルの非選択枝 (sval.ActSelectIndex / ActSet) | — | 選択そのものがプレイヤー操作 (またはランダム) なので、決定論シミュでは先頭の選択肢を固定採用するしかない。非選択枝は黙殺せず approx として注記に残す。UI に選択トグルを足せば applied にできるため「再現不能」ではない。 |
クエストギミック(サーヴァント外の効果)
上の 9,643 件はサーヴァントが持つ効果の集計で、クエスト側が勝手に撃ってくる効果は含まない。
冠位戴冠戦の〔剣士の試練〕のような常設ギミックは、敵のスキルにもクエストの特性にも入っておらず、
quest.stages[].fieldAis[] → nice/JP/ai/field/{id} というフィールドAIの側にある。
| クエスト | ギミック | 効果 | 発火 |
|---|---|---|---|
| 冠位研鑽戦〔セイバー〕 | 剣士の試練 | 味方〔セイバー〕全体の特殊威力 +100%(永続) | 開幕 |
| 冠位研鑽戦〔ランサー〕 | 槍兵の試練 | 味方〔ランサー〕全体の特殊威力 +100%(永続) | 開幕 |
| 冠位研鑽戦〔ランサー〕 | 天降る雷槍 | 味方単体へ固定ダメージ | 毎ターン(敵ターン開始) |
| 冠位研鑽戦〔アーチャー〕 | 弓兵の試練 | 味方〔アーチャー〕全体の特殊威力 +100%(永続) | 開幕 |
| 冠位研鑽戦〔アーチャー〕 | (弾幕交差) | 敵全体の状態解除 | 2 ターン目(自ターン開始) |
「特殊威力アップ」はダメージ式の (18) 単独乗算で、宝具威力アップ (13) とは別の項。 つまり〔剣士の試練〕が乗ると宝具ダメージはそのまま 2 倍になる。 これを取りこぼすと冠位戴冠戦の実測値と 3 倍以上ずれる。
ギミックは編成画面のクエスト情報に一覧表示され、発火するとバトルログに
【クエストギミック】剣士の試練 → 特殊威力アップ+100% の形で記録される。
発火条件のうちターン数で決まらないもの(味方編成・敵特性の照合など)は評価せず、
未評価であることを注記に残す(黙って撃つと実機に無い効果が乗るため)。
同梱データの更新:
node tools/fetch_quest_gimmicks.mjs [questId ...]
測り直しかた
この表の数字は再現可能。リポジトリ直下で:
node --max-old-space-size=6144 tools/scan_effects.mjs scan_raw.json
node --max-old-space-size=6144 tools/build_effect_worklist.mjs scan_raw.json
1 本目が全サーヴァントの効果を解析器へ通し、2 本目が集計してこのページと
開発用台帳 (tools/data/battlesim/effect_inventory.md) を書き出す。
動作の正しさは npm run test:battle (ゴールデンテスト) が別途固定している。