EA 23.226 Nightly
October 28, 2025
8 files modified.
Important Changes
None.
Card
cs
{
a = a * GetExpMtp() / 100;
exp += a;
while (exp >= ExpToNext)
while (exp >= ExpToNext && exp > 0 && ExpToNext > 0)
{
exp -= ExpToNext;
LevelUp();public Thing MakeMilk(bool effect = true, int num = 1, bool addToZone = true, Bl
cs
{
num2 = 0;
}
if (num2 >= 10)
if (num2 >= 10 && !HasElement(1290))
{
thing.SetEncLv(num2 / 10);
}public virtual int GetPrice(CurrencyType currency = CurrencyType.Money, bool sel
cs
}
switch (currency)
{
case CurrencyType.Money:
if (id == "crimale2")
{
return 6480;
}
break;
case CurrencyType.Influence:
switch (id)
{Chara
public void Revive(Point p = null, bool msg = false)
cs
sleepiness.value = 0;
hostility = OriginalHostility;
RemoveCondition<StanceTaunt>();
if (id == "keeper_garden" && base.LV < 10000000)
if (id == "keeper_garden")
{
SetLv(base.LV * 10 + 9);
base.hp = MaxHP;
mana.value = mana.max;
stamina.value = stamina.max;
bossText = true;
SaiyanRevive();
}
if (IsPC)
{public void Revive(Point p = null, bool msg = false)
cs
}
}
public void SaiyanRevive()
{
ModCorruption(-100000);
if (base.LV < 10000000)
{
SetLv(base.LV * 10 + 9);
}
Refresh();
base.hp = MaxHP;
mana.value = mana.max;
stamina.value = stamina.max;
bossText = true;
}
public void MakeGrave(string lastword)
{
if (!EClass._zone.IsRegion)FEAT
cs
}
void ModAttribute(int ele)
{
if (!hint)
{
Debug.Log(A);
Debug.Log(((A == 1) ? 2 : ((A == 2) ? 4 : 5)) * invert);
}
_ = hint;
ModBase(ele, ((A == 1) ? 2 : ((A == 2) ? 4 : 5)) * invert, hide: false);
ModPotential(ele, a * 10);
}GameDate
cs
EClass.world.SendPackage(p);
}
}
if (base.day == 30 && base.month == 10 && (EClass.game.quests.IsStarted<QuestDebt>() || EClass.debug.enable))
{
Thing thing2 = ThingGen.Create("parchment");
thing2.SetStr(53, "letter_crimale");
Thing p2 = ThingGen.CreateParcel(null, ThingGen.Create("crimale2"), thing2);
EClass.world.SendPackage(p2);
}
if (base.day == 25 && base.month == 12)
{
EClass.world.SendPackage(ThingGen.Create("box_xmas"));GoalCombat
public override IEnumerable<Status> Run()
cs
{
yield return Success();
}
if (idleCount > 1 && owner.id == "keeper_garden" && owner.enemy != null)
{
owner.Teleport(owner.enemy.pos.GetNearestPoint(allowBlock: false, allowChara: false, allowInstalled: true, ignoreCenter: true, 3) ?? EClass._map.GetRandomSurface(), silent: false, force: true);
yield return Success();
}
if (idleCount > 2)
{
if (dontWander)ThingContainer
public void AddCurrency(Card owner, string id, int a, SourceMaterial.Row mat = n
cs
ListCurrency(id);
foreach (Thing temp in tempList)
{
if (!(temp.id != id) && (mat == null || temp.material == mat))
if (!(temp.id != id) && (mat == null || temp.material == mat) && temp.Num + num > 0)
{
if (num > 0)
{public void AddCurrency(Card owner, string id, int a, SourceMaterial.Row mat = n
cs
{
thing.ChangeMaterial(mat);
}
owner.AddThing(thing).SetNum(num);
owner.AddThing(thing, tryStack: false).SetNum(num);
}
}Trait
public void OnBarter(bool reroll = false)
cs
{
AddThing(item2);
}
AddThing(ThingGen.Create("crimale2"));
}
else
{public void OnBarter(bool reroll = false)
cs
Add("bullet_energy", 1, 0).SetNum(100 + EClass.rnd(100)).ChangeMaterial("iron");
break;
case ShopType.Magic:
if ((EClass._zone.id == "lumiest" && EClass._zone.lv == 0) || (EClass._zone.id != "lumiest" && EClass.rnd(4) == 0))
if (!Guild.Mage.IsMember && ((EClass._zone.id == "lumiest" && EClass._zone.lv == 0) || (EClass._zone.id != "lumiest" && EClass.rnd(4) == 0)))
{
t.AddThing(ThingGen.Create("letter_trial"));
}public void OnBarter(bool reroll = false)
cs
{
thing11.c_IDTState = 0;
}
if (CurrencyType == CurrencyType.Money && (thing11.category.IsChildOf("meal") || thing11.category.IsChildOf("preserved")) && thing11.id != "ration")
if (CurrencyType == CurrencyType.Money && (thing11.category.IsChildOf("meal") || thing11.category.IsChildOf("preserved")) && thing11.id != "ration" && !thing11.IsUnique)
{
thing11.c_priceFix = -70;
}TraitDoor
public virtual bool CanClose()
cs
public virtual bool IsOpen()
{
if (owner.isRoofItem)
{
return false;
}
int dir = owner.dir;
Cell cell = owner.pos.cell;
if (dir == 0 || dir == 2)