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

ノックバックを追加。衝撃波無効を追加。
(盾の発動エンチャについて記載。)
(ノックバックを追加。衝撃波無効を追加。)
Line 531: Line 531:
ただし、'''闇子・闇の老師が元々持つヴォーパル'''は、攻撃対象が闇子・闇の老師の透明化を見破っている場合0になります。<ref>闇子・闇の老師の特別仕様。タグやフィートによる判別ではなく、idによる判別。</ref><ref>武器に付与されているヴォーパルは0にならない。</ref>
ただし、'''闇子・闇の老師が元々持つヴォーパル'''は、攻撃対象が闇子・闇の老師の透明化を見破っている場合0になります。<ref>闇子・闇の老師の特別仕様。タグやフィートによる判別ではなく、idによる判別。</ref><ref>武器に付与されているヴォーパルは0にならない。</ref>


==物理攻撃エンチャント==
==武器攻撃エンチャント==
{| class="wikitable"
{| class="wikitable"
|+武器専用エンチャントの名前(Evalue小さい順)
|+武器専用エンチャントの名前
|-
|-
!内部名!!日本語名
!名称
!近接
!近接
!遠隔
!遠隔
!投擲!!簡易説明
!投擲!!簡易説明
|-
|-
|drill
|突貫
|突貫
|○
|○
Line 547: Line 546:
|当たった相手を突き抜けて後方にも当たる。
|当たった相手を突き抜けて後方にも当たる。
|-
|-
|scatter
|拡散
|拡散
|○
|○
Line 554: Line 552:
|減衰のある範囲攻撃
|減衰のある範囲攻撃
|-
|-
|cleave
|旋風
|旋風
|○
|○
Line 561: Line 558:
|攻撃が最初の相手から伝播する
|攻撃が最初の相手から伝播する
|-
|-
|flurry
|連撃
|連撃
|○
|○
Line 568: Line 564:
|複数回攻撃する
|複数回攻撃する
|-
|-
|chaser
|追尾
|追尾
|○
|○
Line 575: Line 570:
|回避された際に追撃する
|回避された際に追撃する
|-
|-
|frustration
|逆襲
|逆襲
|○
|○
Line 582: Line 576:
|回避された際に確率で確定命中クリティカル攻撃をする
|回避された際に確率で確定命中クリティカル攻撃をする
|-
|-
|feint
|牽制
|牽制
|○
|○
Line 589: Line 582:
|制圧の状態異常を付与する
|制圧の状態異常を付与する
|-
|-
|splash
|衝撃波
|衝撃波
|○
|○
Line 596: Line 588:
|最初の攻撃対象の周りにも当たる衝撃波を発する
|最初の攻撃対象の周りにも当たる衝撃波を発する
|-
|-
|talisman
|ノックバック
|○
|○
|○
|攻撃対象を1マス押しのける
|-
|護符節約
|護符節約
|○
|○
Line 603: Line 600:
|霊符と唄の使用回数を増やす
|霊符と唄の使用回数を増やす
|-
|-
|nonLethal
|慈悲の重み
|慈悲の重み
|○
|○
Line 610: Line 606:
|このエンチャントが付与された武器によって対象が死亡するとき、死を回避
|このエンチャントが付与された武器によって対象が死亡するとき、死を回避
|-
|-
|safetyMeasure
|事故防止
|事故防止
|○
|○
Line 837: Line 832:
foreach (Card item4 in p.ListCards())
foreach (Card item4 in p.ListCards())
{
{
if (item4.trait.CanBeAttacked || (item4.isChara && item4.Chara.IsHostile(Act.CC)))
if ((item4.trait.CanBeAttacked || (item4.isChara && item4.Chara.IsHostile(Act.CC))) && !item4.HasElement(430))
{
{
int rawDamage = AttackProcess.Current.GetRawDamage(0.1f + 0.05f * Mathf.Sqrt(splash), crit: false, maxRoll: false);
int rawDamage = AttackProcess.Current.GetRawDamage(0.1f + 0.05f * Mathf.Sqrt(splash), crit: false, maxRoll: false);
Line 847: Line 842:
}
}
</syntaxhighlight>
</syntaxhighlight>
攻撃対象の半径1マス以内の敵すべてを攻撃します。
攻撃対象の半径1マス以内の衝撃波無効エンチャントを持たない敵すべてを攻撃します。


エンチャント強度は衝撃波のダメージ倍率に影響し、倍率は「0.1 + 0.05 × √(衝撃波エンチャント強度)」倍です。
エンチャント強度は衝撃波のダメージ倍率に影響し、倍率は「0.1 + 0.05 × √(衝撃波エンチャント強度)」倍です。
Line 879: Line 874:


エンチャント強度は発動確率に影響し、どちらの効果の確率も「10 + 5 × √(エンチャント強度)」%で、最大「'''90'''」%です。
エンチャント強度は発動確率に影響し、どちらの効果の確率も「10 + 5 × √(エンチャント強度)」%で、最大「'''90'''」%です。
=== ノックバック ===
<syntaxhighlight lang="c#">
num3 += weapon.Evalue(603, ignoreGlobalElement: true);
...
if (TC.isChara && !TC.HasCondition<ConGravity>() && num3 > 0 && num3 * 2 + 15 > EClass.rnd(100) && !TC.isRestrained && TC.Chara.TryMoveFrom(CC.pos) == Card.MoveResult.Success)
{
TC.pos.PlayEffect("vanish");
TC.PlaySound("push", 1.5f);
}
</syntaxhighlight>攻撃対象が吊られた状態や重力状態でない場合、攻撃命中時に攻撃者と攻撃対象を結ぶ直線上にあるマスへ攻撃対象を1マス移動させます。
エンチャント強度は発動率に影響し、発動率は'''「15 + エンチャント強度 × 2」'''%で、最大'''「100」'''%です。
===== 海嘯のノックバック =====
<syntaxhighlight>
if (Act.TC.isChara && !Act.TC.HasCondition<ConGravity>() && Act.TC.ExistsOnMap && knockback > 0 && knockback * 2 + 15 > EClass.rnd(100) && !Act.TC.isRestrained)
{
Card.MoveResult num9 = Act.TC.Chara.TryMoveFrom(Act.CC.pos);
bool flag3 = Act.CC.id == "tsunami";
if (num9 == Card.MoveResult.Success)
{
Act.TC.renderer.SetFirst(first: true);
Act.TC.PlaySound("wave_hit_small");
if (flag3)
{
Act.TC.Chara.AddCondition<ConParalyze>(20, force: true);
Act.TC.Chara.AddCondition<ConSuffocation>(100, force: true);
}
}
else if (flag3)
{
Act.TC.PlaySound("wave_hit");
Act.TC.pos.PlayEffect("wave_hit");
Act.TC.Chara.AddCondition<ConSuffocation>(200, force: true);
if (!Act.TC.HasElement(430))
{
int rawDamage = AttackProcess.Current.GetRawDamage(1f, crit: false, maxRoll: false);
rawDamage = Act.TC.ApplyProtection(rawDamage);
Act.TC.DamageHP(rawDamage, 0, 100, AttackSource.Shockwave, Act.CC);
}
Act.CC.Die();
}
}
</syntaxhighlight>'''攻撃者が固有のノックバック強度を持ち'''<ref>該当する海嘯以外でもコンソールでノックバックエンチャを付与すると再現可能。ただし、現状は海嘯にしかなく、海嘯専用の仕様が多いため固有このページでは「海嘯のノックバック」と呼びます。</ref>、攻撃対象が吊られた状態や重力状態でない場合、近接攻撃時に命中の成否を問わず攻撃者と攻撃対象を結ぶ直線上にあるマスへ攻撃対象を1マス移動させます。
エンチャント強度は発動率に影響し、発動率は'''「15 + エンチャント強度 × 2」'''%で、最大'''「100」'''%です。
攻撃者が海嘯で、これによって攻撃対象が移動した場合、攻撃対象に強度20の麻痺と強度100の呼吸困難を耐性や無効化エンチャントを無視して強制的に付与します。
攻撃者が海嘯で、これによって攻撃対象が移動しなかった場合、攻撃対象に強度200の呼吸困難を耐性や無効化エンチャントを無視して強制的に付与します。
さらに攻撃対象が衝撃波無効エンチャントを持っていない場合、攻撃力と等倍の衝撃波のダメージを与えます。
ただし、衝撃波のダメージは貫通率0%かつ無属性固定で、対象の物理防御力で軽減されます。
その後、攻撃者は死亡します。


=== 慈悲の重み ===
=== 慈悲の重み ===
250

edits