Elin:解析/魔法

From Ylvapedia
Revision as of 08:54, 19 October 2025 by びゃっこ (talk | contribs) (召喚魔法の最低保証Lvを追加。)
バージョン EA23.222: この記事は、Elin最新の安定版リリースに遅れをとっていますが、信頼できる範囲にあるかもしれません。

魔法のパワー

Ability.cs

public override int GetPower(Card c)
{
	int a = base.Value * 8 + 50;
	if (!c.IsPC)
	{
		a = Mathf.Max(a, c.LV * 6 + 30);
		if (c.IsPCFactionOrMinion && !base.source.aliasParent.IsEmpty())
		{
			a = Mathf.Max(a, c.Evalue(base.source.aliasParent) * 4 + 30);
		}
	}
	a = EClass.curve(a, 400, 100);
	if (this is Spell)
	{
		a = a * Mathf.Max(100 + c.Evalue(411) - c.Evalue(93), 1) / 100;
	}
	return a;
}

まず初めに、魔法パワーの算出に使用する値(以下、基礎魔法パワー)を決定します。

プレイヤーの基礎魔法パワーは「魔法Lv × 8 + 50」です。

住民やペットと味方の召喚生物の基礎魔法パワーは「キャラクターLv × 6 + 30」か「魔法の関連主能力 x 4 + 30」のどちらか高いほうです。

その他NPCの基礎魔法パワーは「キャラクターLv × 6 + 30」です。

最終的な魔法パワーは以下の式で算出されます。

魔法パワー = curve(基礎魔法パワー, 400, 100, 75) × MAX((1 + (魔法強化エンチャント強度 × 0.01) - 反魔法エンチャント強度 × 0.01), 0.01)

※MAX()は2値の内どちらか高い方を返す関数です。この場合、反魔法エンチャントによる魔法パワーの低下は0.01倍が下限となります。

ポーション・魔法杖・巻物のパワー

ポーション・魔法杖・巻物は、内部上では魔法を使っている場合とほぼ同一の処理をします。[1]

ただし、魔法のパワーは魔法を使った場合と異なりアイテム自体の魔法のパワーを参照し、対応主能力も魔法のパワーに応じた値で代用されます。

また、魔法Lvや魔法強化エンチャントなどを参照しません。

以下はそれぞれの魔法のパワーと対応主能力の表です。

アイテム 魔法のパワー 対応主能力
ポーション 200 魔法のパワー / 10
魔法杖 100 * (1 + 魔道具 * 0.1 + 魔力 * 0.005 + 感覚 * 0.005) 魔法のパワー / 10
巻物 200 魔法のパワー / 10
HP回復の錬金ポーション 200 * (1 + ポーションの+値 * 1.5) 魔法のパワー / 10
肉体復活・精神復活の錬金ポーション 200 * (1 + (ポーションの+値 + 0.5 * ポーションの+値 ^ 2)) 魔法のパワー / 10
上記2つ以外の錬金ポーション 200 * (1 + ポーションの+値) 魔法のパワー / 10

祝福/呪いはアイテム自体の魔法のパワーを増減させることはありません。

発動する魔法の効果が祝福/呪いでの増減に対応している限り、魔法のパワーが増減します。

デバフ魔法への抵抗

bool isPowerful = TC.IsPowerful;
string n = actRef.n1;
if (n == "ConSuffocation")
{
	power = power * 2 / 3;
}
int a2 = power;
int num6 = TC.WIL * (isPowerful ? 20 : 5);
ConHolyVeil condition = TC.GetCondition<ConHolyVeil>();
if (condition != null)
{
	num6 += condition.power * 5;
}
if (EClass.rnd(a2) < num6 / EClass.sources.stats.alias[n].hexPower && EClass.rnd(10) != 0)
{
	TC.Say("debuff_resist", TC);
	CC.DoHostileAction(TC);
	break;
}

デバフ魔法をかけられたキャラクターは、その魔法自体に抵抗を行い、成功した場合に魔法を無効化します。

抵抗力は以下の式で算出されます。

抵抗力 = (意志 × (5 もしくは 『』《》のキャラクターのみ 20) + (ホーリーヴェイルのパワー × 5)) / デバフ魔法の成功率補正

この抵抗力が、0~魔法のパワーの範囲のランダムな数字を上回っている場合、90%の確率でキャラクターは魔法を無効化します。

魔法のストック

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;
}

プレイヤーは魔法書を読むことで魔法のストックを獲得し、MPとストックを消費することで魔法を使用します。

魔法書を読んだ際に獲得できるストックの最大値は以下の式で算出されます。

暗記効力 = CURVE(暗器スキル, 50, 20, 75) + (20、暗器スキルがない場合0)
獲得ストック倍率 = 1 + (暗記効力 × 0.01) × (1 - 難解内部Lv[2] × 0.01)
獲得ストック最大値 = 魔法のストック獲得係数[3] × 獲得ストック倍率 × 0.01

(獲得ストック最大値 / 2) ~ (獲得ストック最大値 - 1)の範囲内のランダムな値ぶんのストックを獲得します。(最低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);
}

連続魔法に対応している魔法を連続魔法のフィートを持つキャラクターが使用した場合、

その魔法は連続魔法となり発射数が増加し、一発あたりのダメージが低下します。

連続魔法の場合の1発あたりのダメージは「1 / (1 + 0.5 × 連続魔法フィートLv)」倍になります。

魔法ダメージ上限

if (num4 > 99999999)
{
	num4 = 99999999L;
}

攻撃魔法によるダメージダイスロールの結果が「99999999」を超える場合、補正前ダメージは「99999999」になります。

この上限の後、属性耐性・属性軽減などのダメージ補正が行われます。

魔法:攻撃魔法

ダイス数、ダイス面、ダメージボーナス、属性強度は小数点以下切り捨てです。

属性強度とは、状態異常を付与する際に使用される強度です。値が大きい程状態異常にしやすく、状態異常の強度が上がります。

標準偏差を含むEA23.71時点での各種魔法のダメージ。パラメータは魔力=100固定、x軸は魔法レベル、y軸は平均ダメージ
魔法 ダイス数 ダイス面 ダメージボーナス 属性強度 備考
1+魔法パワー/100+対応主能力/10 3+魔法パワー/50 0 魔法パワー*1.25 近接範囲
1+魔法パワー/160+対応主能力/30 8+魔法パワー/12 魔法パワー/25 魔法パワー*0.5 1マス内に複数キャラが存在する場合全員にダメージ
光線 1+魔法パワー/120+対応主能力/20 4+魔法パワー/20 0 魔法パワー*0.9 10マスにわたる直線上のすべてのターゲットにダメージ
1+魔法パワー/70+対応主能力/20 2+魔法パワー/35 0 魔法パワー*0.7 射程は半径5マス(円形の距離計算)

ダメージ = ダメージ x 100 / (90 + 距離 x 10)

瘴気 2+魔法パワー/150 5+魔法パワー/80 0 魔法パワー*0.4 グローバルターン1ターンにつき1回ダメージを与える
2+魔法パワー/200+対応主能力/50 5+魔法パワー/5 0 魔法パワー*0.05 耐性を2段階分低下させる。(古代種フィートと重複する)

長剣スキルに応じて補正前ダメージに倍率がかかる

「ダメージ倍率 = MIN(0.7 + 0.03√(長剣スキルLv), 2)」

ブレス 1+魔法パワー/80+対応主能力/20 6+魔法パワー/100 対応主能力/4 魔法パワー*0.9 発動者から7マスにわたる35°の円錐内のすべてのターゲットにダメージ

魔法強化エンチャントの影響を受けない

フレア 1+魔法パワー/70+対応主能力/20 2+魔法パワー/35 0 魔法パワー*0.5 射程は半径2マス(円形の距離計算)

距離によるダメージ減衰がない

メテオ 1+魔法パワー/150 4+対応主能力*3 0 魔法パワー 火炎属性固定

発動者から10マスの半径のボール内の発動者含むすべてのターゲットにダメージ。

壁でブロックされる。

地震 1+魔法パワー/30 2+対応主能力/3 0 魔法パワー 衝撃属性固定

発動者から12マスの半径のボール内のすべてのターゲットにダメージ。

重力状態のキャラには、最大ダイスダメージの2倍のダメージ。

浮遊状態のキャラにはダメージ半減。

破呪 1+魔法パワー/160+対応主能力/30 8+魔法パワー/12 魔法パワー/25 魔法パワー 対象のデバフ1つ1つを33%の確率で解除し、周囲の敵にダメージ。

対象の発動前にかかっていたデバフ数に応じて攻撃回数が増える。

「攻撃回数 = デバフの数」

月夜の矢 1+対応主能力/140+対応主能力/20[4] 8+対応主能力/10 魔法パワー/25 魔法パワー これによって死亡する直前に媚薬の効果を発動する。

遺伝子のドロップ率は5%、乳47.5%、卵47.5%。

月夜の槍 1+対応主能力/80+対応主能力/10[4] 6+対応主能力/8 魔法パワー/25 魔法パワー これによって死亡する直前に媚薬の効果を発動する。

遺伝子のドロップ率は5%、乳47.5%、卵47.5%。

魔法:回復魔法

呪われたポーションによって発動した場合、ダイスロールの結果ぶんの神聖属性ダメージを与えます。

また、癒し特性のついたポーションを使用した場合、回復量(及びダメージ)は特性Lvに応じて乗算されます。[5]

倍率は以下の通りです。

回復(ダメージ)量 = 回復(ダメージ)量 × (癒し特性Lv × 0.01)
魔法 ダイス数 ダイス面 回復ボーナス 備考
軽傷治癒 2 6 + 魔法パワー/45 + 対応主能力/40 魔法パワー/30
重傷治癒 4 8 + 魔法パワー/40 + 対応主能力/35 魔法パワー/25
致命傷治癒 6 12 + 魔法パワー/35 + 対応主能力/40 魔法パワー/20
体力回復 8 18 + 魔法パワー/25 + 対応主能力/25 魔法パワー/15
《エリス》の癒し 10 50 + 魔法パワー/10 + 対応主能力/10 魔法パワー/5
《オディナ》の癒し 10 100 + 魔法パワー/2 + 対応主能力 魔法パワー
《ジュア》の癒し 0 0 100000000 表記上は1d1+99999999だが、実際にはJureHealでなくHealCompleteが使われる。

HealCompleteは100000000回復。

自然の抱擁 1+魔法パワー/125 4+魔法パワー/75 0

魔法:バフ魔法

魔法 効果量 持続時間 備考
(属性)の唄 属性変換率: 40 + √(魔法パワー)

属性強度: 魔法パワー*0.5 耐性: (魅力/40 + 1)*5

魔法パワー/25 + 8 elementの定義では20(属性強度0.2倍)が設定されているが、その値は使用されない
テレパシー 固定 魔法パワー/5 + 15
透明化 魔法パワー/30 + 5 魔法パワー/12 + 6
透明可視 魔法パワー/40 + 6 魔法パワー/6 + 12
インコグニート 固定 魔法パワー/2 + 20
猫の目 魔法パワー/30 + 5 魔法パワー*3
清浄なる光 デバフ解除: 魔法パワー*2

ホーリーヴェイル: 魔法パワー/2

rnd(効果量) > rnd(デバフ魔法強度) の時、呪いを解除する
全浄化 デバフ解除: 魔法パワー*2

ホーリーヴェイル: 魔法パワー/2

デバフ1つ1つに対して処理を行う。

rnd(効果量) > rnd(デバフ魔法強度) の時、呪いを解除する

ホーリーヴェイル 魔法パワー*5 魔法パワー/6 + 5 デバフ魔法抵抗時の対抗ロールに効果量分の値を加算する
元素保護 魔法パワー/200 + 5 魔法パワー/15 + 8
英雄 筋力: 魔法パワー/30 + 5

器用: 魔法パワー/30 + 5

魔法パワー/4 + 10
浮遊 固定 魔法パワー/5 + 10
聖なる盾 魔法パワー/15 + 15 魔法パワー/3 + 10
知者 魔力: 魔法パワー/40 + 6

学習: 魔法パワー/40 + 6

読書: 魔法パワー/40 + 3

魔法パワー/4 + 10
ホウキ変容 固定 魔法パワー + 30
プチ変容 固定 魔法パワー + 30
猫変容 固定 魔法パワー + 30
不死鳥 復活時HP割合: (5 + √魔法パワー) % 無限
いのちの輝き 固定 魔法パワー/2 + 10 AIが戦闘中の場合のみ自爆をアビリティに追加する

自爆時の属性を神聖属性で固定する

自爆持ちタグがあるかのように振る舞う

狂戦士 筋力: 魔法パワー / 20

耐久: 魔法パワー / 15 意志: 魔法パワー / 20 魔力: 魔法パワー / 10

10 ほぼ全て(暴力禁止エンチャントでも与えられるものは除く)の与ダメージを1.5倍にする

バフ魔法でありながら毒や炎上のような悪性の状態異常を与える

水中呼吸 水泳: 魔法パワー / 30 魔法パワー*3

魔法:デバフ魔法

デバフ魔法には魔法使用時の抵抗ロールの成否に影響する成功率補正と、効果量の最低保証、持続時間の最低保証が存在します。

魔法の成功率補正が大きい程、魔法は抵抗されにくくなります。

魔法 成功率補正 効果量 効果最低保証 持続時間 持続最低保証 備考
瘴気 50 (攻撃魔法を参照) 魔法パワー/100 + 5 軽減に使用する主能力がないため軽減されない
グラビティ 20 固定 魔法パワー/20 + 10 軽減に使用する主能力がないため軽減されない
沈黙 8 固定 魔法パワー/80 + 5 5
脆弱 20 固定 魔法パワー/50 + 10 10
災い 20 魔法パワー/30 + 50 50 魔法パワー/50 + 10 10
破門 20(未使用) 固定 魔法パワー/50 + 20 20 災いが付与されるなら確実に破門も付与される
元素の傷跡 15 魔法パワー/100 + 5 5 魔法パワー/40 + 8 8
ナイトメア 15 幻惑耐性: 魔法パワー/150 + 4

神経耐性: 魔法パワー/200 + 3 暗黒耐性: 魔法パワー/100 + 5

幻惑耐性: 4

神経耐性: 3 暗黒耐性: 5

魔法パワー/60 + 6 6

魔法:ステータス変動魔法

ステータス変動魔法は魔法使用時に抵抗されません。

英雄、知者といったステータスを変動させる状態異常を追加する魔法とは違い、アイコンはありません。

魔法 効果量 持続時間 備考
鈍足 MAX(20 + 1.5*√(魔法パワー), 5) (魔法パワー/8+5)/2
加速 MAX(20 + 1.5*√(魔法パワー), 5) (魔法パワー/8+5)/2
肉体復活 (魔法パワー / 20) ~ (魔法パワー / 10 - 1) 祝福されたアイテムから発動した場合*肉体強化*も発動

呪われたアイテムから発動した場合*肉体弱化*も発動

精神復活 (魔法パワー / 20) ~ (魔法パワー / 10 - 1) 祝福されたアイテムから発動した場合*精神強化*も発動

呪われたアイテムから発動した場合*精神弱化*も発動

(*肉体強化*) 魔法パワー / 20 該当する魔法は内部に存在しないので名称はでっち上げ
(*肉体弱化*) 魔法パワー / 20 該当する魔法は内部に存在しないので名称はでっち上げ
(*精神強化*) 魔法パワー / 20 該当する魔法は内部に存在しないので名称はでっち上げ
(*精神弱化*) 魔法パワー / 20 該当する魔法は内部に存在しないので名称はでっち上げ
(丘の民の飲酒) MAX(2*√(魔法パワー) - 15, 5) 魔法パワー/8+5 酒に設定されているパワーを魔法パワーとして扱う

魔法:召喚魔法

case EffectId.Funnel:
{
    if (EClass._zone.CountMinions(CC) > CC.MaxSummon || CC.c_uidMaster != 0)
    {
        CC.Say("summon_ally_fail", CC, null, null);
        return;
    }
    CC.Say("spell_funnel", CC, element.Name.ToLower(), null);
    CC.PlaySound("spell_funnel", 1f, true);
    Chara chara = CharaGen.Create("bit", -1);
    chara.SetMainElement(element.source.alias, element.Value, true);
    chara.SetSummon(20 + power / 20 + EClass.rnd(10));
    chara.SetLv(power / 15);
    EClass._zone.AddCard(chara, tp.GetNearestPoint(false, false, true, false));
    chara.PlayEffect("teleport", true, 0f, default(Vector3));
    chara.MakeMinion(CC, MinionType.Default);
    return;
}
魔法 召喚数 持続時間 レベル 備考
具象 1 20 + 魔法パワー / 20 + 0 ~ 9 魔法のパワー / 15
ビット 1 20 + 魔法パワー / 20 + 0 ~ 9 魔法のパワー / 15
イーク召喚 1 死ぬまで 召喚生物の元Lv * (1 + 魔法のパワー * 0.001) + 魔法のパワー / 30
オーク召喚 1 死ぬまで 召喚生物の元Lv * (1 + 魔法のパワー * 0.001) + 魔法のパワー / 30
炎召喚 1~2 死ぬまで 召喚生物の元Lv * (1 + 魔法のパワー * 0.001) + 魔法のパワー / 30
駒召喚 1 死ぬまで 召喚生物の元Lv * (1 + 魔法のパワー * 0.001) + 魔法のパワー / 30
モンスター召喚 1~2 死ぬまで 召喚生物の元Lv * (1 + 魔法のパワー * 0.001) + 魔法のパワー / 30
触手召喚 1 死ぬまで 召喚生物の元Lv * (1 + 魔法のパワー * 0.001) + 魔法のパワー / 30
(パルミア特殊部隊召喚) 4~5 死ぬまで 現在のマップの危険度 戦いの角笛の効果
動物召喚 1~2 死ぬまで 召喚生物の元Lv * (1 + 魔法のパワー * 0.001) + 魔法のパワー / 30
魚召喚 1 死ぬまで 召喚生物の元Lv * (1 + 魔法のパワー * 0.001) + 魔法のパワー / 30
タコ召喚 1 死ぬまで 召喚生物の元Lv * (1 + 魔法のパワー * 0.001) + 魔法のパワー / 30
落とし子召喚 1 死ぬまで 召喚生物の元Lv * (1 + 魔法のパワー * 0.001) + 魔法のパワー / 30
アンデッド妹召喚 1 死ぬまで 召喚生物の元Lv * (1 + 魔法のパワー * 0.001) + 魔法のパワー / 30
大海嘯 魔法パワー100未満: 1

魔法パワー100以上: MAX(魔法パワー/100, 5) + 0~1

死ぬまで 召喚生物の元Lv * (1 + 魔法のパワー * 0.001) + 魔法のパワー / 30
影召喚 魔法パワー100未満: 1

魔法パワー100以上: MAX(魔法パワー/100, 5) + 0~1

死ぬまで 魔法のパワー / 10 + 1

召喚されたモンスターが元のLvより低くなる場合、元のLvになるよう補正されます。

PC以外が召喚魔法を使用し、召喚されたモンスターのLvが最低保証Lvを下回る場合、Lvは最低保証Lvになるように補正されます。

最低保証Lvは以下の通りです。

最低保証Lv = 召喚者のLv × (PC勢力の場合0.5、それ以外の場合0.66)

魔法:設置魔法

地面に対して効果のある地形を生成する魔法です。

魔法 設置数 持続時間 強度 備考
(属性) の海 2~4 4~8 魔法のパワー/5 生成された水溜りを踏んだキャラへ「魔法のパワー/5」のダメージ。
蜘蛛の巣 2~4 (4~8) * 3 魔法のパワー 移動しようとするキャラはrnd(1 + 筋力 + 器用) ≧ rnd(蜘蛛の巣強度)の判定を行う。

判定に失敗すると移動できず、蜘蛛の巣の強度は3/4される。 判定に成功すると蜘蛛の巣を破壊する。 蜘蛛の巣無効タグをもつ生物に効果なし。 種族標準の身長が500cm以上の生物に効果なし。

闇の霧 2~4 4~8 一定 物理攻撃の命中判定前に発動し、物理攻撃そのものを50%で無効化する。

魔法:その他の魔法

その他の魔法です。

魔法 強度 備考
魔法の地図 開示半径 : 10 + 魔法パワー / 5

開示確率 : 1 - (MIN(発動者からの距離 * 10, 魔法パワー - 10) / 魔法パワー)

開示半径内にあるマス全てに対し、開示判定に成功する限りそのマスを開示する。
願い 願い強度 : 10 + 魔法パワー / 4

願い価値 : 5000 + 魔法パワー * 50

願い強度は装備生成時の生成階層として扱われる

願い価値はスタックするアイテムの個数に影響 依存が運のため使用すると運が成長する

  1. 羽の生えた巻物や信仰の巻物なども"魔法"を発動しています。 内部には軽量化や信仰の魔法が存在します。
  2. 復活で40、月夜の槍で70、不死鳥・願いで100。
  3. 魔法によって細かく異なるので割愛。 例として氷の矢=2250、闇の剣=700、月夜の槍=500など。
  4. 4.0 4.1 除算それぞれで小数点以下を切り捨てる。
  5. 表示上のLvと内部値は違うことに注意。