EA 23.265 Nightly Patch 2
February 3, 2026
8 files modified.
Important Changes
Possible breaking changes. Click the filename to view the chunk.
Dialog (1)
cs
public static void TryWarn(string lang, Action action, bool yes = true)
public static void TryWarn(string lang, Action action, bool yes = true, string text = null) Player (1)
cs
public List<Chara> listSummon = new List<Chara>();
public List<Chara> listCarryoverMap = new List<Chara>(); Zone (1)
cs
public void OnCharaDie()
public void RefreshDeathSentense() Chara
public void MoveZone(Zone z, ZoneTransition transition)
cs
{
EClass._zone.RemoveCard(item);
}
EClass.player.listSummon = EClass._map.charas.Where((Chara c) => c.c_uidMaster != 0 && c.FindMaster() == EClass.pc && c.c_minionType == MinionType.Default).ToList();
foreach (Chara item2 in EClass.player.listSummon)
EClass.player.listCarryoverMap = EClass._map.charas.Where((Chara c) => c.c_uidMaster != 0 && c.FindMaster() == EClass.pc && c.c_minionType == MinionType.Default).ToList();
if (!z.IsRegion && (z is Zone_Tent || currentZone is Zone_Tent))
{
foreach (Chara chara in EClass._map.charas)
{
if (chara.c_uidMaster == 0 && !chara.IsGlobal && !chara.isNPCProperty && (chara.id == "reaper" || chara.id == "messenger_death") && ((chara.enemy != null && chara.enemy.IsPCFactionOrMinion) || chara.Dist(EClass.pc) < 5))
{
EClass.player.listCarryoverMap.Add(chara);
}
}
}
foreach (Chara item2 in EClass.player.listCarryoverMap)
{
EClass._zone.RemoveCard(item2);
}public override void Die(Element e = null, Card origin = null, AttackSource atta
cs
chara2.MakeMinion((origin.IsPCParty || origin.IsPCPartyMinion) ? EClass.pc : origin.Chara, MinionType.Friend);
Msg.Say("plant_pop", this, chara2);
}
EClass._zone.OnCharaDie();
EClass._zone.RefreshDeathSentense();
EClass._zone.events.OnCharaDie(this);
}ConTransmuteMimic
cs
public override void OnBeforeStart()
{
List<Thing> list = owner.things.List((Thing t) => !t.IsMultisize && t.c_isImportant, onlyAccessible: true);
List<Thing> list = owner.things.List((Thing t) => !t.source.multisize && t.c_isImportant, onlyAccessible: true);
if (list.Count == 0)
{
list = owner.things.List((Thing t) => !t.IsMultisize && !t.isEquipped, onlyAccessible: true);
list = owner.things.List((Thing t) => !t.source.multisize && !t.isEquipped, onlyAccessible: true);
}
if (list.Count > 0)
{Dialog
public static Dialog List<TValue>(string langDetail, ICollection<TValue> items,
cs
return d;
}
public static void TryWarn(string lang, Action action, bool yes = true)
public static void TryWarn(string lang, Action action, bool yes = true, string text = null)
{
Dialog d = Layer.Create<Dialog>();
d.textDetail.SetText(lang.lang() + " ");
d.textDetail.SetText(text ?? (lang.lang() + " "));
d.SetOnKill(delegate
{
ELayer.core.actionsNextFrame.Add(delegatepublic static void TryWarn(string lang, Action action, bool yes = true)
cs
{
d.list.AddButton(null, Lang.Get("no_dontask"), delegate
{
string text = lang;
if (!(text == "warn_parallels"))
string text2 = lang;
if (!(text2 == "warn_parallels"))
{
if (text == "warn_linuxMod")
if (text2 == "warn_linuxMod")
{
ELayer.core.config.ignoreLinuxModWarning = true;
}public static void TryWarnSlaughter(Action action, Chara c)
cs
}
else
{
TryWarn("warn_slaughter".lang(c.Name), action);
TryWarn("warn_slaughter", action, yes: true, "warn_slaughter".lang(c.Name));
}
}Player
cs
public PlayingSong playingSong;
public List<Chara> listSummon = new List<Chara>();
public List<Chara> listCarryoverMap = new List<Chara>();
public int autoCombatStartHP;RecipeCard
cs
"meal_egg" => "fail_egg",
"meal_rice" => "fail_rice",
"meal_soup" => "fail_drink",
"meal_cookie" => "fail_nuts",
_ => "fail_dish",
};
}RendererReplacer
public class RendererReplacer : EClass
cs
public static RendererReplacer CreateFrom(string id, int shift = 0, int mat = -1)
{
CardRow cardRow = EClass.sources.cards.map[id];
CardRow cardRow = EClass.sources.cards.map.TryGetValue(id);
if (cardRow == null || cardRow.tiles.Length == 0)
{
cardRow = EClass.sources.cards.map["money2"];
}
return new RendererReplacer
{
tile = cardRow._tiles[0] + shift,SerializedCards
public void Restore(Map map, Map orgMap, bool addToZone, PartialMap partial = nu
cs
{
card2.Chara.ScaleByPrincipal();
}
if (isUserZone)
{
card2.isNPCProperty = true;
}
}
if (card2.trait is TraitFakeTile)
{Zone
cs
}
foreach (Chara c3 in map.serializedCharas)
{
if (c3.c_uidMaster == 0 || EClass.player.listSummon.Find((Chara c2) => c2.uid == c3.uid) == null)
if (c3.c_uidMaster == 0 || EClass.player.listCarryoverMap.Find((Chara c2) => c2.uid == c3.uid) == null)
{
map.charas.Add(c3);
map.AddCardOnActivate(c3);cs
}
if (!EClass.game.isLoading)
{
foreach (Chara chara2 in EClass._map.charas)
{
if (chara2.HasCondition<ConDeathSentense>())
{
chara2.RemoveCondition<ConDeathSentense>();
}
}
RefreshDeathSentense();
}
RefreshCriminal();
EClass._map.rooms.AssignCharas();cs
}
}
public void OnCharaDie()
public void RefreshDeathSentense()
{
foreach (Chara chara in EClass._map.charas)
{public void AddGlobalCharasOnActivate()
cs
map.AddCardOnActivate(c);
}
}
foreach (Chara item in EClass.player.listSummon)
foreach (Chara item in EClass.player.listCarryoverMap)
{
Point nearestPoint = spawnPosPC.GetNearestPoint(allowBlock: false, allowChara: false, allowInstalled: true, ignoreCenter: true);
item.enemy = null;public void AddGlobalCharasOnActivate()
cs
map.charas.Add(item);
map.AddCardOnActivate(item);
}
EClass.player.listSummon.Clear();
EClass.player.listCarryoverMap.Clear();
}
public void Deactivate()