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)
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
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
}
});
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)
if (version.IsBelow(0, 23, 96))
{
EClass.game.principal = IO.DeepCopy(EClass.setting.start.principals[0]);
player.resetPrincipal = true;
}
if (player.resetPrincipal)
{
GamePrincipal
[JsonProperty]
public bool disableUsermapBenefit;
[JsonProperty]
public bool scaleQuest;
[JsonProperty]
public bool realAdv;
{
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
public Transform transMold;
public Transform transHint;
public List<Sprite> sprites;
private bool started;
{
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
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 virtual int DangerLvFix => 0;
public virtual int DangerLvBoost => 0;
public virtual float VolumeSea
{
get
WidgetDate
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 += "(";
}
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 int StartLV => 0;
public virtual ZoneScaleType ScaleType => ZoneScaleType.None;
public virtual bool ScaleMonsterLevel => false;
public virtual bool HiddenInRegionMap => false;
public override string NameSuffix
public string NameWithLevel => Name + TextLevel(base.lv);
public string TextDangerLv => "dangerLv".lang(DangerLv + ((DangerLvBoost == 0) ? "" : ("<size=15> +" + DangerLvBoost + "</size>")));
public string TextDeepestLv
{
get
}
}
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()
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)
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)
}
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
public enum ZoneScaleType
{
None,
Void,
Quest
}
Zone_Arena
public class Zone_Arena : Zone
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
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
public class Zone_DungeonFairy : Zone_Dungeon
public class Zone_DungeonFairy : Zone_QuestDungeon
{
public override int MinLv => LvBoss;
public override void OnGenerateMap()
{
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
public class Zone_Lesimas : Zone_Dungeon
public class Zone_Lesimas : Zone_QuestDungeon
{
}
Zone_Lysanas
public class Zone_Lysanas : Zone_Dungeon
public class Zone_Lysanas : Zone_Dungeon
public class Zone_Lysanas : Zone_QuestDungeon
{
}
Zone_Nymelle
public class Zone_Nymelle : Zone_Dungeon
public class Zone_Nymelle : Zone_Dungeon
public class Zone_Nymelle : Zone_QuestDungeon
{
public override string idExport
{
+Zone_QuestDungeon
File Created
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
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
public class Zone_UnderseaTemple : Zone_Dungeon
public class Zone_UnderseaTemple : Zone_QuestDungeon
{
public override bool IsUnderwater => true;
Zone_VernisMine
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
}
}
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
public override int MinLv => -10000;
public override bool ScaleMonsterLevel => true;
public override ZoneScaleType ScaleType => ZoneScaleType.Void;
public override bool LockExit => IsBossLV;