Elin:解析/魔法: Difference between revisions

m
(錬金道具から作成するポーションのパワーを修正。)
 
(14 intermediate revisions by one other user not shown)
Line 1: Line 1:
{{解析}}
{{解析}}
{{バージョン|23.132}}
{{バージョン|23.222}}
==連続魔法==
<syntaxhighlight lang="c#" line="1">
if (a.CanRapidFire && HasElement(1648))
{
num = 1 + Evalue(1648);
}
...
for (int j = 0; j < num; j++)
{
if (a.TargetType != TargetType.SelfParty && tc != null && !tc.IsAliveInCurrentZone)
{
break;
}
ActEffect.RapidCount = j;
ActEffect.RapidDelay = a.RapidDelay;
flag2 = a.Perform(this, tc, pos);
}
...
if (RapidCount > 0)
{
num4 = num4 * 100 / (100 + RapidCount * 50);
}
</syntaxhighlight>連続魔法に対応している魔法を連続魔法のフィートを持つキャラクターが使用した場合、
 
その魔法は連続魔法となり発射数が増加し、一発あたりのダメージが低下します。
 
連続魔法の場合の1発あたりのダメージは「1 / (1 + 0.5 × 連続魔法フィートLv)」倍になります。
 
 
==魔法のパワー==
==魔法のパワー==
Ability.cs
Ability.cs
Line 134: Line 105:
  抵抗力 = (意志 × (5 もしくは 『』《》のキャラクターのみ 20) + (ホーリーヴェイルのパワー × 5)) / デバフ魔法の成功率補正
  抵抗力 = (意志 × (5 もしくは 『』《》のキャラクターのみ 20) + (ホーリーヴェイルのパワー × 5)) / デバフ魔法の成功率補正
この抵抗力が、0~魔法のパワーの範囲のランダムな数字を上回っている場合、90%の確率でキャラクターは魔法を無効化します。
この抵抗力が、0~魔法のパワーの範囲のランダムな数字を上回っている場合、90%の確率でキャラクターは魔法を無効化します。
== 魔法のストック ==
<syntaxhighlight lang="c#">
if (orCreateElement is Spell)
{
int num = EClass.curve(Evalue(307), 50, 20) + (HasElement(307) ? 20 : 0);
int num2 = origin?.Evalue(765) ?? 0;
num = num * (100 - num2) / 100;
int a = mtp * orCreateElement.source.charge * (100 + num) / 100 / 100;
a = Mathf.Max(1, EClass.rndHalf(a));
if (orCreateElement.source.charge == 1)
{
a = 1;
}
orCreateElement.vPotential += a;
}
</syntaxhighlight>プレイヤーは魔法書を読むことで魔法のストックを獲得し、MPとストックを消費することで魔法を使用します。
魔法書を読んだ際に獲得できるストックの最大値は以下の式で算出されます。
暗記効力 = [[Elin:解析/共通処理|CURVE]](暗器スキル, 50, 20, 75) + (20、暗器スキルがない場合0)
獲得ストック倍率 = 1 + (暗記効力 × 0.01) × (1 - 難解内部Lv<ref>復活で40、月夜の槍で70、不死鳥・願いで100。</ref> × 0.01)
獲得ストック最大値 = 魔法のストック獲得係数<ref>魔法によって細かく異なるので割愛。
         
          例として氷の矢=2250、闇の剣=700、月夜の槍=500など。</ref> × 獲得ストック倍率 × 0.01
(獲得ストック最大値 / 2) ~ (獲得ストック最大値 - 1)の範囲内のランダムな値ぶんのストックを獲得します。(最低1)
==連続魔法==
<syntaxhighlight lang="c#" line="1">
if (a.CanRapidFire && HasElement(1648))
{
num = 1 + Evalue(1648);
}
...
for (int j = 0; j < num; j++)
{
if (a.TargetType != TargetType.SelfParty && tc != null && !tc.IsAliveInCurrentZone)
{
break;
}
ActEffect.RapidCount = j;
ActEffect.RapidDelay = a.RapidDelay;
flag2 = a.Perform(this, tc, pos);
}
...
if (RapidCount > 0)
{
num4 = num4 * 100 / (100 + RapidCount * 50);
}
</syntaxhighlight>連続魔法に対応している魔法を連続魔法のフィートを持つキャラクターが使用した場合、
その魔法は連続魔法となり発射数が増加し、一発あたりのダメージが低下します。
連続魔法の場合の1発あたりのダメージは「1 / (1 + 0.5 × 連続魔法フィートLv)」倍になります。
== 魔法ダメージ上限 ==
<syntaxhighlight lang="c#">
if (num4 > 99999999)
{
num4 = 99999999L;
}
</syntaxhighlight>攻撃魔法によるダメージダイスロールの結果が'''「99999999」を'''超える場合、補正前ダメージは「99999999」になります。
この上限の後、[[Elin:解析/ダメージ計算|属性耐性・属性軽減などのダメージ補正が行われます。]]


== 魔法:攻撃魔法 ==
== 魔法:攻撃魔法 ==
Line 170: Line 204:
|球
|球
|1+魔法パワー/70+対応主能力/20
|1+魔法パワー/70+対応主能力/20
|2+魔法のパワー/35
|2+魔法パワー/35
|0
|0
|魔法パワー*0.7
|魔法パワー*0.7
Line 179: Line 213:
|瘴気
|瘴気
|2+魔法パワー/150
|2+魔法パワー/150
|5+魔法のパワー/80
|5+魔法パワー/80
|0
|0
|魔法パワー*0.4
|魔法パワー*0.4
Line 186: Line 220:
|剣
|剣
|2+魔法パワー/200+対応主能力/50
|2+魔法パワー/200+対応主能力/50
|5+魔法のパワー/5
|5+魔法パワー/5
|0
|0
|魔法パワー*0.05
|魔法パワー*0.05
|耐性を2段階分低下させる。(古代種フィートと重複する)
|耐性を2段階分低下させる。(古代種フィートと重複する)
長剣スキルに応じてダメージに倍率がかかる
長剣スキルに応じて補正前ダメージに倍率がかかる


「ダメージ倍率 = MIN(0.7 + 0.03√(長剣スキルLv), 2)」
「ダメージ倍率 = MIN(0.7 + 0.03√(長剣スキルLv), 2)」
Line 196: Line 230:
|ブレス
|ブレス
|1+魔法パワー/80+対応主能力/20
|1+魔法パワー/80+対応主能力/20
|6+魔法のパワー/100
|6+魔法パワー/100
|対応主能力/4
|対応主能力/4
|魔法パワー*0.9
|魔法パワー*0.9
|発動者から7マスにわたる35°の円錐内のすべてのターゲットにダメージ
|発動者から7マスにわたる35°の円錐内のすべてのターゲットにダメージ
魔法強化エンチャントの影響を受けない
|-
|フレア
|1+魔法パワー/70+対応主能力/20
|2+魔法パワー/35
|0
|魔法パワー*0.5
|射程は半径2マス(円形の距離計算)
距離によるダメージ減衰がない
|-
|-
|メテオ
|メテオ
Line 229: Line 272:
|魔法パワー/25
|魔法パワー/25
|魔法パワー
|魔法パワー
|対象のすべてのデバフを除去し、周囲の敵にダメージ。
|対象のデバフ1つ1つを33%の確率で解除し、周囲の敵にダメージ。
対象のデバフ数に応じてダメージに倍率がかかる
対象の発動前にかかっていたデバフ数に応じて攻撃回数が増える。


「ダメージ倍率 = デバフの数」
「攻撃回数 = デバフの数」
|-
|月夜の矢
|1+対応主能力/140+対応主能力/20<ref name=":0" />
|8+対応主能力/10
|魔法パワー/25
|魔法パワー
|これによって死亡する直前に媚薬の効果を発動する。
遺伝子のドロップ率は5%、乳47.5%、卵47.5%。
|-
|月夜の槍
|1+対応主能力/80+対応主能力/10<ref name=":0">除算それぞれで小数点以下を切り捨てる。</ref>
|6+対応主能力/8
|魔法パワー/25
|魔法パワー
|これによって死亡する直前に媚薬の効果を発動する。
遺伝子のドロップ率は5%、乳47.5%、卵47.5%。
|}
|}


==魔法:回復魔法==
==魔法:回復魔法==
呪われたポーションによって発動した場合、ダイスロールの結果ぶんの神聖属性ダメージを与えます。
また、癒し特性のついたポーションを使用した場合、回復量(及びダメージ)は特性Lvに応じて乗算されます。<ref>表示上のLvと内部値は違うことに注意。</ref>
倍率は以下の通りです。
回復(ダメージ)量 = 回復(ダメージ)量 × (癒し特性Lv × 0.01)
{| class="wikitable"
{| class="wikitable"
!魔法
!魔法
Line 417: Line 482:
|-
|-
|水中呼吸
|水中呼吸
|耐久: 魔法パワー/35
|水泳: 魔法パワー / 30
|魔法パワー*3
|魔法パワー*3
|
|
Line 542: Line 607:
|-
|-
|(*肉体弱化*)
|(*肉体弱化*)
|(魔法パワー / 100 + 1) ~ (魔法パワー / 50 + 1)
|魔法パワー / 20
|
|
|重ね掛け可
|該当する魔法は内部に存在しないので名称はでっち上げ
該当する魔法は内部に存在しないので名称はでっち上げ
|-
|-
|(*精神強化*)
|(*精神強化*)
Line 553: Line 617:
|-
|-
|(*精神弱化*)
|(*精神弱化*)
|(魔法パワー / 100 + 1) ~ (魔法パワー / 50 + 1)
|魔法パワー / 20
|
|
|重ね掛け可
|該当する魔法は内部に存在しないので名称はでっち上げ
該当する魔法は内部に存在しないので名称はでっち上げ
|-
|-
|(丘の民の飲酒)
|(丘の民の飲酒)
Line 594: Line 657:
|具象
|具象
|1
|1
|20 + rnd (10) + 魔法のパワー / 20
|20 + 魔法パワー / 20 + 0 ~ 9
|魔法のパワー / 15
|
|-
|ビット
|1
|20 + 魔法パワー / 20 +  0 ~ 9
|魔法のパワー / 15
|魔法のパワー / 15
|
|
Line 686: Line 755:


召喚されたモンスターが元のLvより低くなる場合、元のLvになるよう補正されます。
召喚されたモンスターが元のLvより低くなる場合、元のLvになるよう補正されます。
PC以外が召喚魔法を使用し、召喚されたモンスターのLvが最低保証Lvを下回る場合、Lvは最低保証Lvになるように補正されます。
最低保証Lvは以下の通りです。
最低保証Lv = 召喚者のLv × (PC勢力の場合0.5、それ以外の場合0.66)
== 魔法:設置魔法 ==
== 魔法:設置魔法 ==
地面に対して効果のある地形を生成する魔法です。
地面に対して効果のある地形を生成する魔法です。
Line 705: Line 780:
|(4~8) * 3
|(4~8) * 3
|魔法のパワー
|魔法のパワー
|移動しようとするキャラはrnd(蜘蛛の巣強度) > rnd(1 + 筋力 + 器用)の判定を行う。
|移動しようとするキャラはrnd(1 + 筋力 + 器用) ≧ rnd(蜘蛛の巣強度)の判定を行う。
判定に失敗すると移動できず、蜘蛛の巣の強度は3/4される。
判定に失敗すると移動できず、蜘蛛の巣の強度は3/4される。
判定に成功すると蜘蛛の巣を破壊する。
判定に成功すると蜘蛛の巣を破壊する。
Line 729: Line 804:
開示確率 :  1 - (MIN(発動者からの距離 * 10, 魔法パワー - 10) / 魔法パワー)
開示確率 :  1 - (MIN(発動者からの距離 * 10, 魔法パワー - 10) / 魔法パワー)
|開示半径内にあるマス全てに対し、開示判定に成功する限りそのマスを開示する。
|開示半径内にあるマス全てに対し、開示判定に成功する限りそのマスを開示する。
|-
|願い
|願い強度 : 10 + 魔法パワー / 4
願い価値 : 5000 + 魔法パワー * 50
|願い強度は装備生成時の生成階層として扱われる
願い価値はスタックするアイテムの個数に影響
依存が運のため使用すると運が成長する
|}<references />
|}<references />


1,241

edits