HANDのページ

CardWirthエンジン分析-カードの「有効条件」

CardWirthの戦闘時の思考ルーチンはなかなかに賢い。状況に応じたカードを的確に使用し、明らかに無駄な行動はしない。

この記事では、CardWirthのそんな挙動を実現している仕組みについて解説する。

カードの「有効条件」

いきなりだが、召喚獣カードの起動条件をもとに割り出した、カードの「有効条件」を紹介する。カードの「有効条件」を満たす対象が存在するときに限り、そのカードは有効と扱われ、召喚獣カードは起動し、アクション・アイテム・技能は自動選択(と敵のカード使用)の候補に入る。

カード対象

キャストがカード対象に該当すれば有効、そうでなければ無効と判断される。

カード属性

カード属性 有効条件(対象の属性)
物理属性 対象が「武器が効かない」でない
魔法属性 対象が「魔法が効かない」でない、かつ使用者が「魔法無効化状態」でない
魔法的物理属性 対象が「武器が効かない」でないか「魔法が効かない」でない
物理的魔法属性 対象が「武器が効かない」でなく「魔法が効かない」でない、かつ使用者が「魔法無効化状態」でない
無属性 常に有効

モーション属性

モーション属性 有効条件(対象の属性)
全属性 常に有効
肉体属性 「命を持たない」でない
魔法属性 「魔法生物」
神聖属性 「不浄な存在」
精神属性 「心を持たない」でない
炎属性 「炎に耐性を持つ」でない
冷気属性 「冷気に耐性を持つ」でない

モーション効果

モーション効果 有効条件(対象の状態)
生命力-ダメージ 「意識不明」でない
生命力-回復 「負傷」「重傷」「意識不明」のいずれかである
生命力-吸収 「意識不明」でない
中毒 「意識不明」でない
麻痺 「意識不明」でない
中毒解除 「中毒状態」
麻痺解除 「麻痺状態」または「石化状態」
精神力-回復 生存状態 (技能カードの有無を考慮しない)
精神力-不能 常に無効
束縛 「束縛状態」でない
暴露 「暴露状態」でない
沈黙 「沈黙状態」でない
魔法無効化 「魔法無効化状態」でない
束縛解除 「束縛状態」
暴露解除 「暴露状態」
沈黙解除 「沈黙状態」
魔法無効化解除 「魔法無効化状態」
対象消去 「意識不明」でない
召喚 召喚獣カード欄に空きスペースがある
召喚獣消去 召喚獣カードを所有している(付帯能力を含む )
カード消去 行動可能
カード配付 行動可能 (技能カードの有無を考慮しない)
睡眠 「睡眠状態」でない
恐慌 「恐慌状態」でない
激昂 「激昂状態」でない
勇敢 「勇敢状態」でない
精神正常化 「睡眠状態」「恐慌状態」「激昂状態」「勇敢状態」のいずれかである
行動力変化(+N) 行動力変化<+N
行動力変化(±0) 行動力変化≠±0
行動力変化(-N) 行動力変化>-N
防御力変化(+N) 防御力変化<+N
防御力変化(±0) 防御力変化≠±0
防御力変化(-N) 防御力変化>-N
抵抗力変化(+N) 抵抗力変化<+N
抵抗力変化(±0) 抵抗力変化≠±0
抵抗力変化(-N) 抵抗力変化>-N
回避力変化(+N) 回避力変化<+N
回避力変化(±0) 回避力変化≠±0
回避力変化(-N) 回避力変化>-N

有効カードの判定と目標決定処理

自動選択および敵やNPCの行動における有効カードの判定と目標決定処理は以下のように行われていると推測できる。

特に、 モーションの上から順に「有効条件」の判定を行い、使用対象を決定する ことに注意してほしい。

TIPS

まとめ

参考ページ

本コラムの内容を基にした追加検証が以下のページで行われているので参考にされたし。