EA 23.260 Stable Patch 1
January 15, 2026
9 files modified.
Important Changes
None.
ACT
public bool CanPerform(Chara _cc, Card _tc = null, Point _tp = null)
cs
}
}
}
if (!(this is ActMelee) && tt.Range == TargetRange.Chara && (TC == null || !CC.CanSee(TC) || (TC.Chara?.mimicry != null && CC != TC)))
if (!(this is ActMelee) && tt.Range == TargetRange.Chara && (TC == null || !CC.CanSee(TC) || (TC.Chara?.mimicry != null && CC.IsPC && TC != EClass.pc)))
{
return false;
}Chara
cs
case 2:
if (parasite != null)
{
ModExp(227, (EClass._zone.IsRegion ? 5 : 40) * 100 / Mathf.Max(100, 100 + (elements.Base(227) - parasite.LV) * 25));
ModExp(227, (int)((EClass._zone.IsRegion ? 5 : 40) + parasite.affinity.CurrentStage));
}
if (ride != null)
{
ModExp(226, (EClass._zone.IsRegion ? 5 : 40) * 100 / Mathf.Max(100, 100 + (elements.Base(226) - ride.LV) * 25));
ModExp(226, (int)((EClass._zone.IsRegion ? 5 : 40) + ride.affinity.CurrentStage));
}
break;
case 3:DramaCustomSequence
cs
c.MoveZone(c.homeZone);
}
});
Goto("_bye");
Goto("_end");
Step("_banish");
Goto("_bye");
Step("_makeLivestock");cs
c.Talk("bye");
});
End();
Step("_end");
End();
void BackChill()
{
Method(RumorChill, null, StepDefault);GoalCombat
cs
public bool pt;
public bool aiPt;
public bool aiSelf;
}
public Chara destEnemy;TraitBaseSpellbook
public override bool TryProgress(AIProgress p)
cs
return false;
}
int diff = Mathf.Max(1, Difficulty * ((owner.blessedState >= BlessedState.Blessed) ? 75 : ((owner.blessedState <= BlessedState.Cursed) ? 300 : 100)) / 100);
int check = Mathf.Max(1, (int)((long)c.Evalue(eleParent) * (long)(100 + c.Evalue(285) * 10) / 100));
long num = (long)c.Evalue(eleParent) * (long)(100 + c.Evalue(285) * 10) / 100;
int check = Mathf.Max(1, (int)((num >= 21474836) ? 21474836 : num));
if (ReadCheck() || EClass.debug.godMode || owner.HasEditorTag(EditorTag.NoReadFail))
{
return true;TraitCoffin
public override void Prespawn(int lv)
cs
ThingGen.CreateTreasureContent(owner.Thing, lv, TreasureType.RandomChest, clearContent: true);
return;
}
PutChara(EClass.sources.charas.rows.Where((SourceChara.Row r) => r.race == "zombie" || r.race == "vampire").RandomItem().id);
PutChara(EClass.sources.charas.rows.Where((SourceChara.Row r) => r.race == "zombie" || r.race == "vampire").ToList().RandomItemWeighted((SourceChara.Row c) => c.chance)
.id);
}
}
} TraitScrollStatic
cs
using UnityEngine;
public class TraitScrollStatic : TraitScroll
{
public override SourceElement.Row sourcepublic override SourceElement.Row source
cs
public virtual string N1 => owner.sourceCard.vals.TryGet(4);
public override Sprite GetRefSprite()
{
if (idEffect == EffectId.Ally)
{
return EClass.sources.elements.alias["ActSummonSpecial"].GetSprite();
}
return base.GetRefSprite();
}
public override bool CanRead(Chara c)
{
return !c.isBlind;TraitSeed
public static Thing MakeSeed(SourceObj.Row obj, PlantData plant = null)
cs
}
}
thing2.SetEncLv(thing.encLV);
thing2.elements.SetBase(2, EClass.curve(thing2.encLV, 50, 10, 80));
thing2.c_refText = thing.c_refText;
thing2.c_seed = thing.c_seed;
int num = plant?.water ?? 0;public static Thing MakeSeed(SourceObj.Row obj, PlantData plant = null)
cs
EClass.pc.PlaySound("seed_level");
}
}
thing2.elements.SetBase(2, EClass.curve(thing2.encLV, 50, 10, 80));
Rand.SetSeed();
}
thing2.SetBlessedState(BlessedState.Normal);UIInventory
cs
bool flag4 = (!con2.isNPCProperty && !con2.isChara && (con2.trait is TraitShippingChest || (con2.GetRoot() is Zone && EMono._zone.IsPCFaction) || con2.GetRootCard() == EMono.pc)) || EMono._zone is Zone_Tent;
if (con2.IsPC)
{
flag4 = true;
flag4 = false;
}
if (con2.trait is TraitChestMerchant)
{