Elin:解析/物理戦闘: Difference between revisions

盾の発動エンチャについて記載。
(武器発動エンチャのコードを最新のものに修正。武器発動エンチャの両手持ちの発動率について記載。武器発動エンチャの牽引の特別仕様について記載。)
(盾の発動エンチャについて記載。)
Line 1,449: Line 1,449:




発動エンチャントで発動するアビリティや魔法のパワーは以下の式で算出されます。<ref>アビリティのパワーは変動しますが、アビリティのダメージ算出の際に使用される関連能力は発動者の能力を参照せず、「パワー / 10」として計算されます。</ref>
発動エンチャントで発動するアビリティや魔法のパワーは以下の式で算出されます。<ref name=":4">アビリティのパワーは変動しますが、アビリティのダメージ算出の際に使用される関連能力は発動者の能力を参照せず、「パワー / 10」として計算されます。</ref>
  発動したアビリティのパワー = [[Elin:解析/共通処理|CURVE]]((100 + 10 × 発動エンチャント強度) × (1 + 0.01 × 対応武器スキル), 400, 100, 75)
  発動したアビリティのパワー = [[Elin:解析/共通処理|CURVE]]((100 + 10 × 発動エンチャント強度) × (1 + 0.01 × 対応武器スキル), 400, 100, 75)
==盾の発動エンチャント==
<syntaxhighlight lang="c#">
if (!IsRanged && !flag2 && attackStyle == AttackStyle.Shield)
{
int num12 = CC.Evalue(123);
int num13 = CC.Evalue(381);
...
        ProcShieldEncs(CC, TC, 500 + num13);
...
public static void ProcShieldEncs(Chara CC, Card TC, int mtpChance = 100)
{
foreach (BodySlot slot in CC.body.slots)
{
if (slot.elementId == 35 && slot.thing != null && (slot.thing.category.IsChildOf("shield") || slot.thing.category.IsChildOf("martial")))
{
ProcAbility(slot.thing.elements.dict.Values.ToList(), CC, TC, CC.Evalue((slot.thing.category.skill == 0) ? 123 : slot.thing.category.skill), subAttack: false, mtpChance);
}
}
}
</syntaxhighlight>シールドバッシュが発生し、盾にアビリティ発動のエンチャント(「それは○○を発動する」)が付与されている場合、確率でアビリティが発動します。
発動エンチャントの発動確率は以下の式で算出されます。
発動エンチャ発動率(%) = (10 + 発動エンチャント強度 / 5) × (5 + 盾の暴君エンチャント強度 × 0.01)
'''「牽引」を発動する場合のみ、発動率は「100」%'''になります。
発動エンチャントで発動するアビリティや魔法のパワーは以下の式で算出されます。<ref name=":4" />
発動したアビリティのパワー = [[Elin:解析/共通処理|CURVE]]((100 + 10 × 発動エンチャント強度) × (1 + 0.01 × 盾スキル), 400, 100, 75)




250

edits