EA 23.216 Nightly
October 10, 2025
7 files modified. 1 new file created.
Important Changes
None.
Card
public Card ChangeMaterial(SourceMaterial.Row row, bool ignoreFixedMaterial = fa
cs
LayerInventory.SetDirty(Thing);
}
ApplyMaterial();
Debug.Log(id + "/" + row.alias);
return this;
}
Chara
public override void OnCreate(int genLv)
cs
_race = null;
_job = null;
num = 10 + EClass.rnd(40);
ChangeMaterial(race.material, ignoreFixedMaterial: true);
}
bio = new Biography();
bio.Generate(this);
public override void OnCreate(int genLv)
cs
_idTimeTable = ((EClass.rnd(5) == 0) ? 1 : 0);
ApplyRace();
ApplyJob();
Debug.Log(source.defMat);
ChangeMaterial(source.defMat.IsEmpty(race.material), ignoreFixedMaterial: true);
if (num != source.LV)
{
SetLv(num);
public override void OnCreate(int genLv)
cs
SetFeat(1644, j + 1);
}
}
if (id == "putty_mech")
string text = id;
if (text == "putty_mech_b" || text == "putty_mech")
{
SetFeat(1248, 1 + EClass.rnd(5));
}
public override void OnCreate(int genLv)
cs
}
switch (id)
{
case "golem_wood":
ChangeMaterial("pine");
break;
case "golem_steel":
ChangeMaterial("steel");
break;
case "golem_gold":
ChangeMaterial("gold");
break;
case "dodo":
base.idSkin = EClass.rnd(4);
break;
public void ChangeRace(string idNew)
cs
base.c_idRace = idNew;
_race = null;
ApplyRace();
ChangeMaterial(race.material);
ChangeMaterial(source.defMat.IsEmpty(race.material));
}
public void MakePartyMemeber()
public void RestockEquip(bool onCreate)
cs
case "mech_scarab":
AddThing("gun_laser");
break;
case "rocketman":
AddThing("panzerfaust");
break;
default:
switch (equip)
{
Dice
cs
using System;
using UnityEngine;
public class Dice
cs
public Card card;
public static int MaxValue => 214748364;
public static int Roll_Normal(long num, long sides, int bonus = 0)
{
double num2 = (double)(num * (sides + 1)) / 2.0;
double num3 = Math.Sqrt((double)(num * (sides * sides - 1)) / 12.0);
double d = (double)(rnd(1000000) + 1) / 1000001.0;
double num4 = (double)(rnd(1000000) + 1) / 1000001.0;
double num5 = Math.Sqrt(-2.0 * Math.Log(d)) * Math.Cos(Math.PI * 2.0 * num4);
long num6 = (long)Math.Floor(num2 + num3 * num5 + 0.5);
long num7 = num * sides;
if (num6 < num)
{
num6 = num;
}
if (num6 > num7)
{
num6 = num7;
}
return (int)Mathf.Clamp(num6 + bonus, -MaxValue, MaxValue);
}
public static int Roll_Precise(int num, int sides, int bonus = 0)
{
long num2 = 0L;
for (int i = 0; i < num; i++)
{
num2 += rnd(sides) + 1;
}
return (int)Mathf.Clamp(num2 + bonus, -MaxValue, MaxValue);
}
public static int Roll(int num, int sides, int bonus = 0, Card card = null)
{
int a = 1;
bool flag = true;
long num2 = 0L;
int num2 = 0;
if (card != null)
{
int num3 = card.Evalue(78);
public static int Roll(int num, int sides, int bonus = 0, Card card = null)
cs
}
for (int i = 0; i < Mathf.Min(a, 20); i++)
{
long num4 = Roll();
int num4 = ((num >= 10) ? Roll_Normal(num, sides, bonus) : Roll_Precise(num, sides, bonus));
if (i == 0 || (flag && num4 > num2) || (!flag && num4 < num2))
{
num2 = num4;
}
}
return (int)Mathf.Clamp(num2, -214748370f, 214748370f);
long Roll()
{
if (num >= 100)
{
return (long)num * (long)(rnd(sides) + 1);
}
long num5 = 0L;
for (int j = 0; j < num; j++)
{
num5 += rnd(sides) + 1;
}
return num5 + bonus;
}
return num2;
}
public static int RollMax(int num, int sides, int bonus = 0)
{
return (int)Mathf.Clamp((long)num * (long)sides + bonus, -2.1474836E+09f, 2.1474836E+09f);
return (int)Mathf.Clamp((long)num * (long)sides + bonus, -MaxValue, MaxValue);
}
public static int rnd(int a)
+GrowSystemSunFlower
File Created
cs
public class GrowSystemSunFlower : GrowSystemFlower
{
}
RenderRow
cs
{
useAltColor = true;
}
DefaultMaterial = sources.materials.alias[defMat];
DefaultMaterial = sources.materials.alias[defMat.IsEmpty("granite")];
}
public virtual void SetTiles()
TaskDump
public override void OnCancelOrSuccess()
cs
public bool IsValidContainer(Thing c)
{
if ((!c.ExistsOnMap && !c.IsInstalled) || !c.CanSearchContents)
if (!c.ExistsOnMap || !c.IsInstalled || !c.CanSearchContents)
{
return false;
}
TraitDrinkMilkMother
public override void OnDrink(Chara c)
cs
{
if (c.Evalue(1232) > 0)
{
c.isScaled = true;
c.SetFeat(1232, c.Evalue(1232) - 1);
int uidNext = EClass.game.cards.uidNext;
EClass.game.cards.uidNext = 1;
WindowCharaMini
public void Refresh(int idTab)
cs
note.SetActive(enable: true);
note.AddText("feat_pet".lang(chara.feat.ToString() ?? "", num.ToString() ?? ""));
note.AddText("feat_inferior".lang(chara.CurrentGeneSlot.ToString() ?? "", chara.MaxGeneSlot.ToString() ?? "", ((genes != null) ? genes.inferior : 0).ToString() ?? ""));
if (!chara.isScaled)
{
note.AddText("feat_pet_type1".lang());
}
note.AddText((chara.isScaled ? "feat_pet_type2" : "feat_pet_type1").lang());
note.Space(8);
foreach (CharaUpgrade.Item item6 in upgrades.items)
{