Skip to content

EA 23.185 Nightly Patch 1

August 21, 2025

19 files modified. 2 new files created.

Important Changes

None.

Chara

public override void OnCreate(int genLv)

cs
		isCreated = true;
	}

	public Chara ScaleByPrincipal() 
	{ 
		if (EClass.game.principal.scaleQuest && EClass._zone.DangerLvBoost != 0) 
		{ 
			SetLv(base.LV + EClass._zone.DangerLvBoost); 
			things.DestroyAll(); 
			TryRestock(onCreate: true); 
		} 
		return this; 
	} 
	public void SetFaith(string id)
	{
		SetFaith(EClass.game.religions.dictAll[id]);

CoreDebug

public void UpdateInput()

cs
			EClass.pc.Pick(targetChara.MakeEgg(effect: true, 10));
			targetChara.ModAffinity(EClass.pc, 10000);
		}
		targetChara.ScaleByPrincipal(); 
		if (EClass.game.quests.Get<QuestDebt>() == null)
		{
			Chara chara = CharaGen.Create("loytel");

Game

public void OnLoad()

cs
		}
	});
	TryAddQuest("into_darkness", "exile_kettle");
	if (version.IsBelow(0, 23, 185)) 
	{ 
		player.resetPrincipal = true; 
	} 
	if (version.IsBelow(0, 23, 182))
	{
		foreach (Chara value2 in cards.globalCharas.Values)

public void OnLoad()

cs
	if (version.IsBelow(0, 23, 96))
	{
		EClass.game.principal = IO.DeepCopy(EClass.setting.start.principals[0]);
		player.resetPrincipal = true; 
	}
	if (player.resetPrincipal)
	{

GamePrincipal

public void SetInt(int value)

cs
	[JsonProperty]
	public bool disableUsermapBenefit;

	[JsonProperty] 
	public bool scaleQuest; 
	[JsonProperty]
	public bool realAdv;

public List<Item> ListItems()

cs
	{
		disableUsermapBenefit = a;
	});
	Add(1, Type.Oath, "scaleQuest", () => scaleQuest, delegate(bool a) 
	{ 
		scaleQuest = a; 
	}); 
	Add(3, Type.Oath, "permadeath", () => permadeath, delegate(bool a)
	{
		permadeath = a;

LayerWorldSetting

public class LayerWorldSetting : ELayer

cs

	public Transform transMold;

	public Transform transHint; 
	public List<Sprite> sprites;

	private bool started;

public override void OnInit()

cs
{
	buttonEmbark.SetActive(IsEmbark);
	buttonWorkaround.SetActive(enable: true);
	transHint.SetActive(IsEmbark); 
	if (IsEmbark)
	{
		ELayer.game.principal.modified.Clear();

SerializedCards

public void Restore(Map map, Map orgMap, bool addToZone, PartialMap partial = nu

cs
				card2.ApplyBacker(card2.c_idBacker);
			}
			card2.SetObj(5, null);
			if (EClass._zone.ShouldScaleImportedChara(card2.Chara)) 
			{ 
				card2.Chara.ScaleByPrincipal(); 
			} 
		}
		if (card2.trait is TraitFakeBlock)
		{

Spatial

public int mapY

cs

	public virtual int DangerLvFix => 0;

	public virtual int DangerLvBoost => 0; 
	public virtual float VolumeSea
	{
		get

WidgetDate

public void _Refresh()

cs
	if (extra.loc)
	{
		text = text + " " + EMono._zone.NameWithLevel;
		if (EMono._zone is Zone_Dungeon) 
		{ 
			text += EMono._zone.TextDangerLv; 
		} 
		if (EMono._zone.isClaimable && !EMono._zone.IsPCFaction)
		{
			text += "(";

public void _Refresh()

cs
	}
	if (EMono.debug.showExtra)
	{
		text = text + " (" + EMono._zone.biome.name + "/Lv:" + EMono._zone.lv + "/Danger:" + EMono._zone.DangerLv + "/_danger:" + EMono._zone._dangerLv + "/elec:" + EMono._zone.electricity + ")"; 
		text = text + " <size=12>(" + EMono._zone.biome.name + "/Lv:" + EMono._zone.lv + "/Danger:" + EMono._zone.DangerLv + "/_danger:" + EMono._zone._dangerLv + "/elec:" + EMono._zone.electricity + ")</size>"; 
		if (EMono._zone.IsInstance)
		{
			text += "Instance";

Zone

public virtual bool UseLight

cs

	public virtual int StartLV => 0;

	public virtual ZoneScaleType ScaleType => ZoneScaleType.None; 
	public virtual bool ScaleMonsterLevel => false;

	public virtual bool HiddenInRegionMap => false;

public override string NameSuffix

cs

	public string NameWithLevel => Name + TextLevel(base.lv);

	public string TextDangerLv => "dangerLv".lang(DangerLv + ((DangerLvBoost == 0) ? "" : ("<size=15> +" + DangerLvBoost + "</size>"))); 
	public string TextDeepestLv
	{
		get

public bool CanInspect

cs
		}
	}

	public string InspectName => Name + ((IsTown || IsPCFaction || this is Zone_Civilized) ? "" : "dangerLv".lang(DangerLv.ToString() ?? "")); 
	public string InspectName => Name + ((IsTown || IsPCFaction || this is Zone_Civilized) ? "" : TextDangerLv); 

	public Point InspectPoint => null;

public virtual string GetDungenID()

cs
		return null;
	}

	public virtual bool ShouldScaleImportedChara(Chara c) 
	{ 
		return false; 
	} 
	public virtual string GetNewZoneID(int level)
	{
		return base.source.id;

public Chara SpawnMob(Point pos = null, SpawnSetting setting = null)

cs
		idEle = setting.idEle
	};
	int num = ((setting.filterLv == -1) ? dangerLv : setting.filterLv);
	if (ScaleMonsterLevel) 
	if (ScaleType == ZoneScaleType.Void) 
	{
		num = ((dangerLv - 1) % 50 + 5) * 150 / 100;
		if (num >= 20 && EClass.rnd(100) < num)

public Chara SpawnMob(Point pos = null, SpawnSetting setting = null)

cs
	}
	CardRow cardRow = (setting.id.IsEmpty() ? spawnList.Select(num, setting.levelRange) : EClass.sources.cards.map[setting.id]);
	int num2 = ((setting.fixedLv == -1) ? cardRow.LV : setting.fixedLv);
	if (ScaleMonsterLevel) 
	if (ScaleType == ZoneScaleType.Void) 
	{
		num2 = (50 + cardRow.LV) * Mathf.Max(1, (dangerLv - 1) / 50);
	}
	num2 += DangerLvBoost; 
	if (setting.rarity == Rarity.Random)
	{
		if (EClass.rnd(100) == 0)

+ZoneScaleType

File Created
cs
public enum ZoneScaleType
{
	None,
	Void,
	Quest
}

Zone_Arena

public class Zone_Arena : Zone

cs

	public override bool AllowCriminal => true;

	public override bool ScaleMonsterLevel => base._dangerLv >= 51; 
	public override ZoneScaleType ScaleType 
	{ 
		get 
		{ 
			if (base._dangerLv <= 50) 
			{ 
				return ZoneScaleType.None; 
			} 
			return ZoneScaleType.Void; 
		} 
	} 

	public override bool MakeTownProperties => true;

Zone_CursedManorDungeon

public class Zone_CursedManorDungeon : Zone_Dungeon

cs
public class Zone_CursedManorDungeon : Zone_Dungeon
public class Zone_CursedManorDungeon : Zone_QuestDungeon
{
	public const int LvBoss = -6;

Zone_DungeonFairy

public class Zone_DungeonFairy : Zone_Dungeon

cs
public class Zone_DungeonFairy : Zone_Dungeon
public class Zone_DungeonFairy : Zone_QuestDungeon
{
	public override int MinLv => LvBoss;

public override void OnGenerateMap()

cs
{
	if (IsBossLv)
	{
		Chara t = CharaGen.Create("fairy_poina"); 
		Chara t2 = CharaGen.Create("fairy_raina"); 
		Chara t = CharaGen.Create("fairy_poina").ScaleByPrincipal(); 
		Chara t2 = CharaGen.Create("fairy_raina").ScaleByPrincipal(); 
		Point point = EClass._map.FindThing<TraitStairsUp>().owner.pos.GetNearestPoint(allowBlock: false, allowChara: false, allowInstalled: false, ignoreCenter: true, 5) ?? EClass._map.GetCenterPos();
		AddCard(t, point);
		AddCard(t2, point.GetNearestPoint(allowBlock: false, allowChara: false, allowInstalled: false) ?? point);

Zone_Lesimas

public class Zone_Lesimas : Zone_Dungeon

cs
public class Zone_Lesimas : Zone_Dungeon
public class Zone_Lesimas : Zone_QuestDungeon
{
}

Zone_Lysanas

public class Zone_Lysanas : Zone_Dungeon

cs
public class Zone_Lysanas : Zone_Dungeon
public class Zone_Lysanas : Zone_QuestDungeon
{
}

Zone_Nymelle

public class Zone_Nymelle : Zone_Dungeon

cs
public class Zone_Nymelle : Zone_Dungeon
public class Zone_Nymelle : Zone_QuestDungeon
{
	public override string idExport
	{

+Zone_QuestDungeon

File Created
cs
using UnityEngine;

public class Zone_QuestDungeon : Zone_Dungeon
{
	public bool ShouldScale => EClass.game.principal.scaleQuest;

	public override ZoneScaleType ScaleType => ZoneScaleType.Quest;

	public override int DangerLvBoost
	{
		get
		{
			if (!ShouldScale)
			{
				return 0;
			}
			return Mathf.Max(0, EClass.pc.FameLv * 2 / 3 - DangerLv);
		}
	}

	public override bool ShouldScaleImportedChara(Chara c)
	{
		if (ShouldScale && c.rarity >= Rarity.Legendary)
		{
			return c.IsHostile();
		}
		return false;
	}
}

Zone_RandomDungeon

public class Zone_RandomDungeon : Zone_Dungeon

cs

	public override int MinLv => LvBoss;

	public override bool ScaleMonsterLevel => DangerLv >= 200; 
	public override ZoneScaleType ScaleType 
	{ 
		get 
		{ 
			if (DangerLv < 200) 
			{ 
				return ZoneScaleType.None; 
			} 
			return ZoneScaleType.Void; 
		} 
	} 

	public override string IDPlayList
	{

Zone_UnderseaTemple

public class Zone_UnderseaTemple : Zone_Dungeon

cs
public class Zone_UnderseaTemple : Zone_Dungeon
public class Zone_UnderseaTemple : Zone_QuestDungeon
{
	public override bool IsUnderwater => true;

Zone_VernisMine

using UnityEngine;

cs
using UnityEngine; 
public class Zone_VernisMine : Zone_Dungeon
public class Zone_VernisMine : Zone_QuestDungeon
{
	public const int LvBoss = -8;

	public bool IsBossLv => base.lv == -8;

	public override int DangerLv => base.DangerLv + 5; 
	public override bool LockExit
	{
		get

public override string idExport

cs
		}
	}

	public override int ContentLv => DangerLv; 
	public override int DangerLv => 5 + Mathf.Abs(base.lv); 
	public override string GetDungenID()
	{
		return "DungeonMine";

Zone_Void

public override string TextWidgetDate

cs

	public override int MinLv => -10000;

	public override bool ScaleMonsterLevel => true; 
	public override ZoneScaleType ScaleType => ZoneScaleType.Void; 

	public override bool LockExit => IsBossLV;