EA 23.307 Stable โ
May 18, 2026
9 files modified.
Important Changes โ
None.
ActTelekinesis โ
public override bool CanPerform()
cs
{
return false;
}
if (!Act.CC.IsPC && Act.CC.Dist(Act.TC) != 1)
if (!Act.CC.IsPC && (Act.CC.Dist(Act.TC) != 1 || Act.TC.isThing))
{
return false;
}Cell โ
cs
}
bool IsAutoTileEdge(Cell cell)
{
if ((!sourceFloor.isBeach || !cell.sourceFloor.isBeach) && (cell._floor != _floor || cell._floorMat != _floorMat))
if (!sourceFloor.isBeach && !cell.sourceFloor.isBeach && (cell._floor != _floor || cell._floorMat != _floorMat))
{
return true;
}bool IsBridgeAutoTileEdge(Cell cell)
cs
}
bool IsDecoAutoTileEdge(Cell cell)
{
if (cell._deco != _deco)
if (cell._deco != _deco || cell._decoMat != _decoMat)
{
return true;
}Chara โ
cs
hygiene.Mod(2);
}
}
if (cell.sourceFloor.id == 20)
if (cell.sourceSurface.id == 20)
{
AddCondition<ConBurning>();
}GameUpdater โ
public override void FixedUpdate()
cs
EClass._map.SetEffect(pos.x, pos.z);
}
}
if (cell.sourceSurface.id == 20 && EClass.rnd(10) == 0)
{
EClass._map.TryShatter(pos, 910, 100);
}
x++;
if (x >= base.Size)
{GoalCombat โ
public override IEnumerable<Status> Run()
cs
}
owner.calmCheckTurn--;
}
string text = owner.id;
if ((text == "big_daddy" || text == "big_daddy2") && !owner.IsPCFactionOrMinion)
if (owner.trait is TraitBigDaddy && !owner.IsPCFactionOrMinion)
{
foreach (Chara chara in EClass._map.charas)
{
if (!chara.IsPCFaction && !chara.IsInCombat && chara != owner)
if (!chara.IsPCFactionOrMinion && !chara.IsInCombat && chara != owner && chara.trait is TraitBigDaddy)
{
chara.GoHostile(tc);
}public override IEnumerable<Status> Run()
cs
yield return Success();
}
idleCount = 0;
text = owner.source.aiIdle;
if (text == "stand" || text == "root")
string aiIdle = owner.source.aiIdle;
if (aiIdle == "stand" || aiIdle == "root")
{
yield return Success();
}InvOwnerGene โ
public override bool ShouldShowGuide(Thing t)
cs
public override void _OnProcess(Thing t)
{
DNA.Type type = t.c_DNA.type;
if (type != 0 && tg.c_genes != null)
if (type != 0)
{
int num = t.c_DNA.slot;
if (num > 1 && tg.HasElement(1237))Map โ
public void TryShatter(Point pos, int ele, int power)
cs
}
list.Shuffle();
int num = 0;
bool flag = false;
foreach (Card item3 in list)
{
if (!item3.trait.CanBeDestroyed || item3.category.IsChildOf("currency") || item3.trait is TraitDoor || item3.trait is TraitFigure || item3.trait is TraitTrainingDummy || item3.rarity >= Rarity.Legendary)public void TryShatter(Point pos, int ele, int power)
cs
{
continue;
}
bool flag = CanCook(item3);
bool flag2 = CanCook(item3);
string text = "";
if (flag)
if (flag2)
{
if (fire)
{public void TryShatter(Point pos, int ele, int power)
cs
text = "711";
}
}
if (flag && !text.IsEmpty())
if (flag2 && !text.IsEmpty())
{
item3.GetRoot();
Thing thing2 = item3.Split(1);
List<Thing> list4 = new List<Thing>();
list4.Add(thing2);public void TryShatter(Point pos, int ele, int power)
cs
{
ActionMode.Adv.itemLost++;
}
if (!flag)
{
pos.PlayEffect(fire ? "Element/eleFire" : "Element/eleCold");
flag = true;
}
num++;
}
_ValidateInstalled(pos.x, pos.z);TaskBuild โ
public HitResult _GetHitResult(Point p)
cs
}
if (p.Installed != null)
{
if (p.Installed.trait is TraitSeed && !(EClass.pc.held.trait is TraitFertilizer))
if (p.Installed.trait is TraitSeed && !(EClass.pc.held.trait is TraitFertilizer) && !(EClass.pc.held.trait is TraitFloor) && !(EClass.pc.held.trait is TraitFloorDeco))
{
return HitResult.Invalid;
}TraitGeneMachine โ
public override bool OnUse(Chara c)
cs
{
LayerDragGrid.Create(new InvOwnerGene(owner, target));
}
return true;
return false;
}
}