Skip to content

EA 23.295 Stable Patch 2

April 15, 2026

11 files modified.

Important Changes

None.

AI_Fuck

void SuccubusExp(Chara c, Chara tg)

cs
		{
			if (c.elements.ValueWithoutLink(item.id) < item.ValueWithoutLink)
			{
				c.elements.ModTempPotential(item.id, Mathf.Min(EClass.rnd(item.ValueWithoutLink - c.elements.ValueWithoutLink(item.id) / 5), (variation == Variation.Succubus) ? 400 : 100)); 
				c.elements.ModTempPotential(item.id, Mathf.Min(EClass.rnd(item.ValueWithoutLink - c.elements.ValueWithoutLink(item.id) / 5), (variation == Variation.MotherMilk) ? 100 : 500)); 
				c.Say("succubus_exp", c, item.Name.ToLower());
				break;
			}

AI_Idle

public override IEnumerable<Status> Run()

cs
							break;
						}
					}
					if (owner.id == "priest" && !owner.IsPCParty && owner.Dist(EClass.pc) <= 4) 
					if ((owner.id == "priest" || owner.id == "priest2") && !owner.IsPCParty && owner.Dist(EClass.pc) <= 4) 
					{
						if (EClass.pc.hp < EClass.pc.MaxHP)
						{

public override IEnumerable<Status> Run()

cs
							{
								owner.AddCooldown(actHeal.id, 5);
								owner.Talk("no_problem");
								Steam.GetAchievement(ID_Achievement.PRIEST); 
							}
						}
						else if (!EClass.pc.HasCondition<ConHolyVeil>() && owner.UseAbility(8500, EClass.pc, null, pt: true))

ConHOT

public class ConHOT : Timebuff

cs
{
	public override void Tick()
	{
		Dice dice = Dice.Create("SpHOT", base.power); 
		owner.HealHP(dice.Roll(), HealSource.HOT); 
		if (owner.hp < owner.MaxHP) 
		{ 
			Dice dice = Dice.Create("SpHOT", base.power); 
			owner.HealHP(dice.Roll(), HealSource.HOT); 
		} 
		Mod(-1);
	}

DramaCustomSequence

public void Build(Chara c)

cs
	{
		if (c.affinity.CanBecomeMama() || EClass.pc.faith == EClass.game.religions.MoonShadow || EClass.debug.enable)
		{
			Steam.GetAchievement(ID_Achievement.MAMA); 
			TempTalkTopic("mama_yes", StepEnd);
			EClass.pc.SetAI(new AI_Fuck
			{

FactionBranch

public void AddMemeber(Chara c)

cs
		case "melilith":
			Steam.GetAchievement(ID_Achievement.MELILITH);
			break;
		case "priest":
		case "priest2":
			Steam.GetAchievement(ID_Achievement.PRIEST2); 
			break; 
		}
	}

GameDate

public void ShipGoods()

cs
		if (thing3.trait.CanBeShipped)
		{
			int price = thing3.GetPrice(CurrencyType.Money, sell: true, PriceType.Shipping);
			int num5 = price * thing3.Num; 
			long num5 = (long)price * (long)thing3.Num; 
			num3 += num5;
			num += thing3.Num;
			num2 += EClass.rndHalf(thing3.Num * Mathf.Min(15 + price, 10000) / 100 + 1);

public void ShipGoods()

cs
			});
		}
	}
	if (num3 > int.MaxValue) 
	{ 
		num3 = 2147483647L; 
	} 
	if (list.Count == 0)
	{
		return;

public void ShipGoods()

cs
	Thing thing = null;
	Thing thing2 = null;
	string text = "";
	long num6 = 0L; 
	if (num3 > int.MaxValue) 
	{ 
		num6 = num3 - int.MaxValue; 
		num3 = 2147483647L; 
	} 
	if (num3 > 0)
	{
		thing = ThingGen.Create("money").SetNum((int)num3);

public void ShipGoods()

cs
		{
			EClass.pc.Pick(thing2);
		}
		while (num6 > 0) 
		{ 
			int num7 = 0; 
			if (num6 > int.MaxValue) 
			{ 
				num7 = int.MaxValue; 
				num6 -= int.MaxValue; 
			} 
			else
			{ 
				num7 = (int)num6; 
				num6 = 0L; 
			} 
			Thing t = ThingGen.Create("money").SetNum(num7); 
			EClass.pc.PickOrDrop(EClass.pc.pos, t); 
		} 
	}

	public void ShipPackages()

ID_Achievement

public enum ID_Achievement

cs
	JURE,
	BELL,
	NERUN2,
	OYS 
	OYS, 
	MAMA, 
	PRIEST, 
	PRIEST2 
}

LayerShippingResult

public void Refresh()

cs
	FactionBranch branch = (ELayer.game.spatials.Find(result.uidZone) ?? ELayer.pc.homeZone).branch;
	float num = (float)update / (float)maxUpdate;
	long income = result.GetIncome();
	income = (int)((float)income * num); 
	income = (long)((float)income * num); 
	long num2 = result.total + income;
	textIncome.text = Lang._currency(income, showUnit: true);
	textIncomeTotal.text = Lang._currency(num2, showUnit: true);

Map

public void TryShatter(Point pos, int ele, int power)

cs
				}
				if (list3.Count > 0)
				{
					text = list3.RandomItem().id; 
					text = list3.RandomItemWeighted((SourceThing.Row r) => r.chance)?.id; 
				}
			}
			else

RendererReplacer

public class RendererReplacer : EClass

cs
public static RendererReplacer CreateFrom(string id, int shift = 0, int mat = -1)
{
	CardRow cardRow = EClass.sources.cards.map.TryGetValue(id);
	if (cardRow == null || cardRow.tiles.Length == 0) 
	if (cardRow == null || cardRow._tiles.Length == 0) 
	{
		cardRow = EClass.sources.cards.map["money2"];
	}

ShippingResult

public string text

cs
			}
		}

		public int income 
		public long income 
		{
			get
			{
				return _strs[1].ToInt(); 
				return _strs[1].ToLong(); 
			}
			set
			{