User:びゃっこ/すたぶ/解析魔法: Difference between revisions
No edit summary |
|||
| Line 50: | Line 50: | ||
最終的な魔法パワーは以下の式で算出されます。 | 最終的な魔法パワーは以下の式で算出されます。 | ||
魔法パワー = curve('''基礎魔法パワー, 400, 100, 75)''' × MAX((1 + ('''魔法強化エンチャント強度 × 0.01)''' - '''反魔法エンチャント強度 × 0.01'''), 0.01) | 魔法パワー = curve('''基礎魔法パワー, 400, 100, 75)''' × MAX((1 + ('''魔法強化エンチャント強度 × 0.01)''' - '''反魔法エンチャント強度 × 0.01'''), 0.01) | ||
※MAX()は2値の内どちらか高い方を返す関数です。この場合、反魔法エンチャントによる魔法パワーの低下は0.01倍が下限となります。 | ※MAX()は2値の内どちらか高い方を返す関数です。この場合、反魔法エンチャントによる魔法パワーの低下は0.01倍が下限となります。 | ||
Revision as of 07:31, 20 March 2025
魔法:魔法のパワー
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;
}
ここではカーブ関数を使用します:
public static int curve(int a, int start, int step, int rate = 75)
{
if (a <= start)
{
return a;
}
for (int i = 0; i < 10; i++)
{
int num = start + i * step;
if (a <= num)
{
return a;
}
a = num + (a - num) * rate / 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倍が下限となります。
curve 関数について: curve(a, start, step, rate)
簡単に言うと、この関数は数値の伸びを抑えるために使われます。
i = 0 をセットします。計算 num = start + i * step. a が num を超えたら、超えた部分に rate / 100 を掛けます。その後、i を 1 ずつ増やします。上記のステップを 10 回繰り返します。
関数の曲線の傾きは徐々に小さくなり、最終的には(rate / 100)^10 となります。
魔法:攻撃魔法
ダイス数、ダイス面、ダメージボーナス、属性強度は小数点以下切り捨てです。
属性強度とは、状態異常を付与する際に使用される強度です。値が大きい程状態異常にしやすく、状態異常の強度が上がります。
ポーション、魔法杖、巻物を使用した際も共通の処理が行われますが、この際対応主能力は0として扱われます。
| 魔法 | ダイス数 | ダイス面 | ダメージボーナス | 属性強度 | 備考 |
|---|---|---|---|---|---|
| 手 | 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回ダメージを与える |
| ブレス | 1+魔法パワー/80+対応主能力/20 | 6+魔法のパワー/100 | 対応主能力/4 | 魔法パワー*0.9 | 発動者から7マスにわたる35°の円錐内のすべてのターゲットにダメージ |
| メテオ | 1+魔法パワー/150 | 4+対応主能力*3 | 0 | 魔法パワー | 火炎属性固定
発動者から10マスの半径のボール内の発動者含むすべてのターゲットにダメージ。 壁でブロックされる。 |
| 地震 | 1+魔法パワー/30 | 2+対応主能力/3 | 0 | 魔法パワー | 衝撃属性固定
発動者から12マスの半径のボール内のすべてのターゲットにダメージ。 重力状態のキャラには、最大ダイスダメージの2倍のダメージ。 浮遊状態のキャラにはダメージ半減。 |
| 破呪 | 1+(魔法パワー*デバフ数)/160+対応主能力/30 | 8+(魔法パワー*デバフ数)/12 | (魔法パワー*デバフ数)/25 | 魔法パワー | 対象のすべてのデバフを除去し、周囲の敵にダメージ。 |
魔法:回復魔法
| 魔法 | ダイス数 | ダイス面 | 回復ボーナス | 備考 |
|---|---|---|---|---|
| 軽傷治癒 | 1+魔法のパワー/50+意志/30 | 5+魔法のパワー/40 | 魔法のパワー/30 | |
| 重傷治癒 | 2+魔法のパワー/40+意志/25 | 6+魔法のパワー/30 | 魔法のパワー/25 | |
| 致命傷治癒 | 3+魔法のパワー/35+意志/20 | 7+魔法のパワー/25 | 魔法のパワー/20 | |
| 体力回復 | 4+魔法のパワー/30+意志/15 | 8+魔法のパワー/20 | 魔法のパワー/15 | |
| 《エリス》の癒し | 5+魔法のパワー/25+意志/10 | 9+魔法のパワー/15 | 魔法のパワー/10 | |
| 《オディナ》の癒し | 6+魔法のパワー/20+意志/5 | 10+魔法のパワー/10 | 魔法のパワー/5 | |
| 《ジュア》の癒し | 8+魔法のパワー/10+意志 | 15+魔法のパワー/5 | 魔法のパワー | |
| 自然の抱擁 | 1+魔法のパワー/125 | 4+魔法のパワー/75 |
魔法:バフ魔法
| 魔法 | 効果量 | 持続時間 | 備考 |
|---|---|---|---|
| (属性)の唄 | 属性変換率: 魔法のパワー
属性強度: 魔法のパワー*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 |
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 |
魔法:デバフ魔法
デバフ魔法には魔法使用時の抵抗ロールの成否に影響する成功率補正と、効果量の最低保証、持続時間の最低保証が存在します。
魔法の成功率補正が大きい程、魔法は抵抗されにくくなります。
| 魔法 | 成功率補正 | 効果量 | 効果最低保証 | 持続時間 | 持続最低保証 | 備考 |
|---|---|---|---|---|---|---|
| 瘴気 | 50 | (攻撃魔法を参照) | 魔法のパワー/100 + 5 | 5 | ||
| グラビティ | 20 | 固定 | 魔法のパワー/20 + 10 | 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 |
魔法:召喚魔法
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;
}
| 魔法 | 持続時間 | レベル | 備考 |
|---|---|---|---|
| 具象 | 20 + rnd (10) + 魔法のパワー / 20 | 魔法のパワー / 15 | |
| 動物召喚 | 死ぬまで | 魔法レベル * (100 + 魔法のパワー / 10) / 100 + 魔法のパワー / 30 | |
| アンデッド妹召喚 | 死ぬまで | 魔法レベル* (100 + 魔法のパワー / 10) / 100 + 魔法のパワー / 30 | |
| 影召喚 | 死ぬまで | 魔法のパワー / 10 + 1 | 自爆攻撃を行う |