Jump to content

Elin:解析/信仰: Difference between revisions

各信仰による特殊効果を記載。
(イツパロトルの耐性ボーナス係数の記載漏れを修正。)
(各信仰による特殊効果を記載。)
Line 2: Line 2:
{{DISPLAYTITLE:{{SUBPAGENAME}}}}
{{DISPLAYTITLE:{{SUBPAGENAME}}}}
==信仰心と捧げ物==
==信仰心と捧げ物==
{{バージョン|23.87}}
{{バージョン|23.187}}
===神のご褒美を貰うのに必要な信仰心===
===神のご褒美を貰うのに必要な信仰心===
<syntaxhighlight lang="c#" line="1">
<syntaxhighlight lang="c#" line="1">
Line 209: Line 209:


* 信仰によるボーナスは信心レベルと信仰の日数によって算出される信仰パワーによって決定されます。(小数点以下切り捨て)
* 信仰によるボーナスは信心レベルと信仰の日数によって算出される信仰パワーによって決定されます。(小数点以下切り捨て)
** PCの場合、信仰パワーは「'''10 + (2 * √(信仰日数) + 信心Lv) / 2'''」です。
** PCの場合、信仰パワーは「'''10 + (2 * √(信仰日数) + 信仰心Lv) / 2'''」です。
** それ以外の場合、信仰パワーは「'''10 + (5 * √(キャラクターLv) + 信仰スキルLv) / 2'''」です。
** それ以外の場合、信仰パワーは「'''10 + (5 * √(キャラクターLv) + 信仰スキルLv) / 2'''」です。


Line 334: Line 334:
  補正後速度ボーナス = CURVE (補正前速度ボーナス, (ボーナス係数 * 2), 10, 50)
  補正後速度ボーナス = CURVE (補正前速度ボーナス, (ボーナス係数 * 2), 10, 50)


==エヘカトル流魔術==
==信仰による特殊能力==
エヘカトルの信仰効果によるマナとスタミナ消費のランダム化に関するコードは以下のようになっています。
 
===風のルルウィ===
 
====《ルルウィ》の憑依====
速度上昇量 = 100 + 2*√(アビリティのパワー)
ターン数は固定で7です。
 
===地のオパートス===
 
====ダメージ軽減 ====
<syntaxhighlight lang="c#">
if (HasElement(1305))
{
dmg = dmg * 90 / 100;
}
</syntaxhighlight>ダメージ発生源や属性等に関わらず、あらゆるダメージを10%軽減します。
 
===元素のイツパロトル===
 
====魔力の抽出====
アビリティのパワーと信仰心に応じた面と数のダイスを振り、MPを回復します。
ダイス面 = 1 + アビリティのパワー / 10
ダイス数 = 2 + 信仰心 / 3
ダイスを振るため、運によるリロールが発生します。
 
===機械のマニ===
 
====機械の支配====
<syntaxhighlight lang="c#">
if (!tc.IsMinion && EClass.rnd(10) == 0 && EClass.rnd(tc.DEX + 10) > owner.LV && tc.HasElement(1315) && !owner.HasElement(1315) && owner.IsMachine && owner.CanBeTempAlly(tc))
{
owner.Say("dominate_machine", tc, owner);
owner.PlayEffect("boost");
owner.PlaySound("boost");
owner.ShowEmo(Emo.love);
owner.lastEmo = Emo.angry;
owner.MakeMinion(tc.IsPCParty ? EClass.pc : tc);
yield return Success();
}
</syntaxhighlight>機械を支配する条件は以下の通りです。全てを満たす場合、支配することができます。
  0. 支配対象が機械である
  1. 支配対象がPC勢力でない
  2. 誰かのミニオンでない
  3. 支配元がミニオン召喚数の上限に達していない
  4. 支配対象が分裂生物フィートを持っていない
  5. 支配対象が『』や《》つきでない
  6. 支配対象がマルチサイズでない
  7. 支配元が機械の加護を受けている(マニ信仰である)
  8. 支配対象が機械の加護を受けていない(マニ信仰でない)
  9. 10%の判定に成功する
10. 0~(支配元の器用 + 10)の範囲のランダムな値が支配対象のLvより大きい
 
====機械の種族をアップグレード====
<syntaxhighlight lang="c#">
int num4 = owner.Evalue(664);
if (num4 > 0)
{
switch (e.id)
{
case 64:
case 65:
num += (e.ValueWithoutLink + e.vLink) * num4 / 2 / 100;
    break;
case 79:
num += (e.ValueWithoutLink + e.vLink) * num4 / 100;
break;
}
}
</syntaxhighlight>PV・DV及び速度をアップグレードのエンチャント強度に応じた割合で上昇させます。上昇倍率は以下の通りです。
PV・DV上昇倍率 = 1 + (アップグレードエンチャント強度 / 2) * 0.01
速度上昇倍率 = 1 + アップグレードエンチャント強度 * 0.01
 
===収穫のクミロミ===
 
====植物系モンスターを友好化====
<syntaxhighlight lang="c#">
if (EClass.rnd(5) == 0 && tc.HasElement(1325) && owner.IsPlant && owner.CanBeTempAlly(tc))
{
owner.Say("dominate_plant", tc, owner);
owner.ShowEmo(Emo.love);
owner.lastEmo = Emo.angry;
owner.MakeMinion((tc.IsPCParty || tc.IsPCFactionMinion) ? EClass.pc : tc, MinionType.Friend);
yield return Success();
}
</syntaxhighlight>植物を支配する条件は以下の通りです。全てを満たす場合、支配することができます。
0. 支配対象が植物である
1. 支配対象がPC勢力でない
2. 誰かのミニオンでない
3. 支配元がミニオン召喚数の上限に達していない
4. 支配対象が分裂生物フィートを持っていない
5. 支配対象が『』や《》つきでない
6. 支配対象がマルチサイズでない
7. 支配元が収穫の加護を受けている(クミロミ信仰である)
8. 20%の判定に成功する
 
====それはあらゆる攻撃で命を収穫する。====
<syntaxhighlight lang="c#">
if ((weapon == null || !weapon.HasElement(486)) && origin.Evalue(428) > 0 && !IsPCFactionOrMinion && EClass.rnd(dmg) >= EClass.rnd(MaxHP / 10) + MaxHP / 100 + 1)
{
origin.Chara.TryNeckHunt(Chara, origin.Evalue(428) * 20, harvest: true);
}
...
if (TC.hp > TC.MaxHP * Mathf.Min(5 + (int)Mathf.Sqrt(power), harvest ? 35 : 25) / 100)
{
return false;
}
</syntaxhighlight>0~与えたダメージの範囲のランダムな値が、0~攻撃対象の最大HPの10%のランダムな値と攻撃対象の最大HPの1%の合計以上の場合、
 
パワーが「エンチャント強度 * 20」の首狩りを発動します。
 
 
通常の首狩りとの違いは以下の通りです。
1.収穫する者エンチャントが付与されているキャラからの攻撃であれば魔法でも発動する。
2.攻撃を当て、ダメージを与える必要がある。 (通常の首狩りは命中・ダメージ不問)
3.首狩り発動率が与ダメージと対象の最大HPに依存。 (通常の首狩りはエンチャント強度にのみ依存)
4.首狩りできる残HPの割合がエンチャント強度にのみ依存。(通常の首狩りはエンチャント強度と攻撃者の武器スキルに依存)
5.首狩りできる残HPの割合の上限が35%。 (通常は上限25%、但し事実上機能していない)
 
====腐った食料を種に変える====
<syntaxhighlight lang="c#">
if (EClass.pc.HasElement(1325) && GetRootCard() is Chara && category.IsChildOf("food"))
{
Thing thing = TraitSeed.MakeRandomSeed(enc: true).SetNum(Mathf.Min(Num, 3));
card.AddCard(thing);
if (!IsParentLocked())
{
GetRootCard().Say("seed_rot", GetRootCard(), this, thing.Name);
    }
Destroy();
return;
}
</syntaxhighlight>食品の腐敗時に食品を破壊し、ランダムな種を生成します。(万色フルーツの種、フェイウッドの種、コーラルウッドの種を除く。)
 
種の生成量はスタック数に応じますが、最大で3個までです。
 
====種の品種改良強化====
<syntaxhighlight lang="c#">
int num3 = 220 / (Mathf.Clamp(EClass.pc.Evalue(286) - thing.LV, 0, 50) * 2 + 10 + num * 2 + ((num2 > 0) ? 20 : 0) + (EClass.pc.HasElement(1325) ? 25 : 0));
if (EClass.player.isAutoFarming)
{
num3 = 2 + num3 * 2;
}
if (EClass.rnd(num3) == 0 && EClass._zone.IsPCFactionOrTent)
{
...
</syntaxhighlight>種が品種改良される確率に約11.4%加算します。(おまかせ農業時は約5.7%の加算)
 
====野菜と果物の出荷額1.5倍====
<syntaxhighlight lang="c#">
if (category.IsChildOf("vegi") || category.IsChildOf("fruit"))
{
p *= ((EClass.pc.faith == EClass.game.religions.Harvest) ? 3f : 2f);
}
</syntaxhighlight>
 
===幸運のエヘカトル===
 
====エヘカトル流魔術====
  if (a < 0 && BaseStats.CC.HasElement(1330, 1)) { a = -EClass.rnd(-a * 130 / 100 + 2); }
  if (a < 0 && BaseStats.CC.HasElement(1330, 1)) { a = -EClass.rnd(-a * 130 / 100 + 2); }
つまり、マナやスタミナを消費する際、 0~(元の消費量の1.3倍+2)の範囲で乱数を取った値が新しい消費量になります。
マナやスタミナを消費する際、 0~(元の消費量の1.3倍+2)の範囲のランダムな数値が新しい消費量になります。
 
例えば、消費MPが40だった場合、消費量は0~54の範囲になります。 
 
期待値としては元の消費量の約0.65倍となります。
 
====スタミナ吸収====
<syntaxhighlight lang="c#">
int num15 = EClass.rnd(3 + Mathf.Clamp(dmg / 100, 0, valueOrDefault / 10));
origin.Chara.stamina.Mod(num15);
if (IsAliveInCurrentZone)
{
Chara.stamina.Mod(-num15);
}
</syntaxhighlight>スタミナ吸収の最大量は与えたダメージに依存します。
スタミナ吸収最大量 = 2 + MIN(与えたダメージ / 100, スタミナ吸収エンチャント強度 / 10)
※事実上、スタミナ吸収最大量の上限は7 (ラッキーダガーのエンチャント強度が50であるため)
0~スタミナ吸収最大量の範囲内の数値分、攻撃者のスタミナを回復し、攻撃対象のスタミナを減らします。
 
====ホームに幸運の月が訪れやすくなる====
<syntaxhighlight lang="c#">
bool flag = EClass.pc.faith == EClass.game.religions.Luck;
luckyMonth = (float)(flag ? 30 : 5) + Mathf.Sqrt(Evalue(2118)) * (float)(flag ? 4 : 2) > (float)EClass.rnd(720);
</syntaxhighlight>PCがエヘカトルを信仰している時のみ、幸運の月が訪れる確率に約3.5%を加算し、土地の幸運の係数を2倍にします。
 
====魚の出荷額1.5倍====
<syntaxhighlight lang="c#">
if (category.IsChildOf("fish"))
{
p *= ((EClass.pc.faith == EClass.game.religions.Luck) ? 1.5f : 1f);
}
</syntaxhighlight>PCがエヘカトルを信仰している時のみ、魚の出荷額を1.5倍にします。


例えば、ある魔法の消費MPが40だった場合、消費量は0~54の範囲に乱数化されます。
===癒しのジュア===
 
====《ジュア》の祈り====
アビリティのパワーと信仰心に応じた面と数とボーナスのダイスを振り、HPを回復します。
ダイス面 = 2 + アビリティのパワー / 20 + 信仰心 / 10
ダイス数 = 8 + 信仰心 / 4
ボーナス = 信仰心
ダイスを振るため、運によるリロールが発生します。
 
===悪戯のキズアミ===
 
====《キズアミ》の悪戯====
<syntaxhighlight lang="c#">
case EffectId.KizuamiTrick:
{
EClass.game.religions.Trickery.Talk("ability");
bool hex = CC.IsHostile(TC);
List<SourceStat.Row> list6 = EClass.sources.stats.rows.Where((SourceStat.Row con) => con.tag.Contains("random") && con.group == (hex ? "Debuff" : "Buff")).ToList();
int power2 = power;
for (int l = 0; l < 4 + EClass.rnd(2); l++)
{
SourceStat.Row row2 = list6.RandomItem();
list6.Remove(row2);
Proc(hex ? EffectId.DebuffKizuami : EffectId.Buff, CC, TC, power2, new ActRef
{
n1 = row2.alias
});
}
...
case EffectId.Debuff:
case EffectId.DebuffKizuami:
{
if (id != EffectId.DebuffKizuami && EClass.rnd(a2) < num7 / EClass.sources.stats.alias[n].hexPower && EClass.rnd(10) != 0)
{
TC.Say("debuff_resist", TC);
CC.DoHostileAction(TC);
break;
}
</syntaxhighlight>リストから選ばれる4~5個のランダムなバフもしくはデバフを対象に付与します。
 
魔法による付与と違い、デバフは抵抗されることがありません。(主能力による軽減は存在します。)
 
選ばれるバフとデバフのリストは以下の通りです。
{| class="wikitable"
|+
!
!選ばれる種類
|-
|バフ
|自然の抱擁,テレパシー,透明,透明可視,猫の目,ホーリーヴェイル,
元素保護,英雄,水中呼吸,高揚,心の平穏,浮遊,聖なる盾,知者の加護
|-
|デバフ
|重力,沈黙,脆弱,災い,元素の傷跡,ナイトメア,妨害
|}
 
====それはあなたの暴力を禁止する====
<syntaxhighlight lang="c#">
if (origin != null && origin.IsPC && EClass.pc.Evalue(654) > 0)
{
dmg = 0;
}
</syntaxhighlight>発生源がプレイヤーのダメージを0にします。プレイヤー操作によるものであっても、発生源がプレイヤーと認識されない場合は効果がありません。
 
以下はプレイヤーが発生源と認識されないダメージです。
・回復魔法の呪い効果
・(属性)の海の魔法
・耐酸性ポーションの酸ダメージ
・毒物混入食品
・むち打ち
・転倒・落下
・超過・潰れ
・餓死寸前・餓死寸前の嘔吐
・出血状態によるダメージ
・炎上状態によるダメージ
・毒状態によるダメージ
・瘴気によるダメージ
・マナの反動によるダメージ
・過労ダメージ
・窒息ダメージ
・自傷
・首吊り
・罠
・撫でて棘が刺さる
 
===月影のホロメ===
 
====頭撫で====
<syntaxhighlight lang="c#">
if (headpat && this != c)
{
if (c.interest > 0)
{
c.ModAffinity(EClass.pc, 1 + EClass.rnd(3));
c.interest -= 20 + EClass.rnd(10);
}
if (faith == EClass.game.religions.MoonShadow && c.IsPCParty)
{
foreach (Chara member in party.members)
{
if (!member.IsPC && CanSeeLos(member))
{
member.AddCondition<ConEuphoric>(100 + Evalue(6904) * 5);
}
}
}
}
</syntaxhighlight>興味度を20~29消費して好感度を1~3上昇させます。
 
対象がプレイヤーのペットの場合、視界内に存在するペット達全てに'''強度が「100 + アビリティLv * 5」'''の高揚を付与します。
 
====マナ吸収====
<syntaxhighlight lang="c#">
if (origin.HasElement(1350) && attackSource == AttackSource.Melee)
{
int num16 = EClass.rndHalf(2 + Mathf.Clamp(dmg / 10, 0, origin.Chara.GetPietyValue() + 10));
origin.Chara.mana.Mod(num16);
if (IsAliveInCurrentZone)
{
Chara.mana.Mod(-num16);
}
}
</syntaxhighlight>マナ吸収の最大量は与えたダメージと信仰パワーに依存します。
マナ吸収最大量 = 1 +  MIN(与えたダメージ / 10, 信仰パワー + 10)
スタミナ吸収最大量 / 2 ~スタミナ吸収最大量の範囲内の数値分、攻撃者のマナを回復し、攻撃対象のマナを減らします。
 
===戦禍のイーヴァン===
 
====戦禍の炎====
<syntaxhighlight lang="c#">
int num2 = CC.Evalue(1355);
ConStrife condition = CC.GetCondition<ConStrife>();
if (condition != null)
{
num += condition.GetDice().Roll();
}
else if (num2 > 0)
{
num++;
}
</syntaxhighlight>ダメージボーナスに戦禍の炎状態のLvに応じたダイスを振った結果を加算します。(このため、戦禍の炎状態にもダメージ倍率が乗ります。)


戦禍の炎状態でなくとも、イーヴァンを信仰しているのなら1のダメージボーナスが得られます。


ダイスを振るため、運によるリロールが発生します。


{{DEFAULTSORT:カイセキ,シンコウ}}
{{DEFAULTSORT:カイセキ,シンコウ}}
[[Category:JA]]
[[Category:JA]]
[[Category:Elin Spoiler]]
[[Category:Elin Spoiler]]
250

edits