Elin:解析/信仰: Difference between revisions

From Ylvapedia
(キズアミの0ダメージ状態異常が抜けていたので記述。)
(ヤカシャの信仰ボーナスを追加。)
 
Line 2: Line 2:
{{DISPLAYTITLE:{{SUBPAGENAME}}}}
{{DISPLAYTITLE:{{SUBPAGENAME}}}}
==信仰心と捧げ物==
==信仰心と捧げ物==
{{バージョン|23.200}}
{{バージョン|23.222}}
===神のご褒美を貰うのに必要な信仰心===
===神のご褒美を貰うのに必要な信仰心===
<syntaxhighlight lang="c#" line="1">
<syntaxhighlight lang="c#" line="1">
Line 251: Line 251:
|筋力/8,器用/8,耐久/8,
|筋力/8,器用/8,耐久/8,
感覚/8,学習/8,魔力/8,
感覚/8,学習/8,魔力/8,
意志/8,魅力/8,
意志/8,魅力/8,
速度/20,運/20
速度/20,運/20
|なし
|なし
Line 300: Line 302:
|-
|-
|忘却のヤカシャ
|忘却のヤカシャ
|(未実装)
|感覚/16,魔力/17
|(未実装)
|瞑想/15
|(未実装)
|地獄/6,混沌/6
|(未実装)
|なし
|-
|-
|調和のエリン
|調和のエリン

Latest revision as of 08:43, 19 October 2025


信仰心と捧げ物

バージョン EA23.222: この記事は、Elin最新の安定版リリースに遅れをとっていますが、信頼できる範囲にあるかもしれません。

神のご褒美を貰うのに必要な信仰心

    int num = EClass.pc.Evalue(85);
	if (giftRank == 0 && (num >= 15 || EClass.debug.enable))
		{
			Talk("pet");
			Chara chara = CharaGen.Create(source.rewards[0]);
			EClass._zone.AddCard(chara, point);
			chara.MakeAlly();
			chara.PlayEffect("aura_heaven");
			giftRank = 1;
			return true;
		}
	if (source.rewards.Length >= 2 && giftRank == 1 && (num >= 30 || EClass.debug.enable))
		{
			Talk("gift");
			string[] array = source.rewards[1].Split('|');
			string[] array2 = array;
			foreach (string text in array2)
			{
				Reforge(text, point, text == array[0]);
			}
			giftRank = 2;
			return true;
		}
  • EA23.61の時点で、それぞれの神には2つのご褒美を貰える段階があり、それぞれ信仰心レベル15と30に設定されています。 それぞれのレベルに達した後、手動で神に祈ることでご褒美がもらえます。

信仰心の深度を示すメッセージ

    int num = Mathf.Max(c.Evalue(306), 1);
    int num2 = 4;
	if (orCreateElement.vBase >= num)
		{
			c.elements.SetBase(orCreateElement.id, num);
		}
    else
		{
			num2 = Mathf.Clamp(orCreateElement.vBase * 100 / num / 25, 0, 3);
		}
	if (num2 == 4 || orCreateElement.Value != value)
		{
			Msg.Say("piety" + num2, c, c.faith.TextGodGender);
		}
  • 上記のコードは、あなたの信仰心がレベルアップしたときのメッセージを制御しています。
  • メッセージは全部で5つあり(0~4)、num2によってどれになるかが決まります。
  • num2は、あなたの(信仰心÷信仰スキル)×4で計算され、小数点以下は切り捨てられます。
    • つまり、 25%未満ならnum2 = 0、25%~50%ならnum2 = 1、50%~75%ならnum2 = 2、>75%ならnum2 = 3 のメッセージが流れます。
  • 信仰心が最大レベルに達していると、num2 = 4 のメッセージが流れます。

捧げ物の価値

public int GetOfferingValue(Thing t, int num = -1)
	{
		if (num == -1)
		{
			num = t.Num;
		}
		int num2 = 0;
		if (t.source._origin == "meat")
		{
			num2 = Mathf.Clamp(t.SelfWeight / 10, 1, 1000);
			if (t.refCard == null)
			{
				num2 /= 10;
			}
		}
		else
		{
			string[] cat_offer = source.cat_offer;
			foreach (string key in cat_offer)
			{
				if (t.category.IsChildOf(key))
				{
					num2 = Mathf.Clamp(t.SelfWeight / 10, 50, 1000);
					num2 *= EClass.sources.categories.map[key].offer / 100;
					break;
				}
			}
		}
		if (num2 == 0)
		{
			return 0;
		}
		if (t.IsDecayed)
		{
			num2 /= 10;
		}
		num2 = num2 * (100 + Mathf.Min(t.LV * 2, 100) + (t.HasElement(757) ? 50 : 0)) / 100; 
		return Mathf.Max(num2, 1) * num;
	}
  • 捧げ物の価値は以下の順で計算されます。
  • num は捧げたアイテムの個数
  • num2 はアイテム1個あたりの価値で、最小値は1です。
  • 肉を捧げた場合、以下の通りになります。
    • 肉の重量は10で割られ(weight値1000=1.0sとなるため)、最小値は1、最大値は1000となります。
    • 肉に名前がない場合(ハンマー解体などで手に入れた肉の場合)、その値はさらに10で割られます。
    • 除算演算子は最も近いintに切り捨てられるため、0.1s以下の名前のない肉を提供する場合、捧げ物の価値が0になる可能性があります。
  • 捧げ物が神の好物(肉以外)の場合、以下の通りになります。
    • アイテムの重量は10で割られますが、最小値は50、最大値は1000となります。
      • このため、アイテムの重量は別でカウントされていますが、0.5s未満のアイテムは0.5sとして扱われます。
    • 一部のアイテムカテゴリーには価値に一定の倍率がかかります。
      • EA23.61時点では、楽器(×5)、魔法杖(×3)、触媒(×3)、古の書(×5)、魔法書(×4)、技術書(×10)、地図(×4)に倍率がかかります。(この中には、現状どの神にも捧げられないアイテムも含まれています。)
  • アイテムが腐っている場合、価値はさらに10で割られます。
    • 腐敗判定は捧げ物の価値0判定の後に行われるため、肉が腐敗していても名前があれば捧げ物の価値は0にはなりません。
    • 例えば、名前付きで0.7sの腐っていない肉は、70の価値を持ちます。
  • 最終的な価値は以下のように処理されます。
    • 捧げ物の価値はアイテムレベルごとに2%ずつ増加し、最大で100%(LV50の場合)増加します。 (素材/アイテムの種類/アイテムLVを参照。 肉とほとんどのアイテムはLV1、ほとんどの装備品は10~20、最もレアなものはLV60)
    • 捧げ物に【できたて料理】の特性がある場合は、さらに50%の加算率が適用されます。

捧げ物の価値に応じて流れるメッセージ

public void _OnOffer(Chara c, Thing t, int takeoverMod = 0)
	{
		bool @bool = t.GetBool(115);
		int offeringValue = Deity.GetOfferingValue(t, t.Num);
		offeringValue = offeringValue * (c.HasElement(1228) ? 130 : 100) / 100;
		if (takeoverMod == 0)
		{
			if (offeringValue >= 200)
			{
				Msg.Say("god_offer1", t);
				EClass.pc.faith.Talk("offer");
			}
			else if (offeringValue >= 100)
			{
				Msg.Say("god_offer2", t);
			}
			else if (offeringValue >= 50)
			{
				Msg.Say("god_offer3", t);
			}
			else
			{
				Msg.Say("god_offer4", t);
			}
		}
		else
		{
			Msg.Say("god_offer1", t);
			offeringValue += Deity.GetOfferingValue(t, 1) * takeoverMod;
		}
        int num = Mathf.Max(c.Evalue(306), 1);
		Element orCreateElement = c.elements.GetOrCreateElement(85);
		int value = orCreateElement.Value;
		c.elements.ModExp(orCreateElement.id, offeringValue * 2 / 3);
  • The previously calculated offeringValue will return to this function, then the message displayed will be determined.
  • But first, if the character is demigod, the offeringValue will be further offset by 30%.
  • The offering value threshold for each message is 200, 100, 50.
    • So a piece of meat of 2.2s should generate the best possible message...but a 1.7s meat will not (tested).
  • HOWEVER, the experience gained towards Piety is only calculated at two-thirds of the offering value.
    • Thus to increase piety level by 1, you need to offer items with 1500 offer value, thus gaining 1000 piety experiences.
  • 先程計算した捧げ物の価値がこの関数に返され、表示されるメッセージが決まります。
  • しかしその前に、プレイヤーが半神である場合、捧げものの価値はさらに30%されます。
  • 各メッセージの捧げ物の価値の閾値は 200、100、50 です。
    • つまり、2.2sの肉を捧げたら最高のメッセージが表示され、1.7sの肉では表示されません(テスト済み)。

信仰心レベルの上昇

if (element.vExp >= element.ExpToNext)
		{
			int num = element.vExp - element.ExpToNext;
			int vBase = element.vBase;
			ModBase(ele, 1);
			OnLevelUp(element, vBase);
			element.vExp = Mathf.Clamp(num / 2, 0, element.ExpToNext / 2);
			if (element.vTempPotential > 0)
			{
				element.vTempPotential -= element.vTempPotential / 4 + EClass.rnd(5) + 5;
				if (element.vTempPotential < 0)
				{
					element.vTempPotential = 0;
				}
			}
			else if (element.vTempPotential < 0)
			{
				element.vTempPotential += -element.vTempPotential / 4 + EClass.rnd(5) + 5;
				if (element.vTempPotential > 0)
				{
					element.vTempPotential = 0;
				}
			}
		}
  • この式は、実際にはすべてのレベルアップに適用されます。
  • 信仰心の経験値は、捧げ物の価値の3分の2だけが計算されます。
    • そのため、信仰心のレベルを1上げるには、捧げ物の価値が合計1500のアイテムを捧げ、1000の信仰心の経験値を獲得する必要があります。
  • 信心レベルが上がった場合、残りの経験値は半分になり、最大でも次のレベルアップまで半分のところまでしか獲得できません。
    • つまり、信仰心経験値を一度に3000獲得し、経験値が0から1000まで到達してレベルアップした場合、余りは2000経験値ですが、保持できるのは500経験値(次のレベルまで半分)だけです

信仰によるボーナス

信仰パワー

public int GetPietyValue()
{
	if (base._IsPC)
	{
		return 10 + (int)(Mathf.Sqrt(base.c_daysWithGod) * 2f + (float)Evalue(85)) / 2;
	}
		return 10 + (int)(Mathf.Sqrt(base.LV) * 5f + (float)Evalue(306)) / 2;
}
  • 信仰によるボーナスは信心レベルと信仰の日数によって算出される信仰パワーによって決定されます。(小数点以下切り捨て)
    • PCの場合、信仰パワーは「10 + (2 * √(信仰日数) + 信仰心Lv) / 2」です。
    • それ以外の場合、信仰パワーは「10 + (5 * √(キャラクターLv) + 信仰スキルLv) / 2」です。

信仰によるボーナス

if (!HasCondition<ConExcommunication>())
{
	int[] array = row.elements;
	int num = GetPietyValue() * (120 + Evalue(1407) * 15) / 100;
	for (int i = 0; i < array.Length; i += 2)
	{
		int num2 = array[i + 1] * num / 50;
		if (array[i] == 79)
		{
			num2 = EClass.curve(num2, array[i + 1] * 2, 10, 50);
		}
		if (num2 >= 20 && array[i] >= 950 && array[i] < 970)
		{
			num2 = 20;
		}
		faithElements.SetBase(array[i], Mathf.Max(num2, 1));
	}
}
  • 破門の効果を受けていない時、信仰中の神に応じたボーナス係数によって、主能力・スキル・耐性・アビリティにボーナスが加算されます。
  • 信仰ボーナスの計算式は以下の通りです。
ボーナス = 信仰パワー * (1.2 + 0.15 * 敬虔フィートLv) * ボーナス係数 / 50

以下は神ごとのボーナス係数の表です。「(対応する主能力・スキル・耐性・アビリティ名)/(ボーナス係数)」のように記述します。

主能力ボーナス スキルボーナス 耐性ボーナス アビリティボーナス
(半神のみ)無のエイス 筋力/8,器用/8,耐久/8,

感覚/8,学習/8,魔力/8,

意志/8,魅力/8,

速度/20,運/20

なし なし なし
風のルルウィ 感覚/10,速度/30 弓/16,クロスボウ/12,回避/14,調教/8 なし 《ルルウィ》の憑依/10
地のオパートス 筋力/11,耐久/16 盾/15,重量上げ/16,採掘/12,鍛冶/12 なし なし
元素のイツパロトル 魔力/18 瞑想/15,詠唱/8 火炎/15,冷気/15,電撃/15 魔力の抽出/10
機械のマニ 器用/14,感覚/14 銃/18,探索/8,鍵開け/16,罠解体/5,鑑定/12,戦略/10 なし なし
収穫のクミロミ 感覚/8,器用/12,学習/16 農業/12,錬金術/10,裁縫/10,読書/8 なし なし
幸運のエヘカトル 魅力/20,運/25 回避/15,魔力の限界/17,釣り/12,隠密/12 なし なし
癒しのジュア 意志/16,耐久/10 自然治癒/18,瞑想/10,解剖学/9,料理/8,魔道具/10,魔力の限界/12 なし 《ジュア》の祈り/10
忘却のヤカシャ 感覚/16,魔力/17 瞑想/15 地獄/6,混沌/6 なし
調和のエリン (未実装) (未実装) (未実装) (未実装)
悪戯のキズアミ 魅力/12,運/15,速度/10 暗記/10,魔力制御/12 地獄/10,神聖/5 《キズアミ》の悪戯/10
月影のホロメ 魔力/16,魅力/12 長剣/14,詠唱/12,演奏/8 暗黒/15 頭撫で/10
戦禍のイーヴァン 筋力/10,器用/9,感覚/8 戦術/12,両手持ち/12,二刀流/12,乗馬/8,旅歩き/10 なし なし

ボーナスの算出時に21以上となった耐性ボーナスは20なるよう補正されます。

また、速度のみ以下の式で減衰補正がかかります。

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

信仰による特殊能力

風のルルウィ

《ルルウィ》の憑依

速度上昇量 = 100 + 2*√(アビリティのパワー)

ターン数は固定で7です。

地のオパートス

ダメージ軽減

if (HasElement(1305))
{
	dmg = dmg * 90 / 100;
}

ダメージ発生源や属性等に関わらず、あらゆるダメージを10%軽減します。

元素のイツパロトル

魔力の抽出

アビリティのパワーと信仰心に応じた面と数のダイスを振り、MPを回復します。

ダイス面 = 1 + アビリティのパワー / 10
ダイス数 = 2 + 信仰心 / 3

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

機械のマニ

機械の支配

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

機械を支配する条件は以下の通りです。全てを満たす場合、支配することができます。

 0. 支配対象が機械である
 1. 支配対象がPC勢力でない
 2. 誰かのミニオンでない
 3. 支配元がミニオン召喚数の上限に達していない
 4. 支配対象が分裂生物フィートを持っていない
 5. 支配対象が『』や《》つきでない
 6. 支配対象がマルチサイズでない
 7. 支配元が機械の加護を受けている(マニ信仰である)
 8. 支配対象が機械の加護を受けていない(マニ信仰でない)
 9. 10%の判定に成功する
10. 0~(支配元の器用 + 10)の範囲のランダムな値が支配対象のLvより大きい

機械の種族をアップグレード

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

PV・DV及び速度をアップグレードのエンチャント強度に応じた割合で上昇させます。上昇倍率は以下の通りです。

PV・DV上昇倍率 = 1 + (アップグレードエンチャント強度 / 2) * 0.01
速度上昇倍率 = 1 + アップグレードエンチャント強度 * 0.01

収穫のクミロミ

植物系モンスターを友好化

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

植物を支配する条件は以下の通りです。全てを満たす場合、支配することができます。

0. 支配対象が植物である
1. 支配対象がPC勢力でない
2. 誰かのミニオンでない
3. 支配元がミニオン召喚数の上限に達していない
4. 支配対象が分裂生物フィートを持っていない
5. 支配対象が『』や《》つきでない
6. 支配対象がマルチサイズでない
7. 支配元が収穫の加護を受けている(クミロミ信仰である)
8. 20%の判定に成功する

それはあらゆる攻撃で命を収穫する

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

0~与えたダメージの範囲のランダムな値が、0~攻撃対象の最大HPの10%のランダムな値と攻撃対象の最大HPの1%の合計以上の場合、

パワーが「エンチャント強度 * 20」の首狩りを発動します。


通常の首狩りとの違いは以下の通りです。

1.収穫する者エンチャントが付与されているキャラからの攻撃であれば魔法でも発動する。
2.攻撃を当て、ダメージを与える必要がある。 (通常の首狩りは命中・ダメージ不問)
3.首狩り発動率が与ダメージと対象の最大HPに依存。 (通常の首狩りはエンチャント強度にのみ依存)
4.首狩りできる残HPの割合がエンチャント強度にのみ依存。(通常の首狩りはエンチャント強度と攻撃者の武器スキルに依存)
5.首狩りできる残HPの割合の上限が35%。 (通常は上限25%、但し事実上機能していない)
owner.PlaySound("shear");
Msg.Say("cull_life", EClass.pc, target);
target.Die();
Thing t = ThingGen.Create("ecopo").SetNum(EClass.rndHalf((int)Mathf.Sqrt(target.LV) + 5));
EClass.pc.Pick(t);
yield return KeepRunning();

また、友好的な植物を鎌で刈ると、「(√(対象のレベル) + 5) / 2」~「√(対象のレベル) + 5」の範囲のランダムな値の分のエコポイントを得ます。

腐った食料を種に変える

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

食品の腐敗時に食品を破壊し、ランダムな種を生成します。(万色フルーツの種、フェイウッドの種、コーラルウッドの種を除く。)

種の生成量はスタック数に応じますが、最大で3個までです。

種の品種改良強化

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)
{
...

種が品種改良される確率に約11.4%加算します。(おまかせ農業時は約5.7%の加算)

野菜と果物の出荷額1.5倍

if (category.IsChildOf("vegi") || category.IsChildOf("fruit"))
{
	p *= ((EClass.pc.faith == EClass.game.religions.Harvest) ? 3f : 2f);
}

幸運のエヘカトル

エヘカトル流魔術

if (a < 0 && BaseStats.CC.HasElement(1330))
{
	if (a == -1 && EClass.rnd(4) == 0)
	{
		return;
	}
	a = -EClass.rnd(-a * 130 / 100 + 2);
}

マナやスタミナを消費する際、 0~(元の消費量の1.3倍+2)の範囲のランダムな数値が新しい消費量になります。

例えば、消費MPが40だった場合、消費量は0~54の範囲になります。 

期待値としては元の消費量の約0.65倍となります。

また、元々の消費が1の場合は25%の確率で消費なしとなります。

スタミナ吸収

int num15 = EClass.rnd(3 + Mathf.Clamp(dmg / 100, 0, valueOrDefault / 10));
origin.Chara.stamina.Mod(num15);
if (IsAliveInCurrentZone)
{
	Chara.stamina.Mod(-num15);
}

スタミナ吸収の最大量は与えたダメージに依存します。

スタミナ吸収最大量 = 2 + MIN(与えたダメージ / 100, スタミナ吸収エンチャント強度 / 10)
※事実上、スタミナ吸収最大量の上限は7 (ラッキーダガーのエンチャント強度が50であるため)

0~スタミナ吸収最大量の範囲内の数値分、攻撃者のスタミナを回復し、攻撃対象のスタミナを減らします。

ホームに幸運の月が訪れやすくなる

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

PCがエヘカトルを信仰している時のみ、幸運の月が訪れる確率に約3.5%を加算し、土地の幸運の係数を2倍にします。

魚の出荷額1.5倍

if (category.IsChildOf("fish"))
{
	p *= ((EClass.pc.faith == EClass.game.religions.Luck) ? 1.5f : 1f);
}

PCがエヘカトルを信仰している時のみ、魚の出荷額を1.5倍にします。

癒しのジュア

《ジュア》の祈り

アビリティのパワーと信仰心に応じた面と数とボーナスのダイスを振り、HPを回復します。

ダイス面 = 2 + アビリティのパワー / 20 + 信仰心 / 10
ダイス数 = 8 + 信仰心 / 4
ボーナス = 信仰心

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

悪戯のキズアミ

《キズアミ》の悪戯

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

リストから選ばれる4~5個のランダムなバフもしくはデバフを対象に付与します。

魔法による付与と違い、デバフは抵抗されることがありません。(主能力による軽減は存在します。)

選ばれるバフとデバフのリストは以下の通りです。

選ばれる種類
バフ 自然の抱擁,テレパシー,透明,透明可視,猫の目,ホーリーヴェイル,

元素保護,英雄,水中呼吸,高揚,心の平穏,浮遊,聖なる盾,知者の加護

デバフ 重力,沈黙,脆弱,災い,元素の傷跡,ナイトメア,妨害

それはあなたの暴力を禁止する

if (origin != null && origin.IsPC && EClass.pc.Evalue(654) > 0)
{
	dmg = 0;
}

発生源がPCのダメージを0にします。プレイヤー操作によるものであっても、発生源がPCと認識されない場合は効果がありません。

以下はPCが発生源と認識されないダメージです。

・回復魔法の呪い効果
・(属性)の海の魔法
・地面に落ちたポーションによるダメージ(塩水。塩水は発生源の認識があるが、踏んだキャラから発生した扱いになる)
・耐酸性ポーションの酸ダメージ
・毒物混入食品
・むち打ち
・転倒・落下
・超過・潰れ
・餓死寸前・餓死寸前の嘔吐
・出血状態によるダメージ
・炎上状態によるダメージ
・毒状態によるダメージ
・瘴気によるダメージ
・マナの反動によるダメージ
・過労ダメージ
・窒息ダメージ
・自傷
・首吊り
・罠
・撫でて棘が刺さる

ダメージを与えられない状態でも追加効果の状態異常を付与できる

if (dmg > 0 || (origin != null && origin.HasElement(1345)))
{
	ApplyElementEffect(e, eleP, origin);
}

属性耐性などでダメージが0になった場合でも、属性に対応する追加効果が発揮します。

ただし、ダメージの発生源がPCと認識されている必要があります。[1]

月影のホロメ

頭撫で

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

興味度を20~29消費して好感度を1~3上昇させます。

対象がプレイヤーのペットの場合、視界内に存在するペット達全てに強度が「100 + アビリティLv * 5」の高揚を付与します。

マナ吸収

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

マナ吸収の最大量は与えたダメージと信仰パワーに依存します。

マナ吸収最大量 = 1 +  MIN(与えたダメージ / 10, 信仰パワー + 10)

マナ吸収最大量 / 2 ~ マナ吸収最大量の範囲内の数値分、攻撃者のマナを回復し、攻撃対象のマナを減らします。

戦禍のイーヴァン

戦禍の炎

int num2 = CC.Evalue(1355);
ConStrife condition = CC.GetCondition<ConStrife>();
if (condition != null)
{
	num += condition.GetDice().Roll();
}
else if (num2 > 0)
{
	num++;
}

ダメージボーナスに戦禍の炎状態のLvに応じたダイスを振った結果を加算します。(このため、戦禍の炎状態にもダメージ倍率が乗ります。)

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

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

  1. このため、PCが付与した瘴気などによるダメージが0だった場合は追加効果がない。