Skip to content

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

using System;

cs
using System; 
using UnityEngine;

public class Dice

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

public void SetRenderData()

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)
		{