Skip to content

EA 23.298 Nightly โ€‹

April 24, 2026

10 files modified.

Important Changes โ€‹

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

Trait (1) โ€‹

cs
public void OnBarter(bool reroll = false) 
public virtual void OnBarter(bool reroll = false) 

CardActor โ€‹

public virtual void RefreshSprite()

cs
		break;
	}
	int dir = owner.dir;
	SpriteRenderer spriteRenderer = sr; 
	Sprite sprite2 = (sr.sprite = owner.GetSprite(dir)); 
	Sprite sprite4 = (spriteRenderer.sprite = sprite2); 
	Sprite sprite5 = sprite4; 
	Sprite sprite = owner.GetSprite(dir); 
	if (!sr.sprite) 
	{ 
		sr.sprite = sprite; 
	} 
	sr.flipX = dir == 1 || dir == 3;
	mpb.SetTexture("_MainTex", sprite5.texture); 
	Vector4 value = new Vector4(sprite5.textureRect.min.x / (float)sprite5.texture.width, sprite5.textureRect.min.y / (float)sprite5.texture.height, sprite5.textureRect.max.x / (float)sprite5.texture.width, sprite5.textureRect.max.y / (float)sprite5.texture.height); 
	mpb.SetTexture("_MainTex", sprite.texture); 
	Vector4 value = new Vector4(sprite.textureRect.min.x / (float)sprite.texture.width, sprite.textureRect.min.y / (float)sprite.texture.height, sprite.textureRect.max.x / (float)sprite.texture.width, sprite.textureRect.max.y / (float)sprite.texture.height); 
	mpb.SetVector("_Rect", value);
	mpb.SetFloat("_PixelHeight", sprite5.rect.height); 
	mpb.SetFloat("_PixelHeight", sprite.rect.height); 
	if (!sr2)
	{
		return;

public virtual void RefreshSprite()

cs
	if ((bool)sr2.sprite && (bool)sr2.sprite.texture)
	{
		sr2.flipX = dir == 1 || dir == 3;
		sprite5 = sr2.sprite; 
		if ((bool)sprite5) 
		sprite = sr2.sprite; 
		if ((bool)sprite) 
		{
			_ = sprite5.textureRect; 
			value = new Vector4(sprite5.textureRect.min.x / (float)sprite5.texture.width, sprite5.textureRect.min.y / (float)sprite5.texture.height, sprite5.textureRect.max.x / (float)sprite5.texture.width, sprite5.textureRect.max.y / (float)sprite5.texture.height); 
			mpb2.SetTexture("_MainTex", sprite5.texture); 
			_ = sprite.textureRect; 
			value = new Vector4(sprite.textureRect.min.x / (float)sprite.texture.width, sprite.textureRect.min.y / (float)sprite.texture.height, sprite.textureRect.max.x / (float)sprite.texture.width, sprite.textureRect.max.y / (float)sprite.texture.height); 
			mpb2.SetTexture("_MainTex", sprite.texture); 
			mpb2.SetVector("_Rect", value);
			mpb2.SetFloat("_PixelHeight", sprite5.rect.height); 
			mpb2.SetFloat("_PixelHeight", sprite.rect.height); 
		}
	}
	else

public virtual void RefreshSprite()

cs

	public virtual void Kill()
	{
		sr.sprite = null; 
		PoolManager.Despawn(base.transform);
	}
}

ConTransmuteHuman โ€‹

public override void OnBeforeStart()

cs
	{
		List<Chara> list = owner.pos.ListCharasInRadius(owner, 5, delegate(Chara c)
		{
			if (c.IsHumanSpeak) 
			if (!c.IsMultisize && c.IsHumanSpeak) 
			{
				CardRenderer renderer = c.renderer;
				if (renderer != null && !renderer.hasActor)

GrowSystem โ€‹

public bool CanGrow(VirtualDate date)

cs
	{
		return false;
	}
	if (GrowUndersea) 
	if (EClass._zone.IsUnderwater) 
	{
		if (EClass._zone.IsUnderwater || cell.sourceFloor.tileType.IsDeepWater) 
		if (!GrowUndersea) 
		{
			return true; 
			return false; 
		}
	}
	else if (EClass._zone.IsUnderwater) 
	else if (cell.sourceFloor.tileType.IsDeepWater) 
	{
		return false; 
		if (!GrowUndersea) 
		{ 
			return false; 
		} 
	}
	if (!GrowOnLand) 
	else if (!GrowOnLand) 
	{
		return false;
	}

LayerPixelPaint โ€‹

public void SetCanvas(TraitCanvas c)

cs
		thing.renderer.RefreshSprite();
		Close();
	};
	paint.scale = c.SizeGrid; 
	paint.size = new Vector2Int(c.Width, c.Height);
	InitPaint();
	if (c.owner.c_textureData != null)

LayerShippingResult โ€‹

using System.Collections.Generic;

cs
using System.Collections.Generic; 
using DG.Tweening;
using UnityEngine;
using UnityEngine.UI;

public class LayerShippingResult : ELayer

cs
	private new void Awake()
	{
		Rand.SetSeed(ELayer.game.seed + ELayer.player.stats.days);
		int num = ELayer.rnd(spriteBG.Length); 
		if (num == 1 && ELayer.game.cards.globalCharas.Find("corgon") == null) 
		List<int> list = new List<int> { 0, 1 }; 
		Add("corgon", 2); 
		Add("loytel", 3); 
		Add("farris", 4); 
		if (ELayer.game.quests.IsCompleted("negotiation_darkness") && !ELayer.player.flags.killedDuponne) 
		{
			num = 0; 
			Add("demitas", 6); 
		}
		if (num == 2 && ELayer.game.cards.globalCharas.Find("loytel") == null) 
		else
		{
			num = 0; 
		} 
		if (num == 3 && ELayer.game.cards.globalCharas.Find("farris") == null) 
		{ 
			num = 0; 
			Add("demitas", 5); 
		}
		int num = list.RandomItem(); 
		imageBG.sprite = spriteBG[num];
		Rand.SetSeed();
		base.Awake();
		void Add(string id, int index) 
		{ 
			Chara chara = ELayer.game.cards.globalCharas.Find(id); 
			if (chara != null && chara.IsPCFaction) 
			{ 
				list.Add(index); 
			} 
		} 
	}

	public void Show()

StanceSongEnd โ€‹

public override void TickSong()

cs
			Act act = Element.Create((EClass.rnd(2) == 0) ? 50402 : ((EClass.rnd(2) == 0) ? 50401 : 50400), owner.CHA) as Act;
			ActEffect.ProcAt(EffectId.Hand, act.GetPower(owner), BlessedState.Normal, owner, item, item.pos, isNeg: true, new ActRef
			{
				act = act 
				act = act, 
				aliasEle = act.source.aliasRef 
			});
		}
	}

Trait โ€‹

public Emo2 GetRestockedIcon()

cs
		return Emo2.none;
	}

	public void OnBarter(bool reroll = false) 
	public virtual void OnBarter(bool reroll = false) 
	{
		Thing t = owner.things.Find("chest_merchant");
		if (t == null)

TraitCanvas โ€‹

public class TraitCanvas : Trait

cs

	public virtual int Height => 28;

	public virtual int SizeGrid => 16; 
	public virtual TraitPainter.Type CanvasType => TraitPainter.Type.Paint;

	public override void OnSetCardGrid(ButtonGrid b)

TraitDrawingPaperM โ€‹

public class TraitDrawingPaperM : TraitDrawingPaper

cs
	public override int Width => 64;

	public override int Height => 64;
	public override int SizeGrid => 15; 
}

TraitToolWaterCan โ€‹

public class TraitToolWaterCan : TraitTool

cs

	public override void TrySetHeldAct(ActPlan p)
	{
		if (p.TrySetAct(new ActDrawWater
		{ 
			waterCan = this
		}, owner)) 
		{ 
			return; 
		} 
		foreach (Chara item in p.pos.ListCharas()) 
		{ 
			if (item.IsPCFactionOrMinion && item.HasCondition<ConBurning>() && p.TrySetAct(new ActWater
			{ 
				waterCan = this
			}, owner)) 
			{ 
				return; 
			} 
		} 
		if (!p.TrySetAct(new TaskWater
		{
			dest = p.pos
		}, owner) && !p.TrySetAct(new ActDrawWater
		{ 
			waterCan = this
		}, owner))
		{
			p.TrySetAct(new ActWater