Skip to content

EA 23.82 Patch 5

January 28, 2025

9 files modified. 1 new file created.

Important Changes

None.

AI_Idle

@@ -96,7 +96,7 @@ public override IEnumerable<Status> Run()

cs
					owner.InstantEat(thing, sound: false);
					yield return Restart();
				}
				else
				else if (thing.Num == 1 || !owner.things.IsFull()) 
				{
					yield return Do(new AI_Eat
					{

@@ -195,7 +195,7 @@ public override IEnumerable<Status> Run()

cs
			if (EClass.rnd(20) == 0)
			{
				Thing thing3 = owner.things.Find((Thing a) => a.parent == owner && a.isGifted && (a.category.id == "skillbook" || a.category.id == "ancientbook"));
				if (thing3 != null && thing3.trait.CanRead(owner)) 
				if (thing3 != null && thing3.trait.CanRead(owner) && (thing3.Num == 1 || !owner.things.IsFull())) 
				{
					yield return Do(new AI_Read
					{

AM_Paint

@@ -44,6 +44,11 @@ public override void OnUpdateInput()

cs
	}
	bool flag = true;
	TraitCanvas canvas = painter.GetCanvas();
	if (canvas == null || canvas.owner.GetRootCard() != EClass.pc) 
	{ 
		Deactivate(); 
		return; 
	} 
	if (EClass.ui.isPointerOverUI)
	{
		flag = false;

ActEffect

@@ -268,7 +268,7 @@ public static bool DamageEle(Card CC, EffectId id, int power, Element e, List<Po

cs
						continue;
					}
				}
				if (CC.HasElement(1214) || (!CC.IsPC && (CC.IsPCFaction || CC.IsPCFactionMinion) && EClass.pc.HasElement(1214) && EClass.rnd(5) != 0)) 
				if ((CC.HasElement(1214) || (!CC.IsPC && (CC.IsPCFaction || CC.IsPCFactionMinion) && EClass.pc.HasElement(1214))) && EClass.rnd(5) != 0) 
				{
					continue;
				}

CoreDebug

@@ -913,7 +913,13 @@ public void UpdateInput()

cs
			EClass.pc.Pick(targetChara.MakeBraineCell());
			EClass.pc.Pick(targetChara.MakeEgg(effect: true, 10));
		}
		return; 
		{ 
			foreach (Chara chara in EClass._map.charas) 
			{ 
				chara.hunger.value = 100; 
			} 
			return; 
		} 
	}
	if (Input.GetKeyDown(KeyCode.F3))
	{

@@ -940,9 +946,9 @@ public void UpdateInput()

cs
		{
			EClass.Branch.ModExp(EClass.Branch.GetNextExp());
		}
		foreach (Chara chara in EClass._map.charas) 
		foreach (Chara chara2 in EClass._map.charas) 
		{
			chara.AddExp(chara.ExpToNext); 
			chara2.AddExp(chara2.ExpToNext); 
		}
		EClass.pc.PlayEffect("boost");
		EClass.pc.PlaySound("boost");

@@ -1769,6 +1775,24 @@ public static string Cheat()

cs
		return "Cheat Enabled";
	}

	[ConsoleCommand("")] 
	public static string Fix_LoytelDebt() 
	{ 
		QuestDebt questDebt = EClass.game.quests.Get<QuestDebt>(); 
		if (questDebt == null || questDebt.stage != 6 || EClass.player.debt == 19000000) 
		{ 
			return "Quest Status Not Valid."; 
		} 
		questDebt.stage = 0; 
		questDebt.paid = false; 
		questDebt.gaveBill = true; 
		EClass.player.debt = 20000000; 
		Thing thing = ThingGen.Create("856"); 
		thing.refVal = 109; 
		EClass.pc.Pick(thing); 
		return "Quest Reset!"; 
	} 

	[ConsoleCommand("")]
	public static string Fix_RemoveDuplicateUnique()
	{

FoodEffect

@@ -403,7 +403,7 @@ public static void Proc(Chara c, Thing food)

cs
		Thing thing = ThingGen.Create("seed");
		if (EClass.rnd(EClass.debug.enable ? 2 : 10) == 0)
		{
			TraitSeed.ApplySeed(thing, (EClass.rnd(3) == 0) ? 118 : 90); 
			TraitSeed.ApplySeed(thing, (EClass.rnd(4) == 0) ? 118 : ((EClass.rnd(3) == 0) ? 119 : 90)); 
		}
		thing.SetNum(2 + EClass.rnd(3));
		c.Talk("vomit");

GrowSystem

@@ -255,6 +255,10 @@ public void SetDefaultStage()

cs
		cell.objVal = (byte)(DefaultStage * 30);
	}

	public virtual void OnSetObj() 
	{ 
	} 

	public bool CanGrow(VirtualDate date)
	{
		if (source.id == 0)

@@ -420,6 +424,11 @@ public void SetStage(int idx, bool renewHarvest = false)

cs
		{
			EClass._zone.dirtyElectricity = true;
		}
		OnSetStage(idx); 
	} 

	public virtual void OnSetStage(int idx) 
	{ 
	}

	public bool HaltGrowth()

+GrowSystemTreeCoralwood

File Created
cs
using System.Linq;

public class GrowSystemTreeCoralwood : GrowSystemTreeSingle
{
	public override int GetShadow(int index)
	{
		return 34;
	}

	public override bool BlockPass(Cell cell)
	{
		return true;
	}

	public override bool BlockSight(Cell cell)
	{
		return true;
	}

	public override void OnSetObj()
	{
		GrowSystem.cell.isObjDyed = true;
		GrowSystem.cell.objMat = (byte)EClass.sources.materials.rows.Where((SourceMaterial.Row r) => r.tag.Contains("coral")).RandomItem().id;
	}
}

Map

@@ -1537,6 +1537,7 @@ public void SetObj(int x, int z, int idMat, int idObj, int value, int dir)

cs
	{
		plants.Remove(cell.index);
	}
	cell.growth?.OnSetObj(); 
	Critter.RebuildCritter(cell);
	RefreshNeighborTiles(x, z);
}

OBJ

@@ -3,4 +3,6 @@ public class OBJ : EClass

cs
	public const int rainbow_fruit = 90;

	public const int feywood = 118;

	public const int coralwood = 119; 
}

TraitCanvas

@@ -3,6 +3,8 @@

cs

public class TraitCanvas : Trait
{
	public override bool CanName => true; 

	public virtual bool PointFilter => false;

	public virtual float Scale => 1f;