Skip to content

EA 23.242 Nightly

December 3, 2025

20 files modified.

Important Changes

None.

AI_Fuck

public void Finish()

cs
			SuccubusExp(chara, chara2);
			SuccubusExp(chara2, chara);
		}
		chara2.ModAffinity(chara, flag ? 10 : (-5)); 
		chara2.ModAffinity(chara, (flag || (chara.IsPC && chara2.affinity.CanSleepBeside() && EClass.rnd(10) != 0)) ? 10 : (-5)); 
		if (chara == EClass.pc || chara2 == EClass.pc)
		{
			EClass.player.stats.kimo++;

ActMelee

void Attack(Card _tc, Point _tp, float mtp, bool subAttack)

cs
					int num7 = Act.TC.Evalue(ele2);
					if (Act.TC.isChara)
					{
						num6 += Act.TC.Evalue(1750) * 2 * ((Act.TC.Chara.body.GetAttackStyle() != AttackStyle.Shield) ? 1 : 2); 
						foreach (BodySlot slot2 in Act.TC.Chara.body.slots)
						{
							if (slot2.thing != null && slot2.thing.HasElement(437) && Act.TC.Evalue(slot2.thing.category.skill) > num7)

ActMeleeSwarm

public class ActMeleeSwarm : ActMelee

cs
	public override bool UseWeaponDist => false;

	public override int PerformDistance => 99;
	public override float BaseDmgMTP => 0.9f + 0.1f * (float)Act.CC.Evalue(1750); 
}

ActMultihit

public override bool Perform()

cs
{
	int num = 0;
	Card orgTC = Act.TC;
	int num2 = 4 + EClass.rnd(6); 
	int num2 = 4 + EClass.rnd(6) + Act.CC.Evalue(1750); 
	for (int i = 0; i < num2; i++)
	{
		if (!Act.CC.IsAliveInCurrentZone || !orgTC.IsAliveInCurrentZone)

CharaBody

public void SetBodyIndexText(BodySlot b, UIText t)

cs
			t.SetActive(enable: false);
		}
	}
	public int CountWeapons() 
	{ 
		int num = 0; 
		foreach (BodySlot slot in slots) 
		{ 
			if (slot.thing != null && slot.thing.IsMeleeWeapon) 
			{ 
				num++; 
			} 
		} 
		return num; 
	} 
}

ConDark

public class ConDark : Condition

cs
public class ConDark : Condition
{
	public override bool WillOverride => true; 
	public override bool ShouldRefresh => true;

	public override int GetPhase()

ConSilence

public class ConSilence : BaseDebuff

cs
public class ConSilence : BaseDebuff
{
	public override bool WillOverride => true; 
}

ConSupress

public class ConSupress : BaseDebuff

cs
public class ConSupress : BaseDebuff
{
	public override bool WillOverride => true; 
	public override BaseNotification CreateNotification()
	{
		return new NotificationCondition

DOMAIN

public class DOMAIN

cs

	public const int domWind = 807;

	public const int domHarvest = 808; 
	public const int domMachine = 809; 

	public const int domLuck = 810;

public class DOMAIN

cs

	public const int domHarmony = 815;

	public const int domMachine = 809; 
	public const int domHarvest = 808; 

	public static readonly int[] IDS = new int[16]
	{
		805, 804, 806, 800, 803, 801, 802, 807, 808, 810, 
		811, 812, 813, 814, 815, 809
		805, 804, 806, 800, 803, 801, 802, 807, 809, 810, 
		811, 812, 813, 814, 815, 808
	};
}
public class Domain : EClass

ELEMENT

public virtual Act.Cost GetCost(Chara c)

cs
		case 6664:
		case 6665:
		{
			int num2 = -2; 
			foreach (BodySlot slot in c.body.slots) 
			{ 
				if (slot.thing != null && slot.thing.IsMeleeWeapon) 
				{ 
					num2++; 
				} 
			} 
			int num2 = -2 + c.body.CountWeapons(); 
			result2.cost += num2 * 2;
			break;
		}

ENC

public class ENC

cs

	public const int mod_reload = 601;

	public const int mod_precision = 605; 
	public const int mod_rapid = 602;

	public const int mod_ammo_knockback = 603; 
	public const int mod_precision = 605; 

	public const int mod_cleave = 622;

	public const int mod_ammo_knockback = 603; 
	public static readonly int[] IDS = new int[104]
	{
		420, 419, 414, 416, 417, 415, 421, 418, 667, 423,

public class ENC

cs
		435, 436, 437, 438, 439, 440, 441, 443, 485, 480,
		487, 620, 424, 623, 624, 640, 641, 486, 650, 609,
		608, 621, 606, 607, 604, 651, 488, 489, 600, 601,
		605, 602, 603, 622
		602, 605, 622, 603
	};
}

FACTION

``

cs

public class FACTION
{
	public const int bfLandmark2 = 3781; 
	public const int bfLandmark1 = 3780; 

	public const int bfBreed = 3710;

	public const int bfLandmark4 = 3783; 
	public const int bfBasin = 3709;

	public const int bfLandmark5 = 3784;

public class FACTION

cs

	public const int bfFreshAir = 3708;

	public const int bfLandmark1 = 3780; 
	public const int bfLandmark2 = 3781; 
	public const int bfLandmark4 = 3783; 

	public const int fLuck = 2118;

public class FACTION

cs

	public static readonly int[] IDS = new int[53]
	{
		3781, 3710, 3783, 3709, 3784, 3782, 3707, 3708, 3780, 2118, 
		3780, 3710, 3709, 3784, 3782, 3707, 3708, 3781, 3783, 2118, 
		2115, 2116, 2117, 2119, 2120, 2200, 2201, 2202, 2207, 2203,
		2204, 2206, 3800, 2205, 2003, 3801, 3804, 3803, 3802, 3600,
		3601, 3602, 3603, 3604, 3605, 3700, 3701, 3702, 3703, 3704,

FEAT

public class FEAT

cs

	public const int featEND = 1622;

	public const int featDEX = 1621; 
	public const int featHardy = 1630;

	public const int featDEX = 1621; 
	public const int featSPD = 1629;

	public const int featWhiteVixen = 1414;

public class FEAT

cs

	public const int featEarthStrength = 1411;

	public const int featComat = 1750; 
	public const int featGoldenFinger = 1662;

	public const int featDismantler = 1661;

public class FEAT

cs

	public const int featDreamWaker = 1653;

	public const int featRapidArrow = 1652; 
	public const int featSpotting = 1633; 

	public const int featMagicManner = 1651; 
	public const int featRapidArrow = 1652; 

	public const int featGourmet = 1650;

public class FEAT

cs

	public const int featMartial = 1635;

	public const int featSpotting = 1633; 
	public const int featMagicManner = 1651; 

	public const int featReboot = 1410;

public class FEAT

cs

	public const int featGod_machine1 = 1315;

	public const int featTourist = 1406; 
	public const int featPianist = 1405;

	public const int featArcher = 1404;

public class FEAT

cs

	public const int featWarrior = 1400;

	public const int featGod_strife1 = 1355; 
	public const int featPaladin = 1407; 

	public const int featGod_moonshadow1 = 1350; 
	public const int featGod_strife1 = 1355; 

	public const int featGod_trickery1 = 1345;

	public const int featGod_oblivion1 = 1340; 
	public const int featGod_wind1 = 1310;

	public const int featGod_oblivion1 = 1340; 
	public const int featGod_harmony1 = 1335;

	public const int featGod_luck1 = 1330;

public class FEAT

cs

	public const int featGod_healing1 = 1320;

	public const int featTourist = 1406; 
	public const int featPaladin = 1407; 
	public const int featGod_moonshadow1 = 1350; 

	public static readonly int[] IDS = new int[135] 
	public static readonly int[] IDS = new int[136] 
	{
		1620, 1628, 1627, 1626, 1625, 1624, 1623, 1622, 1621, 1630, 
		1620, 1628, 1627, 1626, 1625, 1624, 1623, 1622, 1630, 1621, 
		1629, 1414, 1611, 1610, 1422, 1421, 1420, 1419, 1418, 1417,
		1416, 1415, 1631, 1413, 1412, 1612, 1632, 1648, 1634, 1411,
		1662, 1661, 1660, 1659, 1658, 1657, 1656, 1655, 1654, 1653, 
		1652, 1651, 1650, 1649, 1647, 1646, 1645, 1644, 1643, 1642, 
		1641, 1640, 1636, 1635, 1633, 1410, 1234, 1408, 1230, 1231, 
		1232, 1233, 1235, 1236, 1237, 1238, 1239, 1240, 1241, 1242, 
		1229, 1243, 1245, 1246, 1247, 1248, 1249, 1250, 1251, 1270, 
		1271, 1272, 1273, 1290, 1409, 1300, 1228, 1226, 1200, 1201, 
		1202, 1203, 1204, 1205, 1206, 1207, 1208, 1209, 1210, 1211, 
		1227, 1212, 1214, 1215, 1216, 1217, 1218, 1219, 1220, 1221, 
		1222, 1223, 1224, 1225, 1213, 1305, 1244, 1315, 1405, 1404, 
		1403, 1402, 1401, 1400, 1355, 1350, 1345, 1340, 1310, 1335, 
		1330, 1325, 1320, 1406, 1407
		1750, 1662, 1661, 1660, 1659, 1658, 1657, 1656, 1655, 1654, 
		1653, 1633, 1652, 1650, 1649, 1647, 1646, 1645, 1644, 1643, 
		1642, 1641, 1640, 1636, 1635, 1651, 1410, 1234, 1408, 1230, 
		1231, 1232, 1233, 1235, 1236, 1237, 1238, 1239, 1240, 1241, 
		1242, 1229, 1243, 1245, 1246, 1247, 1248, 1249, 1250, 1251, 
		1270, 1271, 1272, 1273, 1290, 1409, 1300, 1228, 1226, 1200, 
		1201, 1202, 1203, 1204, 1205, 1206, 1207, 1208, 1209, 1210, 
		1211, 1227, 1212, 1214, 1215, 1216, 1217, 1218, 1219, 1220, 
		1221, 1222, 1223, 1224, 1225, 1213, 1305, 1244, 1315, 1406, 
		1405, 1404, 1403, 1402, 1401, 1400, 1407, 1355, 1345, 1310, 
		1340, 1335, 1330, 1325, 1320, 1350
	};
}
public class Feat : Element

public List<string> Apply(int a, ElementContainer owner, bool hint = false)

cs
		ModPotential(120, a * 50);
		ModPotential(123, a * 50);
		break;
	case 1750:
	{ 
		string[] array = featRef; 
		int num2 = a; 
		array[0] = num2.ToString() ?? ""; 
		featRef[1] = (a * 2).ToString() ?? ""; 
		break; 
	} 
	case 1532:
		ModBase(73, -a * 5, hide: false);
		break;

public List<string> Apply(int a, ElementContainer owner, bool hint = false)

cs
			string text2 = text.SplitNewline().TryGet(value - 1, 99);
			if (!text2.IsEmpty())
			{
				int num2 = 0; 
				string[] array = text2.Split(','); 
				foreach (string obj in array) 
				int num3 = 0; 
				string[] array2 = text2.Split(','); 
				foreach (string obj in array2) 
				{
					string text3 = featRef[num2]; 
					string text3 = featRef[num3]; 
					string text4 = obj;
					if (text3.ToInt() < 0)
					{

public List<string> Apply(int a, ElementContainer owner, bool hint = false)

cs
					}
					text4 = text4.Replace("#1", text3);
					hints.Add(text4);
					num2++; 
					num3++; 
				}
			}
		}

void NoteElement(int ele, int a)

cs
			string @ref = ((a < 0) ? "" : "+") + a;
			if (row.category == "resist")
			{
				int num3 = 0; 
				@ref = ((a > 0) ? "+" : "-").Repeat(Mathf.Clamp(Mathf.Abs(a) / 5 + num3, 1, 5)); 
				int num4 = 0; 
				@ref = ((a > 0) ? "+" : "-").Repeat(Mathf.Clamp(Mathf.Abs(a) / 5 + num4, 1, 5)); 
				Note("modValueRes".lang(row.GetName(), @ref));
			}
			else

FOOD

public class FOOD

cs

	public const int food_god = 758;

	public const int justcooked = 757; 
	public const int food_CHA = 700;

	public const int food_cat = 701;

public class FOOD

cs

	public const int food_blood = 710;

	public const int justcooked = 757; 
	public const int loseWeight = 706;

	public static readonly int[] IDS = new int[14]
	{
		764, 758, 700, 701, 702, 704, 705, 703, 707, 708, 
		709, 710, 757, 706
		764, 758, 757, 700, 701, 702, 704, 705, 703, 707, 
		708, 709, 710, 706
	};
}

GameDate

public void AdvanceHour()

cs
public void AdvanceDay()
{
	base.day++;
	base.min = 0; 
	EClass.player.stats.days++;
	EClass.player.questRerollCost -= 3;
	if (EClass.player.questRerollCost < 0)

MUTATION

public class MUTATION

cs

	public const int mutationSkin = 1510;

	public const int mutationEye = 1512; 
	public const int mutationSkinN = 1511; 

	public const int mutationEyeN = 1513;

public class MUTATION

cs

	public const int mutationRegen = 1516;

	public const int mutationSkinN = 1511; 
	public const int mutationEye = 1512; 

	public const int mutationSpeed = 1518;

public class MUTATION

cs

	public static readonly int[] IDS = new int[40]
	{
		1515, 1510, 1512, 1513, 1514, 1516, 1511, 1518, 1565, 1564, 
		1515, 1510, 1511, 1513, 1514, 1516, 1512, 1518, 1565, 1564, 
		1563, 1562, 1561, 1560, 1559, 1558, 1557, 1517, 1555, 1554,
		1553, 1552, 1551, 1556, 1533, 1550, 1520, 1521, 1522, 1523,
		1524, 1525, 1519, 1527, 1528, 1529, 1530, 1531, 1532, 1526

Player

public void CreateEquip()

cs
	c.EQ_ID("toolbelt").c_IDTState = 0;
	c.EQ_ID("shirt").c_IDTState = 0;
	c.AddCard(ThingGen.CreateCurrency(1 + EClass.rnd(5)));
	if (EClass.debug.enable && c.race.id == "succubus") 
	{ 
		c.AddCard(ThingGen.CreateRedBook("advweek_14")); 
	} 
	bool firstSpellbook = true;
	switch (c.job.id)
	{

TaskCut

public override HitResult GetHitResult()

cs
	{
		return HitResult.Valid;
	}
	if (pos.HasDecal && EClass.debug.godBuild && (bool)BuildMenu.Instance) 
	if (pos.HasDecal && (bool)BuildMenu.Instance) 
	{
		return HitResult.Valid;
	}

Trait

public void OnBarter(bool reroll = false)

cs
		NoRestock(ThingGen.Create("lucky_coin").SetNum(10));
		NoRestock(ThingGen.CreateSkillbook(6662));
		NoRestock(ThingGen.CreateSkillbook(6664));
		Add("book_exp", 10, 0); 
		Add("book_exp", 3, 0); 
		break;
	case ShopType.Copy:
	{

public void OnBarter(bool reroll = false)

cs
				break;
			case ShopType.Moyer:
			{
				for (int num12 = 1; num12 <= 14; num12++) 
				for (int num12 = 1; num12 <= 15; num12++) 
				{
					AddAdvWeek(num12);
				}

TraitMerchantPlat

public override ShopType ShopType

cs
	public override string LangBarter => "daBuyPlat";

	public override bool CanInvite => false;
	public override int RestockDay => 360; 
}