Skip to content

EA 23.343.2 Nightly โ€‹

September 7, 2026

4 files modified. 1 new file created.

Important Changes โ€‹

Possible breaking changes. Click the filename to view the chunk.

DNA (1) โ€‹

cs
public static Thing GenerateManiGene(Card owner) 
public static void GenerateManiGene(Card owner) 

DNA โ€‹

public static Thing GenerateRandomGene(int lv = -1, int seed = -1)

cs
	return GenerateGene(r, Type.Superior, lv, seed);
}

public static Thing GenerateManiGene(Card owner) 
public static void GenerateManiGene(Card owner) 
{
	owner.things.DestroyAll();
	Debug.Log("Mani:" + owner.c_seed); 
	Rand.SetSeed(owner.c_seed); 
	CardRow r = SpawnList.Get("chara").Select(100); 
	Rand.SetSeed(owner.c_seed); 
	Thing thing = GenerateGene(r, Type.Superior, owner.LV, owner.c_seed); 
	thing.c_DNA.cost = 0; 
	thing.c_DNA.isManiGene = true; 
	thing.ChangeMaterial(36); 
	thing.MakeRefFrom("mani"); 
	Rand.SetSeed(); 
	owner.c_seed++; 
	return thing; 
	for (int i = 0; i < 3; i++) 
	{ 
		Debug.Log("Mani:" + owner.c_seed); 
		Rand.SetSeed(owner.c_seed); 
		CardRow r = SpawnList.Get("chara").Select(100); 
		Rand.SetSeed(owner.c_seed); 
		Thing thing = GenerateGene(r, Type.Superior, owner.LV, owner.c_seed); 
		thing.c_DNA.cost = thing.c_DNA.cost / 2; 
		thing.c_DNA.isManiGene = true; 
		thing.ChangeMaterial(36); 
		thing.MakeRefFrom("mani"); 
		Rand.SetSeed(); 
		owner.c_seed++; 
		owner.AddCard(thing); 
	} 
}

public void Apply(Chara c)

+InvOwnerChoose โ€‹

File Created
cs
public class InvOwnerChoose : InvOwner
{
	public override bool UseGuide => true;

	public InvOwnerChoose(Card owner, Card container = null, CurrencyType _currency = CurrencyType.None)
		: base(owner, container, _currency)
	{
	}

	public override bool ShouldShowGuide(Thing t)
	{
		return t.parent == owner;
	}

	public override bool AllowMoved(Thing t)
	{
		return false;
	}

	public override bool OnCancelDrag(DragItemCard.DragInfo from)
	{
		return false;
	}

	public override void OnClick(ButtonGrid button)
	{
		Process(button);
	}

	public override void OnRightClick(ButtonGrid button)
	{
		Process(button);
	}

	public override void OnRightPressed(ButtonGrid button)
	{
	}

	public bool Process(ButtonGrid button)
	{
		if (!button || button.card == null || button.card.parent != owner)
		{
			return false;
		}
		owner.ChangeMaterial("onyx");
		owner.trait.OnUse(EClass.pc);
		EClass.pc.PickOrDrop(EClass.pc.pos, button.card.Thing);
		owner.things.DestroyAll();
		EClass.ui.CloseLayers();
		return true;
	}
}

LayerInventory โ€‹

public static LayerInventory CreateContainer(Card owner, Card container)

cs
public static LayerInventory CreateContainer<T>(Card c, Card container, CurrencyType currency = CurrencyType.None) where T : InvOwner
{
	TooltipManager.Instance.disableTimer = 0.1f; 
	LayerInventory layerInventory = _Create();
	UIInventory uIInventory = layerInventory.SetInv();
	T owner = Activator.CreateInstance(typeof(T), c, container, currency) as T;

TraitGodStatue โ€‹

public class TraitGodStatue : TraitPowerStatue

cs
public class TraitGodStatue : TraitPowerStatue
{
	public Religion Religion => EClass.game.religions.dictAll[GetParam(1)]; 
	public override Religion Religion => EClass.game.religions.dictAll[GetParam(1)]; 

	public override bool IsImplemented()
	{

public void OnChangeMaterial()

cs
owner.rarity = (owner.isOn ? Rarity.Artifact : Rarity.Normal);
if (Religion.id == "machine")
{
	owner.AddCard(DNA.GenerateManiGene(owner)); 
	DNA.GenerateManiGene(owner); 
}
if (owner.placeState == PlaceState.installed)
{

public override void _OnUse(Chara c)

cs
Religion.Talk("shrine");
switch (Religion.id)
{
case "machine": 
	break; 
case "harvest":
{
	Thing t = ThingGen.Create("book_kumiromi");
	EClass.pc.Pick(t);
	break;
}
case "machine": 
{ 
	Thing t2 = owner.things.Find("gene") ?? DNA.GenerateManiGene(owner); 
	EClass.pc.Pick(t2); 
	break; 
} 
case "healing":
{
	Msg.Say("jure_hug");

TraitPowerStatue โ€‹

public class TraitPowerStatue : TraitItem

cs
public class TraitPowerStatue : TraitItem
{
	public virtual Religion Religion => null; 
	public override bool CanBeDestroyed
	{
		get

public override bool CanBeDestroyed

cs
public override bool UseExtra => owner.isOn;

public override string IDInvStyle => "jewelbox"; 
public override int CostRerollShop => 0; 
public override bool CanStack => false;

public override void OnCreate(int lv)

public override bool OnUse(Chara c)

cs
	Msg.SayNothingHappen();
	return true;
}
if (Religion?.id == "machine" && owner.material.id == 12) 
{ 
	owner.things.SetSize(5, 2); 
	if (owner.things.Count < 3) 
	{ 
		DNA.GenerateManiGene(owner); 
	} 
	LayerInventory.CreateContainer<InvOwnerChoose>(owner, owner); 
	return false; 
} 
Msg.Say("shrine_power", owner);
if (flag)
{