Skip to content

EA 23.253 Nightly

December 26, 2025

5 files modified.

Important Changes

None.

ActEffect

void AddCon<T>(int rate, int power) where T : Condition

cs
		break;
	case EffectId.StripBlessing:
	{
		List<Condition> list10 = new List<Condition>(); 
		List<Condition> list9 = new List<Condition>(); 
		foreach (Condition condition4 in TC.conditions)
		{
			if (GetBlessingDifficulty(condition4) > 0 && EClass.rnd(GetBlessingDifficulty(condition4)) == 0)
			{
				list10.Add(condition4); 
				list9.Add(condition4); 
			}
		}
		if (list10.Count == 0) 
		if (list9.Count == 0) 
		{
			CC.SayNothingHappans();
			break;

void AddCon<T>(int rate, int power) where T : Condition

cs
		TC.pos.PlayEffect("holyveil");
		TC.pos.PlaySound("holyveil");
		TC.Say("unpolluted", TC);
		list10.Shuffle(); 
		list9.Shuffle(); 
		{
			foreach (Condition item4 in list10) 
			foreach (Condition item4 in list9) 
			{
				item4.Kill();
				if (CC.IsHostile(TC))

void AddCon<T>(int rate, int power) where T : Condition

cs
		});
		TC.Say("abShutterHex", TC);
		Point center = CC.pos.Copy();
		List<Chara> list9 = TC.pos.ListCharasInRadius(TC, 4, (Chara c) => c == TC || c.IsHostile(CC)); 
		List<Chara> list10 = TC.pos.ListCharasInRadius(TC, 4, (Chara c) => c == TC || c.IsHostile(CC)); 
		for (int m = 0; m < num12; m++)
		{
			TweenUtil.Delay((float)m * 0.1f, delegate
			{
				center.PlaySound("shutterhex");
			});
			foreach (Chara item5 in list9) 
			foreach (Chara item5 in list10) 
			{
				if (item5.ExistsOnMap)
				{

void AddCon<T>(int rate, int power) where T : Condition

cs
		tc.bio.SetGender(gender2);
		tc.Say("transGender", tc, Gender.Name(tc.bio.gender));
		tc.Talk("tail");
		int age2 = tc.bio.GetAge(tc.Chara); 
		if (blessed && age2 > 1) 
		int age = tc.bio.GetAge(tc.Chara); 
		if (blessed && age > 1) 
		{
			tc.Say("ageDown", tc);
			tc.bio.SetAge(tc.Chara, age2 - 1); 
			tc.bio.SetAge(tc.Chara, age - 1); 
		}
		else if (flag)
		{
			tc.Say("ageUp", tc);
			tc.bio.SetAge(tc.Chara, age2 + 1); 
			tc.bio.SetAge(tc.Chara, age + 1); 
		}
		break;
	}

void AddCon<T>(int rate, int power) where T : Condition

cs
	{
		tc.PlaySound("mutation");
		tc.PlayEffect("mutation");
		int age = tc.bio.GetAge(tc.Chara); 
		if (!flag && age <= 0) 
		int age3 = tc.bio.GetAge(tc.Chara); 
		if (!flag && age3 <= 0) 
		{
			tc.SayNothingHappans();
			break;
		}
		age = Mathf.Max(0, age * 100 / (flag ? 75 : (blessed ? 400 : 200))) + (flag ? 1 : 0); 
		age3 = Mathf.Max(0, age3 * 100 / (flag ? 75 : (blessed ? 400 : 200))) + (flag ? 1 : 0); 
		tc.Say(flag ? "ageUp" : "ageDown", tc);
		tc.bio.SetAge(tc.Chara, age); 
		tc.bio.SetAge(tc.Chara, age3); 
		break;
	}
	case EffectId.EternalYouth:

void AddCon<T>(int rate, int power) where T : Condition

cs
			tc.SayNothingHappans();
			break;
		}
		int age3 = tc.bio.GetAge(tc.Chara); 
		int age2 = tc.bio.GetAge(tc.Chara); 
		if (flag)
		{
			if (tc.c_lockedAge != 0)

void AddCon<T>(int rate, int power) where T : Condition

cs
				tc.Say("eternalYouth2", tc);
				tc.c_lockedAge = 0;
				tc.elements.Remove(1243);
				tc.bio.SetAge(tc.Chara, age3); 
				tc.bio.SetAge(tc.Chara, age2); 
			}
			Redirect(EffectId.Youth, BlessedState.Cursed, default(ActRef));
		}

void AddCon<T>(int rate, int power) where T : Condition

cs
		{
			tc.PlaySound("dropRewardXmas");
			tc.Say("eternalYouth1", tc);
			tc.c_lockedAge = age3 + 1; 
			tc.c_lockedAge = age2 + 1; 
			tc.elements.SetBase(1243, 1);
			if (blessed)
			{

void AddCon<T>(int rate, int power) where T : Condition

cs
		{
			EClass.game.religions.Healing.Talk("ability");
		}
		if (actRef.act != null) 
		{ 
			Debug.Log(actRef.act.id); 
		} 
		int num10 = Dice.Create((actRef.act != null && EClass.sources.calc.map.ContainsKey(actRef.act.ID)) ? actRef.act.ID : "SpHealLight", power, CC, (actRef.refThing != null) ? null : actRef.act).Roll();
		if (actRef.refThing != null)
		{

int GetBlessingDifficulty(Condition c)

cs
		{
			return 0;
		}
		if (c is ConTransmuteBat && TC.HasCooldown(8793)) 
		{ 
			return 0; 
		} 
		if (!CC.IsHostile(TC))
		{
			return 1;

Card

public void SpawnLoot(Card origin)

cs
			continue;
		}
		item4.isHidden = false;
		item4.isNPCProperty = false; 
		item4.SetInt(116);
		EClass._zone.AddCard(item4, nearestPoint);
		if (!item4.IsEquipment || item4.rarity < Rarity.Superior || item4.IsCursed)

LayerMod

public class LayerMod : ELayer

cs

	public ModManager manager => ELayer.core.mods;

	private void Move(BaseModPackage p, ItemMod b, int a) 
	{ 
		List<BaseModPackage> packages = ELayer.core.mods.packages; 
		int num = packages.IndexOf(p); 
		if (num + a < 0 || num + a >= packages.Count || packages[num + a].builtin) 
		{ 
			SE.BeepSmall(); 
			return; 
		} 
		packages.Move(p, a); 
		SE.Tab(); 
		textRestart.SetActive(enable: true); 
		ELayer.core.mods.SaveLoadOrder(); 
		list.List(); 
	} 
	public override void OnInit()
	{
		textRestart.SetActive(enable: false);

public override void OnInit()

cs
		textRestart.SetActive(enable: true);
	});
	Instance = this;
	list.dragScrollView = GetComponentInChildren<UIScrollView>(); 
	list.dragViewport = windows[0].Rect(); 
	list.dragEdgeSize = 34f; 
	UIList uIList = list;
	UIList uIList2 = list2;
	UIList.Callback<BaseModPackage, ItemMod> obj = new UIList.Callback<BaseModPackage, ItemMod>

public override void OnInit()

cs
				});
				uIContextMenu.Show();
			});
			b.buttonLock.onClick.AddListener(delegate
			{ 
				Refresh(); 
			}); 
			b.buttonLock.onClick.AddListener(Refresh); 
		},
		onList = delegate
		{

public override void OnInit()

cs
					}
				}
			},
			onRefresh = Refresh 
			onRefresh = Refresh, 
			onDragReorder = delegate(BaseModPackage p, int a) 
			{ 
				BaseCore.Instance.FreezeScreen(0.1f); 
				manager.packages.Move(p, a); 
				SE.Tab(); 
				textRestart.SetActive(enable: true); 
				ELayer.core.mods.SaveLoadOrder(); 
				list.List(); 
			}, 
			canDragReorder = (BaseModPackage p) => !p.builtin 
		};
		UIList.ICallback callbacks = obj;
		uIList2.callbacks = obj;
		uIList.callbacks = callbacks;
		list.List();
		list2.List();
		void Move(BaseModPackage p, ItemMod b, int a) 
		{ 
			List<BaseModPackage> packages = ELayer.core.mods.packages; 
			int num = packages.IndexOf(p); 
			if (num + a < 0 || num + a >= packages.Count || packages[num + a].builtin) 
			{ 
				SE.BeepSmall(); 
			} 
			else
			{ 
				packages.Move(p, a); 
				SE.Tab(); 
				textRestart.SetActive(enable: true); 
				ELayer.core.mods.SaveLoadOrder(); 
				list.List(); 
			} 
		} 
	}

	public void Refresh()

TraitASMR

public override void Update()

cs
			{
				dialog = Lang.GetDialog("asmr", "eyth");
			}
			owner.TalkRaw(dialog.RandomItem()); 
			string text = dialog.RandomItem(); 
			owner.TalkRaw((text.StartsWith("@") ? "" : "@2") + text); 
		}
	}
}

TraitSpellbookRandom

public class TraitSpellbookRandom : TraitSpellbook

cs
{
	public override Type BookType => Type.RandomSpell;

	public override SourceElement.Row source => EClass.sources.elements.map[owner.refVal]; 
	public override SourceElement.Row source => EClass.sources.elements.map.TryGetValue(owner.refVal, 0); 

	public override string GetName()
	{