EA 23.294 Nightly
April 10, 2026
8 files modified.
Important Changes
None.
AI_Fuck
cs
{
if (chara.IsPCParty || chara2.IsPCParty)
{
chara.stamina.Mod(-5 - EClass.rnd(chara.stamina.max / 10 + ((variation == Variation.Succubus) ? StaminaCost(chara2, chara) : 0) + 1));
chara2.stamina.Mod(-5 - EClass.rnd(chara2.stamina.max / 20 + ((variation == Variation.Succubus) ? StaminaCost(chara, chara2) : 0) + 1));
chara.stamina.Mod(-5 - EClass.rnd(chara.stamina.max / 10 + ((variation == Variation.Succubus || variation == Variation.MotherMilk) ? StaminaCost(chara2, chara) : 0) + 1));
chara2.stamina.Mod(-5 - EClass.rnd(chara2.stamina.max / 20 + ((variation == Variation.Succubus || variation == Variation.MotherMilk) ? StaminaCost(chara, chara2) : 0) + 1));
}
SuccubusExp(chara, chara2);
SuccubusExp(chara2, chara);static int StaminaCost(Chara c1, Chara c2)
cs
{
return (int)Mathf.Max(10f * (float)c1.END / (float)Mathf.Max(c2.END, 1), 0f);
}
static void SuccubusExp(Chara c, Chara tg)
void SuccubusExp(Chara c, Chara tg)
{
if (!c.HasElement(1216))
if (!c.HasElement(1216) || c.isDead)
{
return;
}static void SuccubusExp(Chara c, Chara tg)
cs
{
if (c.elements.ValueWithoutLink(item.id) < item.ValueWithoutLink)
{
c.elements.ModTempPotential(item.id, 1 + EClass.rnd(item.ValueWithoutLink - c.elements.ValueWithoutLink(item.id) / 5 + 1));
c.elements.ModTempPotential(item.id, Mathf.Min(EClass.rnd(item.ValueWithoutLink - c.elements.ValueWithoutLink(item.id) / 5), (variation == Variation.Succubus) ? 300 : 100));
c.Say("succubus_exp", c, item.Name.ToLower());
break;
}AI_Idle
public override IEnumerable<Status> Run()
cs
{
owner.UseAbility(8794, owner);
}
if (EClass.rnd(25) == 0 && owner.HasElement(1427) && owner.mimicry == null)
if (EClass.rnd(10) == 0 && owner.HasElement(1427) && owner.mimicry == null)
{
owner.UseAbility(8796, owner);
}
if (EClass.rnd(100) == 0 && owner.HasElement(1428) && (!owner.IsPCFactionOrMinion || owner.affinity.CurrentStage < Affinity.Stage.Love))
{
DoSomethingToNearChara((Chara c) => !c.IsPCFactionOrMinion && !c.IsHostile(owner), delegate(Chara c)
{
owner.DoHostileAction(c, immediate: true);
c.pos.TryWitnessCrime(owner, c);
owner.RemoveCondition<ConTransmuteHuman>();
});
}
}
Party party = owner.party;
if (party == null || party.leader == owner || !party.leader.IsAliveInCurrentZone || owner.host != null || !EClass._zone.PetFollow)AI_PlayMusic
public override IEnumerable<Status> Run()
cs
{
case "sax":
case "trumpet":
case "harmonica":
idSong = "trumpet_practice";
break;
case "piano_gould":public override IEnumerable<Status> Run()
cs
case "ocarina":
idSong = "ocarina_lulu";
break;
case "harmonica":
idSong = "harmonica_kumi";
break;
case "guitar_efrond":
idSong = "guitar_dusk";
break;ENC
cs
public const int encRagnarok = 667;
public const int convertCold = 851;
public const int convertFire = 850;
public const int mod_feint = 623;cs
public const int mod_cleave = 622;
public const int convertFire = 850;
public const int convertCold = 851;
public const int mod_chaser = 620;cs
public const int strongStomach = 480;
public const int bane_all = 468;
public const int bane_fairy = 462;
public const int bane_all = 468;
public const int bane_fish = 467;
public const int optimizeMana = 483;cs
public static readonly int[] IDS = new int[107]
{
654, 653, 652, 651, 641, 624, 640, 655, 650, 656,
852, 661, 662, 663, 664, 665, 666, 667, 851, 623,
865, 660, 622, 850, 620, 422, 423, 424, 425, 426,
852, 661, 662, 663, 664, 665, 666, 667, 850, 623,
865, 660, 622, 851, 620, 422, 423, 424, 425, 426,
427, 428, 429, 430, 421, 431, 435, 436, 437, 438,
439, 440, 441, 442, 443, 432, 420, 419, 418, 621,
381, 382, 383, 400, 401, 402, 403, 404, 405, 406,cs
444, 445, 380, 447, 608, 607, 606, 605, 484, 485,
486, 487, 488, 489, 490, 491, 600, 601, 602, 446,
603, 604, 466, 450, 482, 460, 609, 461, 481, 480,
468, 462, 467, 483, 463, 464, 465
462, 468, 467, 483, 463, 464, 465
};
}FEAT
cs
public const int featEND = 1622;
public const int featExecutioner = 1420;
public const int featManaMeat = 1421;
public const int featSTR = 1620;cs
public const int featLife = 1610;
public const int featMurderer = 1428;
public const int featDisguise = 1427;
public const int featNeckHunter = 1426;cs
public const int featHealer = 1422;
public const int featManaMeat = 1421;
public const int featSpotting = 1633;
public const int featMilitant = 1419;
public const int featExecutioner = 1420;
public const int featDEX = 1621;cs
public const int featFaith = 1636;
public const int featSwordsage = 1418;
public const int featMilitant = 1419;
public const int featComat = 1750;cs
public const int featDreamWaker = 1653;
public const int featWitch = 1417;
public const int featSwordsage = 1418;
public const int featGod_trickery1 = 1345;
public const int featFoxMaid = 1415;
public const int featInquisitor = 1416;
public const int featCosmicHorror = 1233;cs
public const int featAshborn = 1251;
public const int featInquisitor = 1416;
public const int featAquatic = 1252;
public const int featGoodKarma = 1270;
public const int featWitch = 1417;
public const int featBadKarma = 1271;cs
public const int featGod_earth1 = 1305;
public const int featAquatic = 1252;
public const int featGoodKarma = 1270;
public const int featGod_machine1 = 1315;cs
public const int featGod_healing1 = 1320;
public static readonly int[] IDS = new int[148]
public const int featFoxMaid = 1415;
public static readonly int[] IDS = new int[149]
{
1624, 1625, 1626, 1631, 1628, 1629, 1630, 1623, 1632, 1627,
1622, 1420, 1620, 1612, 1611, 1610, 1427, 1426, 1425, 1424,
1423, 1422, 1421, 1633, 1419, 1621, 1634, 1650, 1636, 1418,
1622, 1421, 1620, 1612, 1611, 1610, 1428, 1427, 1426, 1425,
1424, 1423, 1422, 1633, 1420, 1621, 1634, 1650, 1636, 1419,
1750, 1664, 1663, 1662, 1661, 1660, 1659, 1658, 1657, 1656,
1655, 1635, 1654, 1652, 1651, 1649, 1648, 1647, 1646, 1645,
1644, 1643, 1642, 1641, 1640, 1653, 1417, 1345, 1415, 1233,
1644, 1643, 1642, 1641, 1640, 1653, 1418, 1345, 1416, 1233,
1234, 1235, 1236, 1237, 1238, 1239, 1240, 1241, 1242, 1243,
1244, 1245, 1246, 1247, 1248, 1249, 1250, 1251, 1416, 1270,
1244, 1245, 1246, 1247, 1248, 1249, 1250, 1251, 1252, 1417,
1271, 1272, 1273, 1274, 1275, 1276, 1290, 1291, 1232, 1300,
1231, 1229, 1200, 1201, 1202, 1203, 1204, 1205, 1206, 1207,
1208, 1209, 1210, 1211, 1212, 1213, 1214, 1215, 1216, 1217,
1218, 1219, 1220, 1221, 1222, 1223, 1224, 1225, 1226, 1227,
1228, 1230, 1305, 1252, 1315, 1414, 1413, 1412, 1411, 1410,
1228, 1230, 1305, 1270, 1315, 1414, 1413, 1412, 1411, 1410,
1409, 1408, 1407, 1406, 1310, 1405, 1404, 1403, 1402, 1401,
1400, 1355, 1350, 1340, 1335, 1330, 1325, 1320
1400, 1355, 1350, 1340, 1335, 1330, 1325, 1320, 1415
};
}
public class Feat : ElementFOOD
cs
{
public const int creativeDish = 764;
public const int food_god = 758;
public const int food_human = 708;
public const int food_blood = 710;
public const int justcooked = 757;
public const int food_CHA = 700;
public const int justcooked = 757;
public const int food_cat = 701;
public const int food_poison = 702;
public const int food_god = 758;
public const int food_love = 703;
public const int food_bug = 704;
public const int food_cat = 701;
public const int food_poison = 702;
public const int loseWeight = 706;cs
public const int food_undead = 709;
public const int food_blood = 710;
public const int gainWeight = 705;
public static readonly int[] IDS = new int[14]
{
764, 758, 708, 710, 700, 757, 702, 703, 704, 701,
706, 707, 709, 705
764, 708, 757, 700, 701, 758, 703, 704, 702, 706,
707, 709, 710, 705
};
}MUTATION
cs
public class MUTATION
{
public const int mutationRegen = 1516;
public const int mutationDexN = 1515;
public const int mutationSkin = 1510;cs
public const int mutationDex = 1514;
public const int mutationDexN = 1515;
public const int mutationRegenN = 1517;
public const int mutationRegen = 1516;
public const int mutationStr = 1520;
public const int mutationSpeedN = 1519;
public const int mutationSpeed = 1518;
public const int etherPoisonHand = 1565;cs
public const int etherNeck = 1555;
public const int mutationSpeed = 1518;
public const int mutationRegenN = 1517;
public const int etherEye = 1553;
public const int etherFeet = 1552;
public const int etherUgly = 1551;
public const int etherWing = 1554;
public const int mutationBrain = 1524;
public const int mutationChaN = 1523;
public const int mutationSpeedN = 1519;
public const int mutationStrN = 1521;
public const int mutationCha = 1522;
public const int mutationChaN = 1523;
public const int etherGravity = 1550;
public const int etherUgly = 1551;
public const int mutationBrain = 1524;
public const int mutationBrainN = 1525;
public const int mutationCold = 1526;
public const int mutationColdN = 1527;
public const int mutationLightning = 1528;
public const int mutationLightningN = 1529;cs
public const int mutationHairN = 1533;
public const int etherGravity = 1550;
public const int mutationLightning = 1528;
public const int mutationColdN = 1527;
public static readonly int[] IDS = new int[40]
{
1516, 1510, 1511, 1512, 1513, 1514, 1515, 1517, 1520, 1519,
1565, 1564, 1563, 1562, 1561, 1560, 1559, 1558, 1557, 1556,
1555, 1518, 1553, 1552, 1554, 1524, 1521, 1522, 1523, 1551,
1525, 1526, 1527, 1529, 1530, 1531, 1532, 1533, 1550, 1528
1515, 1510, 1511, 1512, 1513, 1514, 1516, 1520, 1518, 1565,
1564, 1563, 1562, 1561, 1560, 1559, 1558, 1557, 1556, 1555,
1517, 1553, 1552, 1551, 1554, 1523, 1519, 1521, 1522, 1550,
1524, 1525, 1526, 1528, 1529, 1530, 1531, 1532, 1533, 1527
};
}
public class Mutation : FeatZone_Town
public override void OnRegenerate()
cs
{
if (EClass.rnd(5) == 0)
{
Chara chara = CharaGen.Create("mad_rich");
Add("mad_rich");
}
if (EClass.rnd(EClass.debug.enable ? 2 : 5) == 0)
{
Add("murderer");
}
void Add(string id)
{
Chara chara = CharaGen.Create(id);
chara.isSubsetCard = true;
EClass._zone.AddCard(chara, GetSpawnPos(chara));
}