Skip to content

EA 23.71 Nightly hotfix 1

January 1, 2025

7 files modified.

Important Changes

None.

AI_Fuck

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

cs
				int num2 = cc.CHA / 2 + cc.Evalue(237) - tc.CHA * 2;
				int num3 = ((EClass.rnd(cc.CHA / 2 + cc.Evalue(237)) <= EClass.rnd(tc.CHA * num / 100)) ? (-5 + Mathf.Clamp(num2 / 10, -30, 0)) : (5 + Mathf.Clamp(num2 / 20, 0, 20)));
				int a = 20;
				if (tc.IsPCFactionOrMinion && tc.affinity.CurrentStage >= Affinity.Stage.Fond) 
				if (tc.IsPCFactionOrMinion && tc.affinity.CurrentStage >= Affinity.Stage.Love) 
				{
					num3 = ((EClass.rnd(3) == 0) ? 4 : 0);
					a = 10;

Affinity

@@ -144,7 +144,7 @@ public void OnTalkRumor()

cs
	{
		CC.interest -= 10 + EClass.rnd(10);
	}
	if (CC.IsPCFactionOrMinion && CurrentStage >= Stage.Intimate) 
	if (CC.IsPCFactionOrMinion && CurrentStage >= Stage.Love) 
	{
		if (EClass.rnd(4) == 0)
		{

Chara

@@ -3278,7 +3278,7 @@ public void TickConditions()

cs
	{
		int phase = hygiene.GetPhase();
		int num = 0;
		num = ((!IsPC) ? ((phase > 3) ? 50 : 0) : ((phase > 3) ? 50 : 10)); 
		num = ((!IsPC) ? ((phase > 3) ? 50 : 0) : ((phase > 3) ? 50 : 0)); 
		if (num > EClass.rnd(100))
		{
			hygiene.Mod(-1);

FactionBranch

@@ -536,11 +536,14 @@ public void OnSimulateDay(VirtualDate date)

cs
		{
			luckyDay = true;
		}
		Log("lucky_day", EClass._zone.Name); 
		if (luckyDay && date.IsRealTime) 
		if (luckyDay) 
		{
			Msg.Say("lucky_day", EClass._zone.Name); 
			SE.Play("godbless"); 
			Log("lucky_day", EClass._zone.Name); 
			if (date.IsRealTime) 
			{ 
				Msg.Say("lucky_day", EClass._zone.Name); 
				SE.Play("godbless"); 
			} 
		}
	}

Game

@@ -440,6 +440,16 @@ public void OnLoad()

cs
			}
		}
	});
	if (version.IsBelow(0, 23, 72)) 
	{ 
		foreach (Chara value2 in EClass.game.cards.globalCharas.Values) 
		{ 
			if (!value2.isDead) 
			{ 
				value2.c_wasInPcParty = false; 
			} 
		} 
	} 
	if (version.IsBelow(0, 23, 59))
	{
		while (TryDestroy())

@@ -452,11 +462,11 @@ public void OnLoad()

cs
	}
	if (version.IsBelow(0, 23, 51))
	{
		foreach (Chara value2 in EClass.game.cards.globalCharas.Values) 
		foreach (Chara value3 in EClass.game.cards.globalCharas.Values) 
		{
			if (!(value2.id != "adv") && value2.IsPCFaction) 
			if (!(value3.id != "adv") && value3.IsPCFaction) 
			{
				value2.idSkin = value2.uid % (value2.source._tiles.Length - 4) / 2 * 2 + ((!value2.IsMale) ? 1 : 0); 
				value3.idSkin = value3.uid % (value3.source._tiles.Length - 4) / 2 * 2 + ((!value3.IsMale) ? 1 : 0); 
			}
		}
	}

@@ -522,9 +532,9 @@ public void OnLoad()

cs
	});
	if (version.IsBelow(0, 22, 20))
	{
		foreach (Chara value3 in cards.globalCharas.Values) 
		foreach (Chara value4 in cards.globalCharas.Values) 
		{
			value3.SetBool(18, enable: false); 
			value4.SetBool(18, enable: false); 
		}
	}
	if (version.IsBelow(0, 22, 22))

StatsHygiene

@@ -12,7 +12,7 @@ public class StatsHygiene : Stats

cs

	public const int Garbage = 0;

	public static int[] listMod = new int[6] { 125, 110, 100, 80, 50, 10 }; 
	public static int[] listMod = new int[6] { 10, 50, 80, 100, 110, 120 }; 

	public override int max => 100;

StatsStamina

@@ -29,27 +29,22 @@ public override void Mod(int a)

cs
			a = -EClass.rnd(-a * 130 / 100 + 2);
		}
		int num = BaseStats.CC.Evalue(1403);
		if (a < 0 && num > 0) 
		if (a < 0 && num > 0 && (a != -1 || EClass.rnd(num + 1) != 0)) 
		{
			if (a == -1 && num > EClass.rnd(3)) 
			a = a * 100 / (100 + EClass.rnd(num + 1) * 20); 
		} 
		if (a != 0) 
		{ 
			base.Mod(a); 
			if (a < 0) 
			{
				return; 
				_ = BaseStats.CC.ShouldShowMsg; 
			}
			a = a * 100 / (100 + EClass.rnd(num + 1) * 20); 
			if (a == 0) 
			if (a < 0 && value < 0) 
			{
				return; 
				BaseStats.CC.DamageHP(-value, AttackSource.Fatigue); 
			}
		}
		base.Mod(a); 
		if (a < 0) 
		{ 
			_ = BaseStats.CC.ShouldShowMsg; 
		} 
		if (a < 0 && value < 0) 
		{ 
			BaseStats.CC.DamageHP(-value, AttackSource.Fatigue); 
		} 
	}

	public override int GetPhase()