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);
}
}
elsepublic 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