Elin:解析/エーテル病: Difference between revisions
Sakumashiki (talk | contribs) m (デフォルトソートキーを追加) |
(→エーテル病: キャラのLvか、病気のレベルかを明確に区別する言い回しに変えました。) |
||
Line 36: | Line 36: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
* | *この病気にかかると、1レベルにつき魔法耐性(961)が5上昇します(現在はこのエーテル病のレベルというのは1だけです)。 | ||
<syntaxhighlight lang="c#" line="1"> | <syntaxhighlight lang="c#" line="1"> | ||
Line 149: | Line 149: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
*これは、病気のレベルごとに(3 + | *これは、病気のレベルごとに(3 + キャラのLv / 4)で、あなたの魅力(Evalue 77)が低下します(現在はこのエーテル病のレベルというのは1だけです)。 | ||
** コード分析の例を少しだけ残しておきます。詳細は、vPotential = Char.LVを参照してください。 | ** コード分析の例を少しだけ残しておきます。詳細は、vPotential = Char.LVを参照してください。 | ||
Line 187: | Line 187: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
* | *この病気にかかると、マナが一律で15減少した後に、魔力が(4+キャラのLv/3)減少します。 | ||
===衰弱 (Weak)=== | ===衰弱 (Weak)=== | ||
Line 197: | Line 197: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
* | *この病気にかかると、生命が一律で15減少した後に、筋力が(4+キャラのLv/3)減少します。 | ||
===ポーション中毒(Addict)=== | ===ポーション中毒(Addict)=== | ||
Line 244: | Line 244: | ||
この病気には以下の4つの主能力への修正をかけます。 | この病気には以下の4つの主能力への修正をかけます。 | ||
* 耐久が (5 + | * 耐久が (5 + キャラのLv/ 3) 減少 | ||
* 器用が (4 + | * 器用が (4 + キャラのLv / 4) 減少 | ||
* 学習が (6 + | * 学習が (6 + キャラのLv / 2) 増加 | ||
* 意志が (2 + | * 意志が (2 + キャラのLv / 6) 増加 | ||
===殺戮への飢え(Violence)=== | ===殺戮への飢え(Violence)=== | ||
Line 257: | Line 257: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
*この病気は、あなたのDVを-(10+ | *この病気は、あなたのDVを-(10+キャラのLv)減少させるが、あなたのダメージ修正を(5+キャラのLv/2)増加させます。 | ||
===太い首(Neck)=== | ===太い首(Neck)=== | ||
Line 271: | Line 271: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
* | * この病気にかかると、PVが(12+キャラのLv)上昇しますが、魅力が(5+キャラのLv/5)減少します。 | ||
* また、首装備を強制的に解除します。 | * また、首装備を強制的に解除します。 | ||
Line 289: | Line 289: | ||
* この病気は、レベルごとに運搬重量(weightMod)を10%減少させます。 | * この病気は、レベルごとに運搬重量(weightMod)を10%減少させます。 | ||
* また、病気のレベルごとに浮遊レベルが与えられます。(浮遊レベルは'''複数あるのでしょうか?''') | * また、病気のレベルごとに浮遊レベルが与えられます。(浮遊レベルは'''複数あるのでしょうか?''') | ||
* 病気のレベルごとに速度が(10 + | * 病気のレベルごとに速度が(10 + キャラのLv/ 5)増加します。 | ||
* 背中装備を強制的に解除します。 | * 背中装備を強制的に解除します。 | ||
Line 300: | Line 300: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
*この病気は、あなたの感覚を(5 + | *この病気は、あなたの感覚を(5 + キャラのLv / 3)だけ向上させますが、同時に同じ量だけあなたの魅力を減少させます。 | ||
===蹄変化 (Feet)=== | ===蹄変化 (Feet)=== | ||
Line 313: | Line 313: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
* | * この病気にかかると、速度が(30+キャラのLv/5)上昇し、最大で100(Lv350で到達)まで上昇します。 | ||
* また、足装備を装備できなくなります。 | * また、足装備を装備できなくなります。 | ||
Line 324: | Line 324: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
* | *この病気にかかると、あなたのPVは(15+キャラのLv/2)増加しますが、速度が(10+キャラのLv/5)減少します。 | ||
===顔のただれ(Ugly)=== | ===顔のただれ(Ugly)=== | ||
Line 333: | Line 333: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
* | *この病気にかかると、病気のレベルごとに(4 + キャラのLv / 5)だけ魅力が減少します。病気のレベルは3段階あります。 | ||
===重力発生 (Gravity)=== | ===重力発生 (Gravity)=== | ||
Line 342: | Line 342: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
* | *この病気にかかると、病気のレベルごとに運搬中重量(weightMod)が10%増加します。病気のレベルは3段階あります。 | ||
[[Category: JA]] | [[Category: JA]] | ||
[[Category: Elin Spoiler]] | [[Category: Elin Spoiler]] | ||
{{DEFAULTSORT:カイセキ,エーテルビョウ}} | {{DEFAULTSORT:カイセキ,エーテルビョウ}} |
Latest revision as of 13:31, 28 December 2024
このページには正規のプレイによって得られた情報ではなく、Elinのデータ解析・デバッグモード・内部ファイル閲覧などによって得た情報が掲載されています。 ゲームの重大なネタバレや、プレイの楽しみを損なう情報が含まれている可能性があります。 閲覧は自己責任でお願いするとともに、通常ページに解析ページへのリンクを貼ることはお控えください。 また、このページの情報をWikiの他のページに記載する際は計算コードなどをそのまま掲示するのではなく、コードが読めない人にもわかりやすいように内容を要約して書いていただけると幸いです。 |
バージョン EA23.61: この記事は、Elin の最新の安定版リリースに遅れをとっていますが、信頼できる範囲にあるかもしれません。
このページでは、この世界のエーテル病を分析しています。
エーテル病
エーテル病のコード:索引
public const int etherManaBattery = 1564;
public const int etherPoisonHand = 1565;
public const int etherProvoke = 1563;
public const int etherStupid = 1561;
public const int etherWeak = 1560;
public const int etherAddict = 1559;
public const int etherRain = 1558;
public const int etherHead = 1557;
public const int etherViolence = 1556;
public const int etherNeck = 1555;
public const int etherWing = 1554;
public const int etherEye = 1553;
public const int etherFeet = 1552;
public const int etherArmor = 1562;
public const int etherUgly = 1551;
public const int etherGravity = 1550;
- すべてのエーテル病は整数(すなわちレベル)で表されます。病気の種類は16種類あり、それぞれ見ていきます。
- ご自身で効果を確認したい場合は、その数字をコードで検索してみてください。
マナバッテリー(ManaBattery)
case 1564:
ModBase(961, a * 5, hide: false);
break;
- この病気にかかると、1レベルにつき魔法耐性(961)が5上昇します(現在はこのエーテル病のレベルというのは1だけです)。
public void TryAbsorbRod(Thing t)
{
if (!IsPC || !(t.trait is TraitRod) || t.c_charges <= 0 || !HasElement(1564))
{
return;
}
Say("absorbRod", this, t);
TraitRod rod = t.trait as TraitRod;
bool flag = false;
if (rod.source != null)
{
using IEnumerator<SourceElement.Row> enumerator = EClass.sources.elements.rows.Where((SourceElement.Row a) => a.id == rod.source.id).GetEnumerator();
if (enumerator.MoveNext())
{
SourceElement.Row current = enumerator.Current;
if (IsPC)
{
GainAbility(current.id, t.c_charges * 100);
flag = true;
}
}
}
if (!flag)
{
mana.Mod(-50 * t.c_charges);
}
t.c_charges = 0;
LayerInventory.SetDirty(t);
}
...
public void GainAbility(int ele, int mtp = 100)
{
Element orCreateElement = elements.GetOrCreateElement(ele);
if (orCreateElement.ValueWithoutLink == 0)
{
elements.ModBase(orCreateElement.id, 1);
}
if (orCreateElement is Spell)
{
int num = mtp * orCreateElement.source.charge * (100 + Evalue(307) + (HasElement(307) ? 20 : 0)) / 100 / 100;
if (orCreateElement.source.charge == 1)
{
num = 1;
}
orCreateElement.vPotential += Mathf.Max(1, num / 2 + EClass.rnd(num / 2 + 1));
}
Say("spell_gain", this, orCreateElement.Name);
LayerAbility.SetDirty(orCreateElement);
}
- PCがマナバッテリーを持っていることを検知すると、Gainability(this spell, 100 × チャージ数) の式を呼び出して、魔法杖の使用回数を取り込み、PCにその魔法ストックを与えます。
- これは、願いの杖の使用回数1回につき、100個の願いの魔法ストックが手に入るという意味ではありません。各魔法には、回数のパラメータがそれぞれにあり(詳細はSourceGame/Elementを参照)、回数に応じて、魔法を唱えられる回数が決まります。
- この値は、暗記スキルの補正を受けます。スキルを持っている場合、一律20%が加算され、スキルレベルごとに1%加算されます。 例えば、願いの杖の場合、暗記レベルが80であれば、数値は次のようになります。100 * 1 (願いの回数1) * (80+100+20) / 100 / 100 = 2
- これはかなり良い値です。1本の魔法杖で2回願いを叶えることができます。それを詠唱できるかは別の話ですが。
- その後、PCでない場合、魔法杖の使用回数1回につきマナが50ずつ減っていく。そして魔法杖のチャージが0になる。
エーテルの滴る手(PoisonHand)
case 1565:
ModBase(955, a * 20, hide: false);
break;
- エーテルの滴る手1レベルごとに、毒耐性が20ずつ上昇します(レベルは1つだけです)。
if (conWeapon == null && weapon == null && (CC.MainElement != Element.Void || CC.HasElement(1565)))
{
num5 = (CC.HasElement(1565) ? 915 : CC.MainElement.id);
num6 = CC.Power / 3 + EClass.rnd(CC.Power / 2);
if (CC.MainElement != Element.Void)
{
num6 += CC.MainElement.Value;
}
showEffect = false;
num7 = 50;
}
- 武器を装備せずに攻撃すると、攻撃はすべて毒属性(915)に変換されます。
- (要確認)コードでは、あなたのダメージに-50%のペナルティが適用されることが示されています。
public Thing TryPoisonPotion(Thing t)
{
if (t.trait is TraitPotion && t.id != "1165" && !t.source.tag.Contains("neg") && EClass.rnd(2) == 0 && HasElement(1565))
{
string text = EClass.sources.things.rows.Where((SourceThing.Row a) => a._origin == "potion" && a.tag.Contains("neg") && a.chance > 100).ToList().RandomItemWeighted((SourceThing.Row a) => a.chance)
.id;
Say("poisonDrip", this);
int num = t.Num;
t.Destroy();
t = ThingGen.Create(text).SetNum(num);
}
return t;
}
- これは、あなたのバッグの中のすべてのポーションを有毒化させるために使用するコードです。
- まずランダムに50%の確率が適用されるので、50%の確率でポーションは有毒化から免れます。
- また、あなたのポーションのストック全体を一度に変換するようです。
生きとし生けるものの敵(Provoke)
case 1563:
ModBase(77, -a * (3 + num / 4), hide: false);
break;
- これは、病気のレベルごとに(3 + キャラのLv / 4)で、あなたの魅力(Evalue 77)が低下します(現在はこのエーテル病のレベルというのは1だけです)。
- コード分析の例を少しだけ残しておきます。詳細は、vPotential = Char.LVを参照してください。
if (!owner.IsPCFactionOrMinion && EClass.rnd(owner.isSynced ? 50 : 2000) == 0 && owner.hostility == Hostility.Neutral && EClass.pc.party.HasElement(1563)
&& !owner.race.tag.Contains("animal") && EClass._zone.IsTown && !EClass._zone.IsPCFaction)
{
EClass.pc.DoHostileAction(owner);
}
- すべての生き物があなたに敵対する。ただし、以下の条件は除きます。
- それが自分のファクションのメンバーまたはペットである。
- 既にあなたに対して敵対している。
- 動物である。
- あなたが町にいない。
- あなたが自分の土地(自分のファクションのエリア)にいる。
- この効果を適用するには、まだ乱数を振る必要があり、可能性はかなり低いようです(2%)。
- この効果は、パーティーの誰かがこのエーテル病にかかっている場合にも適用されるので、注意してください。
if (EClass.pc.party.HasElement(1563) && num < 0)
{
num = num * 30 / 100;
}
- このコードは、カルマのマイナス修正を計算する必要がある場合に表示されます。カルマの減少は30%にカットされ、小数点以下は切り捨てられます。
- つまり、-5は-1に、-1は0になります。
痴呆 (Stupid)
case 1561:
ModBase(61, -a * 15, hide: false);
ModBase(76, -a * (4 + num / 3), hide: false);
break;
- この病気にかかると、マナが一律で15減少した後に、魔力が(4+キャラのLv/3)減少します。
衰弱 (Weak)
case 1560:
ModBase(60, -a * 15, hide: false);
ModBase(70, -a * (4 + num / 3), hide: false);
break;
- この病気にかかると、生命が一律で15減少した後に、筋力が(4+キャラのLv/3)減少します。
ポーション中毒(Addict)
if (EClass.rnd(30) == 0 && EClass.pc.HasElement(1559))
{
List<Thing> list = EClass.pc.things.List((Thing a) => a.trait is TraitPotion, onlyAccessible: true);
if (list.Count > 0)
{
EClass.pc.Drink(list.RandomItem());
EClass.player.EndTurn();
}
}
- 毎ターン1/30の確率でポーションを消費し、ターンを終了します。
生きた加湿器(Rain)
if (condition == Condition.Fine)
{
foreach (Chara member in EClass.pc.party.members)
{
if (member.HasElement(1558) && EClass.rnd(4) == 0)
{
condition = Condition.Rain;
Msg.Say("drawRain", member);
break;
}
}
}
- 世界の天気が変動するタイミングが来たら、この病気のチームメンバー一人一人が25%の確率で天気を雨に変える判定を行う。
頭部の巨大化 (Head)
case 1557:
ModBase(71, -a * (5 + num / 3), hide: false);
ModBase(72, -a * (4 + num / 4), hide: false);
ModBase(74, a * (6 + num / 2), hide: false);
ModBase(75, a * (2 + num / 6), hide: false);
この病気には以下の4つの主能力への修正をかけます。
- 耐久が (5 + キャラのLv/ 3) 減少
- 器用が (4 + キャラのLv / 4) 減少
- 学習が (6 + キャラのLv / 2) 増加
- 意志が (2 + キャラのLv / 6) 増加
殺戮への飢え(Violence)
case 1556:
ModBase(64, -a * (10 + num), hide: false);
ModBase(67, a * (5 + num / 2), hide: false);
break;
- この病気は、あなたのDVを-(10+キャラのLv)減少させるが、あなたのダメージ修正を(5+キャラのLv/2)増加させます。
太い首(Neck)
case 1555:
ModBase(65, a * (12 + num), hide: false);
ModBase(77, -a * (5 + num / 5), hide: false);
if (!hint && a > 0)
{
chara?.body.UnequipAll(31);
}
break;
- この病気にかかると、PVが(12+キャラのLv)上昇しますが、魅力が(5+キャラのLv/5)減少します。
- また、首装備を強制的に解除します。
エーテルの翼 (Wing)
case 1554:
ModBase(404, a * 10, hide: false);
ModBase(401, a, hide: false);
ModBase(79, a * (10 + num / 5), hide: false);
if (!hint && a > 0)
{
chara?.body.UnequipAll(33);
}
break;
- この病気は、レベルごとに運搬重量(weightMod)を10%減少させます。
- また、病気のレベルごとに浮遊レベルが与えられます。(浮遊レベルは複数あるのでしょうか?)
- 病気のレベルごとに速度が(10 + キャラのLv/ 5)増加します。
- 背中装備を強制的に解除します。
第三/四の眼 (Eye)
case 1553:
ModBase(73, a * (5 + num / 3), hide: false);
ModBase(77, -a * (5 + num / 3), hide: false);
break;
- この病気は、あなたの感覚を(5 + キャラのLv / 3)だけ向上させますが、同時に同じ量だけあなたの魅力を減少させます。
蹄変化 (Feet)
case 1552:
ModBase(79, a * Mathf.Min(30 + num / 5, 100), hide: false);
if (!hint && a > 0)
{
chara?.body.UnequipAll(39);
}
break;
- この病気にかかると、速度が(30+キャラのLv/5)上昇し、最大で100(Lv350で到達)まで上昇します。
- また、足装備を装備できなくなります。
重い甲殻(Armor)
case 1562:
ModBase(65, a * (15 + num / 2), hide: false);
ModBase(79, -a * (10 + num / 5), hide: false);
break;
- この病気にかかると、あなたのPVは(15+キャラのLv/2)増加しますが、速度が(10+キャラのLv/5)減少します。
顔のただれ(Ugly)
case 1551:
ModBase(77, -a * (4 + num / 5), hide: false);
break;
- この病気にかかると、病気のレベルごとに(4 + キャラのLv / 5)だけ魅力が減少します。病気のレベルは3段階あります。
重力発生 (Gravity)
case 1550:
ModBase(404, -a * 10, hide: false);
break;
- この病気にかかると、病気のレベルごとに運搬中重量(weightMod)が10%増加します。病気のレベルは3段階あります。