EA 23.103 Nightly
March 15, 2025
14 files modified. 1 new file created.
Important Changes
None.
AI_Idle
@@ -569,7 +569,7 @@ public override IEnumerable<Status> Run()
}
if (EClass.rnd(100) == 0 && owner.trait is TraitBitch)
{
Chara chara2 = DoSomethingToNearChara((Chara c) => c.IsIdle && !c.IsPCParty && !(c.trait is TraitBitch));
Chara chara2 = DoSomethingToNearChara((Chara c) => c.IsIdle && !c.IsPCParty && !(c.trait is TraitBitch) && !c.HasElement(418));
if (chara2 != null)
{
yield return Do(new AI_Fuck
ActNTR
@@ -2,13 +2,9 @@ public class ActNTR : Ability
{
public override bool CanPerform()
{
if (Act.TC.isChara)
if (Act.TC.isChara && (Act.TC.Chara.conSleep != null || Act.CC.HasElement(1239)))
{
if (Act.TC.Chara.conSleep == null)
{
return Act.CC.HasElement(1239);
}
return true;
return !Act.TC.HasElement(418);
}
return false;
}
Card
@@ -5344,7 +5344,7 @@ public virtual Sprite GetSprite(int dir = 0)
{
return (trait as TraitAbility).CreateAct()?.GetSprite() ?? EClass.core.refs.icons.defaultAbility;
}
return sourceCard.GetSprite(dir, trait.IdSkin, (IsInstalled && pos.cell.IsSnowTile) ? true : false);
return sourceCard.GetSprite(dir, trait.IdSkin, (IsInstalled && pos != null && pos.IsValid && pos.cell.IsSnowTile) ? true : false);
}
public virtual Sprite GetImageSprite()
CardRow
@@ -131,8 +131,8 @@ public string GetName(Card c, bool full = false)
int type = ((quality == 3) ? 3 : ((quality < 2) ? 1 : 2));
if (full && !text2.IsEmpty())
{
text = text2.ToTitleCase(wholeText: true) + Lang.space + text.Bracket(type);
text = ((text2 == "*r") ? "" : text2.ToTitleCase(wholeText: true)) + Lang.space + text.Bracket(type);
}
return text;
return text.TrimStart(' ');
}
}
Chara
@@ -4632,7 +4632,7 @@ public void GetRevived()
{
return;
}
if (!IsPC && (!trait.CanJoinPartyResident || !trait.CanJoinParty))
if (!IsPC && (!trait.CanJoinPartyResident || !trait.CanJoinParty || memberType != 0))
{
if (homeZone != null && EClass._zone != homeZone)
{
c.ModAffinity(EClass.pc, a, show);
return;
}
int num = StatsHygiene.GetAffinityMod(EClass.pc.hygiene.GetPhase()) + (HasElement(417) ? 20 : 0);
int num = StatsHygiene.GetAffinityMod(EClass.pc.hygiene.GetPhase()) + (HasElement(417) ? 30 : 0);
if (IsPCFaction && homeBranch != null)
{
num += (int)Mathf.Sqrt(homeBranch.Evalue(2117)) * 5;
ConSleep
@@ -179,7 +179,7 @@ public static void SuccubusVisit(Chara tg)
}
foreach (Chara chara in EClass._map.charas)
{
if (chara == tg || chara.IsPC || EClass.rnd(3) != 0 || chara.IsDisabled || !chara.IsIdle)
if (chara == tg || chara.IsPC || chara.HasElement(418) || EClass.rnd(3) != 0 || chara.IsDisabled || !chara.IsIdle)
{
continue;
}
ContentCodex
@@ -157,6 +157,13 @@ public void OnClickAddCards()
SE.BeepSmall();
Msg.Say("noCard");
}
if (EClass.debug.enable)
{
foreach (SourceChara.Row row in EClass.sources.charas.rows)
{
EClass.player.codex.AddCard(row.id);
}
}
RefreshInfo();
}
CoreDebug
@@ -446,6 +446,8 @@ public void QuickStart()
thing.AddCard(ThingGen.Create("mathammer", MATERIAL.GetRandomMaterial(100).alias)).SetNum(10);
}
thing.AddCard(ThingGen.Create("mathammer", 102)).SetNum(10);
thing.AddCard(ThingGen.Create("mathammer", 33)).SetNum(10);
thing.AddCard(ThingGen.Create("mathammer", 18)).SetNum(10);
EClass.pc.AddCard(thing);
thing = ThingGen.Create("pouch");
for (int l = 0; l < 30; l++)
ELEMENT
@@ -39,7 +39,7 @@ public class ELEMENT
public const int hardness = 13;
public const int growth = 14;
public const int water = 15;
public const int heat = 16;
@@ -47,7 +47,7 @@ public class ELEMENT
public const int taste = 18;
public const int water = 15;
public const int growth = 14;
public const int fire = 21;
@@ -70,8 +70,8 @@ public class ELEMENT
public static readonly int[] IDS = new int[31]
{
751, 752, 753, 754, 755, 756, 759, 750, 0, 2,
1, 3, 5, 10, 11, 12, 13, 14, 16, 17,
18, 15, 21, 22, 23, 24, 25, 26, 29, 85,
1, 3, 5, 10, 11, 12, 13, 15, 16, 17,
18, 14, 21, 22, 23, 24, 25, 26, 29, 85,
20
};
}
ENC
@@ -10,14 +10,16 @@ public class ENC
public const int r_life = 640;
public const int mod_flurry = 621;
public const int mod_chaser = 620;
public const int mod_feint = 623;
public const int mod_splash = 608;
public const int mod_cleave = 622;
public const int mod_flurry = 621;
public const int living = 653;
public const int mod_frustration = 624;
@@ -44,7 +46,7 @@ public class ENC
public const int convertFire = 850;
public const int mod_splash = 608;
public const int mod_scatter = 607;
public const int convertImpact = 865;
@@ -52,13 +54,11 @@ public class ENC
public const int onlyPet = 655;
public const int mod_scatter = 607;
public const int bane_animal = 463;
public const int mod_drill = 606;
public const int mod_precision = 605;
public const int bane_fairy = 462;
public const int allNeckHunt = 428;
public const int mod_ammo_recover = 604;
public const int negateNeckHunt = 427;
@@ -70,10 +70,12 @@ public class ENC
public const int negateFear = 423;
public const int negateBlind = 421;
public const int negateParalysis = 422;
public const int negatePoison = 420;
public const int innocence = 418;
public const int loving = 417;
public const int seeInvisible = 416;
@@ -82,7 +84,7 @@ public class ENC
public const int encHit = 414;
public const int breathing = 429;
public const int allNeckHunt = 428;
public const int slowCorruption = 412;
@@ -108,17 +110,15 @@ public class ENC
public const int negateTeleport = 400;
public const int mod_drill = 606;
public const int mod_precision = 605;
public const int encSpell = 411;
public const int sustain_STR = 440;
public const int negateParalysis = 422;
public const int breathing = 429;
public const int slot_rune = 484;
public const int negateBlind = 421;
public const int mod_ammo_knockback = 603;
public const int optimizeMana = 483;
public const int mod_rapid = 602;
@@ -126,7 +126,7 @@ public class ENC
public const int mod_ammo = 600;
public const int optimizeMana = 483;
public const int slot_rune = 484;
public const int force_weapon = 482;
@@ -140,13 +140,13 @@ public class ENC
public const int bane_god = 466;
public const int bane_man = 464;
public const int bane_machine = 465;
public const int bane_fairy = 462;
public const int bane_animal = 463;
public const int bane_machine = 465;
public const int bane_undead = 461;
public const int bane_dragon = 460;
public const int bane_man = 464;
public const int sustain_CHA = 447;
@@ -156,26 +156,28 @@ public class ENC
public const int sustain_LER = 444;
public const int bane_undead = 461;
public const int sustain_PER = 443;
public const int bane_dragon = 460;
public const int sustain_DEX = 442;
public const int sustain_END = 441;
public const int mod_ammo_recover = 604;
public const int sustain_STR = 440;
public const int mod_ammo_knockback = 603;
public static readonly int[] IDS = new int[83]
public static readonly int[] IDS = new int[84]
{
652, 651, 650, 641, 640, 621, 620, 623, 622, 653,
624, 654, 851, 656, 660, 661, 662, 663, 664, 665,
666, 850, 608, 865, 852, 655, 607, 463, 605, 428,
427, 426, 425, 424, 423, 421, 420, 417, 416, 415,
414, 429, 412, 410, 409, 408, 407, 406, 405, 404,
403, 402, 401, 400, 606, 411, 440, 422, 484, 603,
602, 601, 600, 483, 482, 481, 480, 468, 467, 466,
464, 462, 465, 460, 447, 446, 445, 444, 461, 443,
442, 441, 604
652, 651, 650, 641, 640, 620, 623, 608, 622, 621,
653, 624, 654, 851, 656, 660, 661, 662, 663, 664,
665, 666, 850, 607, 865, 852, 655, 606, 462, 604,
427, 426, 425, 424, 423, 422, 420, 418, 417, 416,
415, 414, 428, 412, 410, 409, 408, 407, 406, 405,
404, 403, 402, 401, 400, 605, 411, 429, 421, 483,
602, 601, 600, 484, 482, 481, 480, 468, 467, 466,
465, 463, 461, 464, 447, 446, 445, 444, 443, 460,
442, 441, 440, 603
};
}
GoalCombat
@@ -511,6 +511,13 @@ public virtual bool TryUseAbility(int dist, bool beforeMove = false)
continue;
}
break;
case 8790:
case 8791:
if (tc.host != null)
{
continue;
}
break;
}
bool isHOT;
switch (text)
GrowSystemDeco
@@ -8,6 +8,11 @@ public class GrowSystemDeco : GrowSystem
public override int StageLength => 2;
public override bool CanReapSeed()
{
return true;
}
public override void OnExceedLastStage()
{
SetStage(1);
Portrait
@@ -146,7 +146,7 @@ public void SetChara(Chara c, PCCData pccData = null)
if (fixSpritePos)
{
imageChara.transform.localScale = (c.IsPCC ? new Vector3(1.3f, 1.4f, 1f) : new Vector3(1f, 1f, 1f)) * charaScale;
imageChara.rectTransform.pivot = (c.IsPCC ? new Vector2(0.5f, 0.4f) : new Vector2(0.5f, 0.2f));
imageChara.rectTransform.pivot = (c.IsPCC ? new Vector2(0.5f, 0.3f) : new Vector2(0.5f, 0.2f));
imageChara.rectTransform.anchoredPosition = (c.IsPCC ? new Vector2(-25f, 20f) : new Vector2(-25f, 20f));
}
}
+TraitEspressoMachine
File Created
public class TraitEspressoMachine : TraitCookerMicrowave
{
}
TraitStoryBookHome
@@ -9,6 +9,7 @@ public override void OnRead(Chara c)
List<SourceQuest.Row> list = EClass.sources.quests.rows.Where((SourceQuest.Row q) => IsAvailable(q)).ToList();
EClass.ui.AddLayer<LayerList>().SetSize().SetList2(list, (SourceQuest.Row a) => GetTitle(a), delegate(SourceQuest.Row a, ItemGeneral b)
{
EClass.ui.GetLayer<LayerList>().SetActive(enable: false);
LayerDrama.fromBook = true;
string text3 = a.drama[0];
string idStep = "quest_" + a.id;
@@ -16,7 +17,10 @@ public override void OnRead(Chara c)
{
idStep = "loytelEscaped";
}
LayerDrama.Activate(text3, text3, idStep, GetChara(text3));
LayerDrama.Activate(text3, text3, idStep, GetChara(text3)).SetOnKill(delegate
{
EClass.ui.GetLayer<LayerList>().SetActive(enable: true);
});
}, delegate
{
}, autoClose: false);