EA 23.341 Nightly โ
September 1, 2026
12 files modified.
Important Changes โ
None.
ActEffect โ
void AddCon<T>(int rate, int p2) where T : Condition
{
CC.PlaySound("spell_missile");
});
for (int num9 = 0; num9 < 8 + EClass.rnd(5); num9++)
for (int num9 = 0; num9 < 6 + EClass.rnd(7); num9++)
{
list7.Clear();
list7.Add(list8.RandomItem());ButtonGrid โ
public void SetCard(Card c, Mode mode = Mode.Default, Action<UINote> onWriteNoteโฆ)
}
if (c.IsIdentified)
{
BlessedState blessedState2 = c.blessedState;
if (blessedState2 != BlessedState.Normal)
if (c.GetBool(135))
{
Attach("status_" + blessedState2);
Attach("status_SleepLock");
}
else
{
BlessedState blessedState2 = c.blessedState;
if (blessedState2 != BlessedState.Normal)
{
Attach("status_" + blessedState2);
}
}
}
elseChara โ
public bool UseAbility(Act a, Card tc = null, Point pos = null, bool pt = false)
}
else
{
if (IsPC && HasElement(1274) && a.vPotential < 0 && !flag2 && !a.HasTag("dontForget"))
if (IsPC && a.vPotential < 0 && !flag2 && !a.HasTag("dontForget"))
{
Msg.Say("noSpellStock");
EInput.Consume();DNA โ
public void WriteNoteExtra(UINote n, Thing owner, Chara tg)
int num2 = tg.MaxGeneSlot - tg.CurrentGeneSlot;
int num3 = num2 - num;
int maxGeneSlot = tg.MaxGeneSlot;
if (owner == null || !(owner.category.id == "relic"))
{
n.AddText("gene_hint_slot".lang(num2.ToString() ?? "", num3.ToString() ?? "", maxGeneSlot.ToString() ?? ""), (num3 >= 0) ? FontColor.Good : FontColor.Bad);
}
n.AddText("gene_hint_slot".lang(num2.ToString() ?? "", num3.ToString() ?? "", maxGeneSlot.ToString() ?? ""), (num3 >= 0) ? FontColor.Good : FontColor.Bad);
int num4 = cost * tg.GeneCostMTP / 100;
int num5 = tg.feat - num4;
n.AddText("gene_hint_cost".lang(tg.feat.ToString() ?? "", num4 + ((num4 == cost) ? "" : ("(" + cost + ")")), num5.ToString() ?? ""), (num5 >= 0) ? FontColor.Good : FontColor.Bad); i -= 2;
}
}
cost /= 5;
cost = cost * Mathf.Clamp(slot, 1, 10) / 10;
return this;
}
}HotItemEQSet โ
public HotItemEQSet Register()
ids.Clear();
foreach (BodySlot slot in EClass.pc.body.slots)
{
if (slot.elementId != 44 && slot.thing != null)
if (slot.elementId != 44 && slot.thing != null && slot.elementId != 46)
{
ids.Add(slot.thing.uid);
}public override void Perform()
Dictionary<int, Thing> dictionary = new Dictionary<int, Thing>();
foreach (BodySlot slot2 in EClass.pc.body.slots)
{
if (slot2.elementId != 44 && slot2.thing != null && slot2.thing.blessedState >= BlessedState.Normal)
if (slot2.elementId != 44 && slot2.thing != null && slot2.thing.blessedState >= BlessedState.Normal && slot2.thing.category.id != "relic")
{
dictionary.Add(slot2.thing.c_equippedSlot - 1, slot2.thing);
EClass.pc.body.Unequip(slot2.thing, refresh: false);InvOwner โ
public virtual bool AllowHold(Thing t)
{
return false;
}
if (t.isEquipped && t.IsCursed)
if (t.isEquipped)
{
return false;
if (t.IsCursed)
{
return false;
}
if (t.GetBool(135))
{
return false;
}
}
if (Container.isChara && !Container.IsPC)
{public virtual void OnClick(ButtonGrid button)
return;
}
bool flag = false;
if (card.Thing.isEquipped && card.Thing.IsEquipmentOrRanged && card.Thing.IsCursed)
if (card.Thing.isEquipped && card.GetBool(135))
{
SE.Play("curse3");
}
else if (card.Thing.isEquipped && card.Thing.IsEquipmentOrRanged && card.Thing.IsCursed)
{
SE.Play("curse3");
}InvOwnerChangeRarity โ
public override Thing CreateDefaultContainer()
public override bool ShouldShowGuide(Thing t)
{
if (t.IsEquipment && t.rarity <= Rarity.Legendary && !t.HasTag(CTAG.godArtifact))
if (t.IsEquipment && t.rarity <= Rarity.Legendary && !t.HasTag(CTAG.godArtifact) && !t.IsLightsource)
{
return !t.IsLightsource;
return t.category.id != "relic";
}
return false;
}InvOwnerEnchant โ
public override Thing CreateDefaultContainer()
public override bool ShouldShowGuide(Thing t)
{
return t.category.IsChildOf(armor ? "armor" : "weapon");
if (t.category.IsChildOf(armor ? "armor" : "weapon"))
{
return t.category.id != "relic";
}
return false;
}
public override void _OnProcess(Thing t)AssemblyInfo โ
using System.Security;
using System.Security.Permissions;
[assembly: AssemblyFileVersion("0.23.340.3")]
[assembly: AssemblyInformationalVersion("0.23.340.3+Nightly")]
[assembly: AssemblyMetadata("GameVersion", "0.23.340.3")]
[assembly: AssemblyMetadata("GameVersionText", "EA 23.340 Patch 3")]
[assembly: AssemblyMetadata("GameVersionInt", "23340")]
[assembly: AssemblyFileVersion("0.23.341.0")]
[assembly: AssemblyInformationalVersion("0.23.341.0+Nightly")]
[assembly: AssemblyMetadata("GameVersion", "0.23.341.0")]
[assembly: AssemblyMetadata("GameVersionText", "EA 23.341")]
[assembly: AssemblyMetadata("GameVersionInt", "23341")]
[assembly: AssemblyMetadata("ReleaseChannel", "Nightly")]
[assembly: AssemblyVersion("0.0.0.0")]Thing โ
public bool CanAutoFire(Chara c, Card tg, bool reloading = false)
{
Act act = (trait as TraitAbility).act;
Element element = c.elements.GetElement(act.id);
if (act is Spell && (element == null || element.vPotential == 0))
if (act is Spell && (element == null || (element.vPotential == 0 && !EClass.pc.ability.Has(element.id))))
{
return false;
}public override void WriteNote(UINote n, Action<UINote> onWriteNote = null, IInsโฆ)
trait.WriteNote(n, flag2);
if (base.c_DNA != null)
{
bool flag3 = EClass.pc.HasElement(1274) && !LayerDragGrid.Instance;
bool flag3 = EClass.pc.HasElement(1274) && !LayerDragGrid.Instance && base.category.id != "relic";
if (base.c_DNA.cost > 0)
{
n.AddText("NoteText_enc", "isCostFeatPoint".lang((flag3 ? (base.c_DNA.cost * EClass.pc.GeneCostMTP / 100 + " (" + base.c_DNA.cost + ")") : ((object)base.c_DNA.cost))?.ToString() ?? ""));TraitBookSecret โ
public class TraitBookSecret : TraitBookExp
{
public override void OnRead(Chara c)
{
if (c.IsPC && EClass.player.stats.kumi >= 5)
{
c.Say("book_secret2", c);
return;
}
c.Say("book_secret", c);
c.Say("dingExp", c);
c.feat += (c.IsPC ? 1 : 4);TraitMannequin โ
public override bool OnUse(Chara c)
{
foreach (Thing item in list)
{
owner.AddCard(item);
if (!(item.category.id == "relic"))
{
owner.AddCard(item);
}
}
}
elsepublic override bool OnUse(Chara c)
}
foreach (Thing item2 in list)
{
owner.AddCard(item2);
if (!(item2.category.id == "relic"))
{
owner.AddCard(item2);
}
}
foreach (Thing item3 in list2)
{