EA 23.242 Nightly
December 3, 2025
20 files modified.
Important Changes
None.
AI_Fuck
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)
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
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()
{
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)
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
public class ConDark : Condition
{
public override bool WillOverride => true;
public override bool ShouldRefresh => true;
public override int GetPhase()ConSilence
public class ConSilence : BaseDebuff
public class ConSilence : BaseDebuff
{
public override bool WillOverride => true;
}ConSupress
public class ConSupress : BaseDebuff
public class ConSupress : BaseDebuff
{
public override bool WillOverride => true;
public override BaseNotification CreateNotification()
{
return new NotificationConditionDOMAIN
public const int domWind = 807;
public const int domHarvest = 808;
public const int domMachine = 809;
public const int domLuck = 810;
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 : EClassELEMENT
public virtual Act.Cost GetCost(Chara c)
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 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, 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
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 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 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 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 const int featEarthStrength = 1411;
public const int featComat = 1750;
public const int featGoldenFinger = 1662;
public const int featDismantler = 1661;
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 const int featMartial = 1635;
public const int featSpotting = 1633;
public const int featMagicManner = 1651;
public const int featReboot = 1410;
public const int featGod_machine1 = 1315;
public const int featTourist = 1406;
public const int featPianist = 1405;
public const int featArcher = 1404;
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 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 : Elementpublic List<string> Apply(int a, ElementContainer owner, bool hint = false)
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)
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)
}
text4 = text4.Replace("#1", text3);
hints.Add(text4);
num2++;
num3++;
}
}
}void NoteElement(int ele, int a)
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));
}
elseFOOD
public const int food_god = 758;
public const int justcooked = 757;
public const int food_CHA = 700;
public const int food_cat = 701;
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 AdvanceDay()
{
base.day++;
base.min = 0;
EClass.player.stats.days++;
EClass.player.questRerollCost -= 3;
if (EClass.player.questRerollCost < 0)MUTATION
public const int mutationSkin = 1510;
public const int mutationEye = 1512;
public const int mutationSkinN = 1511;
public const int mutationEyeN = 1513;
public const int mutationRegen = 1516;
public const int mutationSkinN = 1511;
public const int mutationEye = 1512;
public const int mutationSpeed = 1518;
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, 1526Player
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()
{
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)
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)
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
public override string LangBarter => "daBuyPlat";
public override bool CanInvite => false;
public override int RestockDay => 360;
}