解析/未分類

From Ylvapedia


このページは、今のところ他のページに分類されていない解析を情報を特集するための一時置き場です。

このページの内容は他ページに随時移動していく予定ですので、 wikiの記事をこのページにリンクすることはご遠慮ください。

編集者の方へ: 追加された各セクションについて、テストされたゲームのバージョンを明記してください。


乳を飲ませたときの挙動(EA 23.136 Nightly)

→移動しました。

井戸水を飲んだ時のイベント (EA23.148)

バージョン EA23.67: この記事は、Elin最新の安定版リリースに、少なくとも20のマイナーバージョンが遅れています。ページの更新をお願いします。
public override void TrySetAct(ActPlan p)
	{
		p.TrySetAct("actDrink", delegate
		{
			if (Charges <= 0)
			{
				EClass.pc.Say("drinkWell_empty", EClass.pc, owner);
				return false;
			}
			EClass.pc.Say("drinkWell", EClass.pc, owner);
			EClass.pc.PlaySound("drink");
			EClass.pc.PlayAnime(AnimeID.Shiver);
			if (IsHoly || EClass.rnd(5) == 0)
			{
				ActEffect.Proc(EffectId.ModPotential, EClass.pc, null, (!polluted && (IsHoly || EClass.rnd(2) == 0)) ? 100 : (-100));
			}
			else if (EClass.rnd(5) == 0)
			{
				BadEffect(EClass.pc);
			}
			else if (EClass.rnd(4) == 0)
			{
				ActEffect.Proc(EffectId.Mutation, EClass.pc);
			}
			else if (EClass.rnd(EClass.debug.enable ? 2 : 10) == 0 && !polluted && !EClass.player.wellWished)
			{
				if (EClass.player.CountKeyItem("well_wish") > 0)
				{
					EClass.player.ModKeyItem("well_wish", -1);
					ActEffect.Proc(EffectId.Wish, EClass.pc, null, 50 + EClass.player.CountKeyItem("well_enhance") * 50);
					EClass.player.wellWished = true;
				}
				else
				{
					Msg.SayNothingHappen();
				}
			}
			else if (polluted)
			{
				EClass.pc.Say("drinkWater_dirty");
				BadEffect(EClass.pc);
			}
			else
			{
				EClass.pc.Say("drinkWater_clear");
			}
			ModCharges(-1);
			return true;
		}, owner);
	}
  • このコードは、井戸の水を飲むと何が起こるかを説明しています。
  • これらの効果は段階的に適用されます。
  • 5分の1の確率で、主能力の潜在が50%上昇または50%低下します。
    • 聖なる井戸の場合、これが強制的に発動し、100%上昇します。
  • 次に、さらに1/5の確率で、PCに悪影響が適用されます。その影響は、盲目、麻痺、睡眠、中毒、気絶、病気、混乱のうちいずれか1つが等しい確率で発生します。
  • 次に、さらに1/4の確率で、PCに変異が発生します。
  • さらに1/10の確率で、PCが今年まだ願い事をしておらず、井戸が汚染されていない場合、願いが叶う。
    • デバッグモードの場合、この確率は1/2に増加する。
    • 願いの強度は、「50 + 50 * 黒猫のよだれの数」を掛けたものとなる。

 EA 23.148 Nightlyより従来の5倍の強度で計算されるように。(過去のverでは「10 + 10 * 黒猫のよだれの数」でした。)

  • その後、通常の効果が発生する。
    • 井戸が汚染されている場合、PCにデバフがかかる。
    • 井戸が汚染されていない場合、PCは本物の水を飲んだのと同じ状態になる。
  • 聖なる井戸ではなく、汚染されていない普通の井戸の全体的な確率:
    • 10% 主能力の潜在能力上昇
    • 10% 主能力の潜在能力低下
    • 16% 7種類のPCへの状態異常のうちの1つ
    • 16% PCへのランダムな突然変異
    • 4.8% 願い(PCが要件を満たす場合)
    • 43.2% 普通の水。

養蜂 (EA23.84)

int soilCost = EClass._zone.GetSoilCost();
int num = Mathf.Min(100, 70 + (MaxSoil - soilCost));
int flower = 5;
int lv = 1;
EClass._map.bounds.ForeachCell(delegate(Cell cell)
{
	if (cell.obj != 0 && cell.sourceObj.tag.Contains("flower"))
	{
		PlantData plantData = cell.TryGetPlant();
		if (plantData != null && plantData.seed != null)
		{
			lv += plantData.seed.encLV + 1;
		}
		else
		{
			lv++;
		}
		flower++;
	}
});
lv /= flower;
int num2 = 0;
foreach (Thing thing7 in EClass._map.things)
{
	if (thing7.IsInstalled && thing7.trait is TraitBeekeep && !thing7.things.IsFull())
	{
		flower -= 3 + EClass.rnd(5 + num2 * 4);
		num2++;
		if (flower < 0)
		{
			break;
		}
		if (EClass.rnd(100) <= num)
		{
			Thing thing3 = ThingGen.Create("honey");
			thing3.SetEncLv(lv / 10);
			thing3.elements.SetBase(2, EClass.curve(lv, 50, 10, 80));
			thing7.AddThing(thing3);
		}
	}
}
  • 生産されるハチの巣の+値は、マップ上境界内に存在する全ての花の+値の平均によって決定される。(小数点以下切り捨て)。
ハチの巣の+値 = ((マップ上の花の+値合計 + マップ上の花の数) / (マップ上の花の数 + 5)) / 10 
  • ハチの巣の生産数は、マップ上境界内に存在する全ての花の数に依存し、肥沃度の余りによって減衰され、乱数によって生産数が上下する。
  • 肥沃度の余りによる減衰は+29で0%の減衰、-71で100%の減衰となり生産されなくなる。
  • 1度の生産処理で養蜂箱に生成されるハチの巣は1個のみ。本来の生産数に対して養蜂箱が足りなかった場合、足りていない分は生産されない。


下記の表は肥沃度の余りが29(100%の生産)かつ養蜂箱が十分にある場合の花の数に応じたハチの巣の生産数である。

ハチの巣の生産数
ハチの巣生産数
花の数 最小 中央値 最大
0 0 0.61 1
5 0 1.33 3
10 1 2.02 4
15 1 2.50 6
20 2 3.00 8
25 2 3.46 10
30 2 3.85 11
35 3 4.25 13
40 3 4.62 15
45 3 4.97 16
50 3 5.30 18
55 4 5.61 20
60 4 5.93 21