EA 23.277 Nightly Patch 1
February 25, 2026
22 files modified.
Important Changes
Possible breaking changes. Click the filename to view the chunk.
ACT (1)
public virtual bool CanPerform() ActSlime (1)
public override bool Perform()
public override bool ValidatePerform(Chara _cc, Card _tc, Point _tp) ACT
return true;
}
public virtual bool CanPerform()
{
return true;
}
public bool Perform(Chara _cc, Card _tc = null, Point _tp = null)
{
if (!CanPerform(_cc, _tc, _tp))public bool Perform(Chara _cc, Card _tc = null, Point _tp = null)
return Perform();
}
public virtual bool ValidatePerform(Chara _cc, Card _tc, Point _tp)
{
return true;
}
public virtual bool CanPerform()
{
return true;
}
public bool CanPerform(Chara _cc, Card _tc = null, Point _tp = null)
{
CC = _cc;AI_Eat
public override IEnumerable<Status> Run()
{
yield return DoGotoSpot<TraitSpotDining>(base.KeepRunning);
}
int max = ((target.SelfWeight < 100) ? 1 : (2 + (int)Mathf.Sqrt(target.SelfWeight * 2 / 3)));
int num = ((target.SelfWeight < 100) ? 1 : (2 + (int)Mathf.Sqrt(target.SelfWeight * 2 / 3)));
int turn = 0;
bool isFeastFood = EClass._zone.HasField(10001) && target.GetBool(128);
num = num * 100 / (100 + owner.Evalue(1663) * 100);
if (num < 1)
{
num = 1;
}
Progress_Custom seq = new Progress_Custom
{
cancelWhenMoved = false,public override IEnumerable<Status> Run()
FoodEffect.Proc(owner, target.Thing);
}
}
}.SetDuration(max, 5);
}.SetDuration(num, 5);
yield return Do(seq);
}
}AI_Idle
public override IEnumerable<Status> Run()
if (randomPoint2 != null)
{
Chara chara3 = EClass._zone.SpawnMob("cocoon", randomPoint2);
owner.Say("layegg", owner);
owner.Say("egglay", owner);
chara3.SetHostility(owner.OriginalHostility);
}
}ActSlime
public override bool CanPerform()
return true;
}
public override bool Perform()
public override bool ValidatePerform(Chara _cc, Card _tc, Point _tp)
{
if (Act.CC.hunger.GetPhase() < 3 && !EClass.debug.enable)
if (Act.CC.hunger.GetPhase() < 3 && !EClass.debug.godFood)
{
Msg.Say("not_hungry");
return false;
}
return true;
}
public override bool Perform()
{
Act.CC.SetAI(new AI_Fuck
{
target = Act.TC.Chara,ActThrow
public static EffectIRenderer Throw(Card c, Point p, Card target, Thing t, Throw
EffectIRenderer result = null;
if (c.isSynced || p.IsSync)
{
result = Effect.Get<EffectIRenderer>((t.trait is TraitBall || t.HasTag(CTAG.throwBall)) ? "throw_ball" : "throw").Play((c.isChara && c.Chara.host != null) ? c.Chara.host : c, t, c.pos, p, 0.2f);
result = Effect.Get<EffectIRenderer>((t.trait is TraitBall || t.HasTag(CTAG.throwBall) || method == ThrowMethod.Reward) ? "throw_ball" : "throw").Play((c.isChara && c.Chara.host != null) ? c.Chara.host : c, t, c.pos, p, 0.2f);
t.renderer.SetFirst(first: false, c.renderer.position);
}
if (!t.HasElement(410) || method == ThrowMethod.Punish)AnimeID
Truck,
PlayMusic,
QuakeMini,
Gravity
Gravity,
Kiss
}Biography
public string TextBio(Chara c)
public string TextBio2(Chara c)
{
return Lang.Parse("heightWeight", height.ToString() ?? "", weight.ToString() ?? "") + " " + ((c.material.alias == "meat") ? "" : c.material.GetName().ToTitleCase(wholeText: true));
return Lang.Parse("heightWeight", height.ToFormat(), weight.ToFormat()) + " " + ((c.material.alias == "meat") ? "" : c.material.GetName().ToTitleCase(wholeText: true));
}
public string TextBioSlave(Chara c)public string TextBirthDate(Chara c, bool _age = false)
public string TextAppearance()
{
return Lang.Parse("heightWeight", height.ToString() ?? "", weight.ToString() ?? "");
return Lang.Parse("heightWeight", height.ToFormat(), weight.ToFormat());
}
}CardRenderer
public void PlayAnime(AnimeID id, Point dest)
if (transAnimeData == null)
{
anime = null;
Debug.Log("Anime not found:" + id);
return;
}
anime = new TransAnimepublic void PlayAnime(AnimeID id, Point dest)
data = transAnimeData,
renderer = this
}.Init();
if (id == AnimeID.Attack || (uint)(id - 18) <= 1u)
if (id == AnimeID.Attack || (uint)(id - 18) <= 1u || id == AnimeID.Kiss)
{
anime.dest = dest;
}Chara
public void HoldCard(Card t, int num = -1)
if (IsPC && t.isNPCProperty)
{
t.isNPCProperty = false;
EClass.player.ModKarma(-1);
pos.TryWitnessCrime(this);
if (!t.GetBool(128))
{
EClass.player.ModKarma(-1);
pos.TryWitnessCrime(this);
}
}
PickHeld();
if (t.isChara)public bool UseAbility(Act a, Card tc = null, Point pos = null, bool pt = false)
{
return false;
}
if (!a.ValidatePerform(this, tc, pos))
{
return false;
}
if (a.source.proc.TryGet(0) == "Heal" && HasElement(1422) && !IsPC)
{
List<int> list = new List<int> { 8400, 8401, 8402, 8403, 8404, 8405 };public bool UseAbility(Act a, Card tc = null, Point pos = null, bool pt = false)
LayerAbility.SetDirty(a);
}
}
else if (a.source.langAct.Length != 0 && tc != null)
else
{
string text = a.source.langAct[0];
string text2 = ((a.source.langAct.Length >= 2) ? a.source.langAct[1] : "");
if (text == "spell_hand")
{
string[] list2 = Lang.GetList("attack" + race.meleeStyle.IsEmpty("Touch"));
string @ref = text2.lang(list2[4]);
Say(tc.IsPCParty ? "cast_hand_ally" : "cast_hand", this, tc, @ref, tc.IsPCParty ? list2[1] : list2[2]);
}
else
if (IsPC && HasElement(1274) && a.vPotential < 0 && !flag2)
{
Say(text, this, tc, text2.IsEmpty() ? "" : text2.lang());
Msg.Say("noSpellStock");
EInput.Consume();
return false;
}
if (a.source.id == 6630)
if (a.source.langAct.Length != 0 && tc != null)
{
Talk("insult_" + (base.IsMale ? "m" : "f"));
string text = a.source.langAct[0];
string text2 = ((a.source.langAct.Length >= 2) ? a.source.langAct[1] : "");
if (text == "spell_hand")
{
string[] list2 = Lang.GetList("attack" + race.meleeStyle.IsEmpty("Touch"));
string @ref = text2.lang(list2[4]);
Say(tc.IsPCParty ? "cast_hand_ally" : "cast_hand", this, tc, @ref, tc.IsPCParty ? list2[1] : list2[2]);
}
else
{
Say(text, this, tc, text2.IsEmpty() ? "" : text2.lang());
}
if (a.source.id == 6630)
{
Talk("insult_" + (base.IsMale ? "m" : "f"));
}
}
}
switch (cost.type)public bool UseAbility(Act a, Card tc = null, Point pos = null, bool pt = false)
}
if (flag3 && !isDead)
{
if (IsPC && flag2 && a.vBase == 0 && a.PotentialAsStock)
if (IsPC && flag2 && elements.Base(a.id) == 0 && a.PotentialAsStock)
{
elements.ModBase(a.id, 1);
} EClass.player.forceTalk = true;
Talk("kiss", null, null, IsPC);
PlaySound("kiss");
renderer.PlayAnime(AnimeID.Kiss, c);
int num = 2 + EClass.rnd(4) + ((!c.IsPC && c.affinity.CurrentStage < Affinity.Stage.Fond) ? (-EClass.rnd(10)) : 0);
c.ShowEmo((num > 0) ? Emo.love : Emo.sad);
if (num > 0 && EClass.rnd(IsPC ? 100 : 5000) == 0) c.Say("affinityNone", c, EClass.pc);
}
}
Effect.Get("love")._Play(pos, isSynced ? renderer.position : pos.Position(), 0f, c.pos);
}
public void Slap(Chara c, bool slapToDeath = false) }
if (EClass._zone is Zone_Music || EClass._zone is Zone_Wedding)
{
ShowDialog("_chara", "party");
ShowDialog("_chara", (!(EClass._zone is Zone_Wedding)) ? "party" : (IsPCParty ? "wedding_love" : "wedding"));
return;
}
if (EClass.game.quests.OnShowDialog(this))CharaAbility
public void Add(int id, int chance, bool pt)
owner._listAbility = new List<int>();
}
owner._listAbility.Add(id * ((!pt) ? 1 : (-1)));
if (owner.IsPC && owner.HasElement(1274))
{
Element element = owner.elements.GetElement(id);
if (element == null)
{
owner.elements.ModBase(id, 1);
}
else if (!(element is Spell))
{
element.vPotential = 0;
}
}
Refresh();
if (owner.IsPC)
{
LayerAbility.Redraw();
}
}
public void AddRandom() public void Remove(int id)
{
owner._listAbility.Remove(id);
if (owner.IsPC && owner.HasElement(1274) && owner.HasElement(id) && owner._listAbility.IndexOf(id) == -1)
{
Element element = EClass.pc.elements.GetElement(id);
if (!(element is Spell))
{
element.vPotential = -1;
}
}
if (owner._listAbility.Count == 0)
{
owner._listAbility = null;
}
Refresh();
if (owner.IsPC)
{
LayerAbility.Redraw();
}
}
public bool Has(int id)CoreDebug
EClass.pc.elements.ModBase(61, lv / 2);
EClass.pc.elements.ModBase(79, lv / 5);
EClass.player.totalFeat = lv;
EClass.pc.feat = 1000;
EClass.pc.SetLv(lv - 1);
EClass.player.fame = EClass.pc.LV * 100;
int idx = 0; }
if (Input.GetKeyDown(KeyCode.F3))
{
Chara c2 = EClass._map.charas.RandomItem();
Thing thing = ThingGen.Create("musicbox_memory");
thing.MakeRefFrom(c2, EClass.pc, simple: true);
EClass.pc.Pick(thing);
for (int i = 0; i < 10; i++)
{
Thing thing = ThingGen.Create("egg_fertilized");
thing.TryMakeRandomItem(40);
thing.SetEncLv(200);
EClass.pc.Pick(thing);
}
foreach (Chara deadChara in EClass._map.deadCharas)
{
Debug.Log(deadChara);
}
EClass.core.steam.CheckUpdate();
EClass.player.flags.loytelMartLv++;
Msg.Say("loytelmart:" + EClass.player.flags.loytelMartLv);
Guild.Fighter.relation.rank = 20;
Guild.Mage.relation.rank = 20;
Guild.Thief.relation.rank = 20;
Guild.Merchant.relation.rank = 20;
if (EClass.Branch != null)
{
EClass.Branch.ModExp(EClass.Branch.GetNextExp());
}
foreach (Chara item in EClass._map.charas.ToList())
{
item.AddExp(item.ExpToNext);
item.Vomit();
}
EClass.pc.PlayEffect("boost");
EClass.pc.PlaySound("boost");
EClass.pc.elements.SetBase(306, 100);
EClass.pc.elements.SetBase(85, 100);
EClass.pc.feat += 10;
EClass.player.totalFeat += 10;
return;
}
if (Input.GetKeyDown(KeyCode.F4)) if (Input.GetKey(KeyCode.F9))
{
EClass.scene.paused = false;
for (int i = 0; i < advanceMin; i++)
for (int j = 0; j < advanceMin; j++)
{
EClass.game.updater.FixedUpdate();
} {
if (Input.GetMouseButtonDown(0))
{
foreach (Card item in list)
foreach (Card item2 in list)
{
Debug.Log(item.Name + "/" + item.dir + "/" + item.flipX + "/" + item.angle);
Debug.Log(item2.Name + "/" + item2.dir + "/" + item2.flipX + "/" + item2.angle);
}
}
if (Input.GetMouseButtonDown(1)) }
if (key)
{
foreach (Card item2 in EClass._map.Roaming.all)
foreach (Card item3 in EClass._map.Roaming.all)
{
EClass._zone.RemoveCard(item2);
EClass._zone.RemoveCard(item3);
}
}
else if (hitPoint.detail != null) {
break;
}
foreach (Card item3 in hitPoint.ListCards())
foreach (Card item4 in hitPoint.ListCards())
{
item3.renderer.PlayAnime(num5.ToEnum<AnimeID>());
item4.renderer.PlayAnime(num5.ToEnum<AnimeID>());
}
Debug.Log(num5.ToEnum<AnimeID>());
break;DOMAIN
public const int domWind = 807;
public const int domOblivion = 813;
public const int domEyth = 814;
public const int domMachine = 809;
public const int domEarth = 812;
public const int domEyth = 814;
public const int domOblivion = 813;
public const int domHarmony = 815;
public static readonly int[] IDS = new int[16]
{
800, 806, 801, 802, 803, 804, 805, 807, 813, 809,
810, 811, 812, 814, 815, 808
800, 806, 801, 802, 803, 804, 805, 807, 814, 809,
810, 811, 812, 813, 815, 808
};
}
public class Domain : EClassENC
public const int absorbSP = 662;
public const int bane_machine = 465;
public const int bane_god = 466;
public const int bane_fish = 467;
public const int bane_all = 468;
public const int strongStomach = 480;
public const int revealFaith = 481;
public const int force_weapon = 482;
public const int optimizeMana = 483;
public const int creativeChef = 487;
public const int revealFaith = 481;
public const int deathagony = 488;
public const int music_drunk = 489;
public const int farsee = 490;
public const int negateGravity = 491;
public const int mod_ammo = 600;
public const int bane_man = 464;
public const int mod_reload = 601;
public const int bane_animal = 463;
public const int mod_rapid = 602;
public const int bane_fairy = 462;
public const int knightly = 438;
public const int bane_undead = 461;
public const int strongStomach = 480;
public const int eheluck = 663;
public const int defense_range = 435;
public const int guts = 436;
public const int parry = 437;
public const int knightly = 438;
public const int negateParry = 439;
public const int bane_all = 468;
public const int sustain_STR = 440;
public const int sustain_DEX = 442;
public const int mod_ammo = 600;
public const int sustain_END = 441;
public const int sustain_PER = 443;
public const int bane_dragon = 460;
public const int bane_undead = 461;
public const int bane_fairy = 462;
public const int bane_animal = 463;
public const int bane_man = 464;
public const int bane_machine = 465;
public const int sustain_DEX = 442;
public const int bane_god = 466;
public const int mod_reload = 601;
public const int bane_fish = 467;
public const int deathagony = 488;
public const int mod_ammo_knockback = 603;
public const int sustain_END = 441;
public const int mod_ammo_recover = 604;
public const int mod_drill = 606;
public const int absorbMP = 661;
public const int absorbHP = 660;
public const int sanctified = 432;
public const int eheluck = 663;
public const int onlyPet = 655;
public const int mod_rapid = 602;
public const int noDamage = 654;
public const int mod_precision = 605;
public const int living = 653;
public const int eco = 652;
public const int r_mana = 641;
public const int living = 653;
public const int guts = 436;
public const int mod_scatter = 607;
public const int r_life = 640;
public const int mod_splash = 608;
public const int mod_frustration = 624;
public const int mod_talisman = 609;
public const int onlyPet = 655;
public const int mod_chaser = 620;
public const int mod_scatter = 607;
public const int parry = 437;
public const int mod_cleave = 622;
public const int defense_range = 435;
public const int mod_feint = 623;
public const int sustain_STR = 440;
public const int mod_ammo_recover = 604;
public const int mod_flurry = 621;
public const int mod_cleave = 622;
public const int mod_precision = 605;
public const int mod_feint = 623;
public const int mod_chaser = 620;
public const int mod_frustration = 624;
public const int mod_talisman = 609;
public const int r_life = 640;
public const int mod_splash = 608;
public const int mod_drill = 606;
public static readonly int[] IDS = new int[107]
{ 425, 426, 427, 428, 429, 667, 414, 666, 424, 412,
850, 410, 430, 380, 382, 383, 400, 865, 852, 851,
411, 665, 402, 403, 404, 405, 406, 407, 408, 409,
401, 664, 381, 662, 482, 483, 484, 485, 486, 487,
481, 488, 489, 490, 491, 600, 601, 602, 438, 480,
439, 468, 442, 443, 444, 445, 446, 447, 450, 460,
461, 462, 463, 464, 465, 466, 467, 603, 441, 604,
606, 661, 660, 656, 432, 663, 655, 654, 605, 652,
651, 650, 641, 653, 436, 607, 608, 609, 620, 437,
435, 440, 621, 622, 623, 624, 640
401, 664, 381, 662, 465, 466, 467, 468, 480, 481,
482, 483, 484, 485, 486, 487, 489, 490, 491, 464,
463, 462, 461, 663, 435, 436, 437, 438, 439, 440,
600, 441, 443, 444, 445, 446, 447, 450, 460, 442,
601, 488, 603, 661, 660, 656, 432, 602, 654, 653,
652, 651, 650, 641, 640, 624, 655, 607, 622, 623,
604, 621, 605, 620, 609, 608, 606
};
}FACTION
public class FACTION
{
public const int bfIce = 3804;
public const int bfGum = 3803;
public const int bfSilica = 3802;
public const int bfMushroom = 3801;
public const int bfLandmark4 = 3783;
public const int bfIce = 3804;
public const int bfCoal = 3800;
public const int bfLandmark5 = 3784;
public const int bfLandmark4 = 3783;
public const int bfLandmark3 = 3782;
public const int bfLandmark2 = 3781;
public const int bfGum = 3803;
public const int bfCoal = 3800;
public const int bfMushroom = 3801;
public const int fAttraction = 2206;
public const int fRation = 2207;
public const int bfLandmark1 = 3780;
public const int fLoyal = 2117;
public const int fSafety = 2205;
public const int fAdmin = 2115;
public const int fFood = 2204;
public const int fEducation = 2116;
public const int fMoral = 2203;
public const int fLuck = 2118;
public const int fPromo = 2202;
public const int fTaxEvasion = 2119;
public const int fElec = 2201;
public const int fHeirloom = 2120;
public const int fSoil = 2200;
public const int fHeirloom = 2120;
public const int fElec = 2201;
public const int fTaxEvasion = 2119;
public const int fPromo = 2202;
public const int fLuck = 2118;
public const int bfLandmark1 = 3780;
public const int fLoyal = 2117;
public const int fAttraction = 2206;
public const int fEducation = 2116;
public const int fSafety = 2205;
public const int fAdmin = 2115;
public const int fMoral = 2203;
public const int fConstruction = 2003;
public const int fFood = 2204;
public const int fRation = 2207;
public const int fConstruction = 2003;
public const int bfBreed = 3710;
public static readonly int[] IDS = new int[53]
{
3802, 3801, 3804, 3784, 3783, 3782, 3781, 3803, 3800, 2206,
3780, 2205, 2204, 2203, 2202, 2201, 2200, 2120, 2119, 2118,
2117, 2116, 2115, 2003, 2207, 3710, 3805, 3708, 3709, 3600,
3804, 3803, 3802, 3783, 3800, 3784, 3782, 3781, 3801, 2207,
2117, 2115, 2116, 2118, 2119, 2120, 2200, 2201, 2202, 3780,
2206, 2205, 2203, 2204, 2003, 3710, 3805, 3708, 3709, 3600,
3601, 3602, 3603, 3604, 3605, 3500, 3700, 3701, 3702, 3703,
3606, 3705, 3706, 4006, 4005, 4004, 4003, 4002, 4001, 4000,
3900, 3704, 3707FEAT
public class FEAT
{
public const int featDEX = 1621;
public const int featEND = 1622;
public const int featPER = 1623;
public const int featLER = 1624;
public const int featSPD = 1629;
public const int featMAG = 1625;
public const int featWIL = 1626;
public const int featHardy = 1630;
public const int featCHA = 1627;
public const int featLuck = 1628;
public const int featHardy = 1630;
public const int featSPD = 1629;
public const int featMAG = 1625;
public const int featDefense = 1631;
public const int featSTR = 1620;
public const int featWIL = 1626;
public const int featSwordsage = 1418;
public const int featDEX = 1621;
public const int featMilitant = 1419;
public const int featStamina = 1612;
public const int featMana = 1611;
public const int featExecutioner = 1420;
public const int featMilitant = 1419;
public const int featEvade = 1632;
public const int featDefense = 1631;
public const int featSwordsage = 1418;
public const int featWitch = 1417;
public const int featInquisitor = 1416;
public const int featStamina = 1612;
public const int featSTR = 1620;
public const int featEvade = 1632;
public const int featSpotting = 1633;
public const int featRapidMagic = 1648;
public const int featDefender = 1649;
public const int featNegotiate = 1634;
public const int featMartial = 1635;
public const int featFoxMaid = 1415;
public const int featInquisitor = 1416;
public const int featComat = 1750;
public const int featFastEater = 1663;
public const int featGoldenFinger = 1662;
public const int featDismantler = 1661;
public const int featHeavyCasting = 1654;
public const int featDreamWaker = 1653;
public const int featNegotiate = 1634;
public const int featSpotting = 1633;
public const int featDreamWaker = 1653;
public const int featRapidArrow = 1652;
public const int featMagicManner = 1651;
public const int featGourmet = 1650;
public const int featDefender = 1649;
public const int featRapidMagic = 1648;
public const int featSummoner = 1647;
public const int featFaith = 1636;
public const int featMartial = 1635;
public const int featMagicManner = 1651;
public const int featRapidArrow = 1652;
public const int featWhiteVixen = 1414;
public const int featFoxMaid = 1415;
public const int featEternalYouth = 1243;
public const int featLuckyCat = 1412;
public const int featFairysan = 1413;
public const int featBaby = 1232;
public const int featBloodBond = 1249;
public const int featFairysan = 1413;
public const int featVampire = 1250;
public const int featAshborn = 1251;
public const int featWhiteVixen = 1414;
public const int featAquatic = 1252;
public const int featGod_earth1 = 1305;
public const int featVampire = 1250;
public const int featAshborn = 1251;
public const int featGod_machine1 = 1315;
public const int featThief = 1401;
public const int featWizard = 1402;
public const int featFarmer = 1403;
public const int featEarthStrength = 1411;
public const int featLuckyCat = 1412;
public const int featGod_wind1 = 1310;
public const int featGod_strife1 = 1355;
public const int featWarrior = 1400;
public static readonly int[] IDS = new int[144]
public const int featThief = 1401;
public static readonly int[] IDS = new int[145]
{
1621, 1622, 1623, 1624, 1629, 1626, 1627, 1628, 1630, 1625,
1620, 1418, 1611, 1610, 1426, 1425, 1424, 1423, 1422, 1421,
1420, 1419, 1631, 1417, 1416, 1612, 1632, 1648, 1634, 1415,
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, 1414, 1243, 1412, 1232,
1622, 1623, 1624, 1625, 1630, 1627, 1628, 1629, 1631, 1626,
1621, 1419, 1612, 1611, 1610, 1426, 1425, 1424, 1423, 1422,
1421, 1420, 1632, 1418, 1417, 1620, 1633, 1649, 1635, 1416,
1750, 1663, 1662, 1661, 1660, 1659, 1658, 1657, 1656, 1655,
1654, 1634, 1653, 1651, 1650, 1648, 1647, 1646, 1645, 1644,
1643, 1642, 1641, 1640, 1636, 1652, 1415, 1243, 1413, 1232,
1233, 1234, 1235, 1236, 1237, 1238, 1239, 1240, 1241, 1242,
1244, 1245, 1231, 1246, 1248, 1249, 1413, 1251, 1252, 1270,
1244, 1245, 1231, 1246, 1248, 1249, 1250, 1414, 1252, 1270,
1271, 1272, 1273, 1274, 1275, 1276, 1290, 1247, 1300, 1230,
1228, 1200, 1201, 1202, 1203, 1204, 1205, 1206, 1207, 1208,
1209, 1210, 1211, 1212, 1229, 1213, 1215, 1216, 1217, 1218,
1219, 1220, 1221, 1222, 1223, 1224, 1225, 1226, 1227, 1214,
1305, 1250, 1315, 1401, 1402, 1403, 1404, 1405, 1406, 1407,
1408, 1409, 1410, 1411, 1310, 1355, 1320, 1325, 1330, 1335,
1340, 1345, 1350, 1400
1305, 1251, 1315, 1402, 1403, 1404, 1405, 1406, 1407, 1408,
1409, 1410, 1411, 1412, 1310, 1355, 1320, 1325, 1330, 1335,
1340, 1345, 1350, 1400, 1401
};
}
public class Feat : ElementFOOD
public class FOOD
{
public const int food_poison = 702;
public const int food_cat = 701;
public const int food_CHA = 700;
public const int food_poison = 702;
public const int food_god = 758;
public const int food_love = 703;
public const int creativeDish = 764;
public const int food_bug = 704;
public const int food_cat = 701;
public const int gainWeight = 705;
public const int loseWeight = 706;
public const int kirimi = 707;
public const int food_bug = 704;
public const int gainWeight = 705;
public const int food_human = 708;
public const int food_undead = 709;
public const int justcooked = 757;
public const int food_god = 758;
public const int food_human = 708;
public const int kirimi = 707;
public const int food_blood = 710;
public static readonly int[] IDS = new int[14]
{
702, 700, 703, 764, 704, 701, 706, 707, 705, 709,
757, 758, 708, 710
701, 700, 702, 758, 703, 764, 705, 706, 704, 708,
709, 757, 707, 710
};
}FoodEffect
public static void Proc(Chara c, Thing food, bool consume = true)
}
if (c2.HasElement(1200))
{
num2 *= 1f + (float)c2.Evalue(1200) * 0.25f;
num2 *= 1f + (float)c2.Evalue(1200) * 0.3f;
}
if (!c2.IsPC)
{GameLang
public static string ConvertDrama(string text, Chara c = null)
stringBuilder.Append(text[i]);
}
}
if ((bool)LayerDrama.Instance && LayerDrama.Instance.drama.tg != null)
{
int gender = LayerDrama.Instance.drama.tg.gender;
stringBuilder.Replace("#tg_his", ((gender == 2) ? "his" : "her").lang());
stringBuilder.Replace("#tg_him", ((gender == 2) ? "him" : "her").lang());
}
if (DramaManager.TG != null)
{
stringBuilder.Replace("#tg", DramaManager.TG.Name);LayerAbility
public void SelectGroup(string id)
foreach (Element value in ELayer.pc.elements.dict.Values)
{
string categorySub = value.source.categorySub;
if (value.Value != 0 && (!config.hideDepletedSpell || !value.PotentialAsStock || value.vPotential > 0) && (value.id != 6020 || ELayer.pc.HasElement(1216)))
if (value.Value != 0 && (!config.hideDepletedSpell || ((!value.PotentialAsStock || value.vPotential > 0) && value.vPotential >= 0)) && (value.id != 6020 || ELayer.pc.HasElement(1216)))
{
if (id == "favAbility" && ELayer.player.favAbility.Contains(value.id))
{MUTATION
public class MUTATION
{
public const int mutationDexN = 1515;
public const int mutationRegen = 1516;
public const int mutationSkin = 1510;
public const int mutationDex = 1514;
public const int mutationRegen = 1516;
public const int mutationDexN = 1515;
public const int mutationSpeed = 1518;
public const int mutationRegenN = 1517;
public const int mutationSpeedN = 1519;
public const int etherPoisonHand = 1565;
public const int etherViolence = 1556;
public const int etherNeck = 1555;
public const int mutationSpeed = 1518;
public const int mutationRegenN = 1517;
public const int etherWing = 1554;
public const int etherEye = 1553;
public const int etherUgly = 1551;
public const int etherWing = 1554;
public const int mutationHairN = 1533;
public const int etherNeck = 1555;
public const int mutationSpeedN = 1519;
public const int mutationCha = 1522;
public const int mutationStr = 1520;
public const int etherGravity = 1550;
public const int mutationStrN = 1521;
public const int mutationCha = 1522;
public const int etherGravity = 1550;
public const int mutationChaN = 1523;
public const int mutationBrain = 1524;
public const int mutationBrainN = 1525;
public const int mutationStrN = 1521;
public const int mutationCold = 1526;
public const int mutationColdN = 1527;
public const int mutationBrainN = 1525;
public const int mutationLightning = 1528;
public const int mutationHair = 1532;
public const int mutationCold = 1526;
public const int mutationHairN = 1533;
public const int mutationColdN = 1527;
public static readonly int[] IDS = new int[40]
{
1515, 1510, 1511, 1512, 1513, 1514, 1516, 1518, 1565, 1564,
1563, 1562, 1561, 1560, 1559, 1558, 1557, 1556, 1555, 1517,
1553, 1552, 1551, 1554, 1533, 1519, 1520, 1550, 1522, 1523,
1524, 1525, 1521, 1527, 1528, 1529, 1530, 1531, 1532, 1526
1516, 1510, 1511, 1512, 1513, 1514, 1515, 1517, 1519, 1565,
1564, 1563, 1562, 1561, 1560, 1559, 1558, 1557, 1556, 1518,
1554, 1553, 1552, 1551, 1555, 1522, 1520, 1521, 1550, 1523,
1524, 1526, 1525, 1528, 1529, 1530, 1531, 1532, 1533, 1527
};
}
public class Mutation : FeatPOLICY
public class POLICY
{
public const int celeb = 2822;
public const int license_general = 2820;
public const int legendary_heirloom = 2821;
public const int celeb = 2822;
public const int legendary_exhibition = 2823;
public const int breed_season = 2827;
public const int license_furniture = 2819;
public const int milk_fan = 2825;
public const int egg_fan = 2826;
public const int license_slaver = 2828;
public const int breed_season = 2827;
public const int license_furniture = 2819;
public const int license_slaver = 2828;
public const int license_stolen = 2824;
public static readonly int[] IDS = new int[51]
{
2820, 2821, 2822, 2823, 2827, 2825, 2826, 2828, 2819, 2824,
2822, 2820, 2821, 2823, 2819, 2825, 2826, 2827, 2828, 2824,
2818, 2500, 2816, 2516, 2515, 2514, 2513, 2512, 2511, 2510,
2700, 2509, 2507, 2506, 2505, 2504, 2502, 2501, 2817, 2508,
2701, 2503, 2703, 2702, 2815, 2814, 2812, 2811, 2810, 2800,WidgetHP
[JsonProperty]
public int layout;
[JsonProperty]
public int spacing;
[JsonProperty]
public int fontSize;
[JsonProperty]
public bool showGauge; EMono.pc.stamina.value = EMono.pc.stamina.max;
}
}
grid.spacing = new Vector2(extra.spacing, 0f);
gaugeHP.hideBar = !extra.showGauge;
gaugeMP.hideBar = !extra.showGauge;
gaugeStamina.hideBar = !extra.showGauge;
gaugeStamina.SetActive(extra.stamina);
gaugeHP.textNow.SetSize(gaugeHP.textNow.orgSize + extra.fontSize);
gaugeMP.textNow.SetSize(gaugeMP.textNow.orgSize + extra.fontSize);
gaugeStamina.textNow.SetSize(gaugeStamina.textNow.orgSize + extra.fontSize);
gaugeHP.UpdateValue(EMono.pc.hp, EMono.pc.MaxHP);
gaugeMP.UpdateValue(EMono.pc.mana.value, EMono.pc.mana.max);
gaugeStamina.UpdateValue(EMono.pc.stamina.value, EMono.pc.stamina.max);
Color c = EMono.Colors.Dark.gradientHP.Evaluate((float)EMono.pc.hp / (float)EMono.pc.MaxHP);
gaugeHP.textNow.text = "".TagColor(c, EMono.pc.hp.ToString() ?? "") + (extra.showMax ? ("/" + EMono.pc.MaxHP) : "");
gaugeHP.textNow.text = "".TagColor(c, EMono.pc.hp.ToString() ?? "") + (extra.showMax ? (" / " + EMono.pc.MaxHP) : "");
c = EMono.Colors.Dark.gradientMP.Evaluate((float)EMono.pc.mana.value / (float)EMono.pc.mana.max);
gaugeMP.textNow.text = "".TagColor(c, EMono.pc.mana.value.ToString() ?? "") + (extra.showMax ? ("/" + EMono.pc.mana.max) : "");
gaugeMP.textNow.text = "".TagColor(c, EMono.pc.mana.value.ToString() ?? "") + (extra.showMax ? (" / " + EMono.pc.mana.max) : "");
c = EMono.Colors.Dark.gradientSP.Evaluate((float)EMono.pc.stamina.value / (float)EMono.pc.stamina.max);
gaugeStamina.textNow.text = "".TagColor(c, EMono.pc.stamina.value.ToString() ?? "") + (extra.showMax ? ("/" + EMono.pc.stamina.max) : "");
gaugeStamina.textNow.text = "".TagColor(c, EMono.pc.stamina.value.ToString() ?? "") + (extra.showMax ? (" / " + EMono.pc.stamina.max) : "");
goBarrier.SetActive(value: false);
textBarrier.text = "10";
}public override void OnSetContextMenu(UIContextMenu m)
Rebuild();
ClampToScreen();
}, 0f, 2f, isInt: true);
uIContextMenu.AddSlider("spacing", (float n) => n.ToString() ?? "", extra.spacing, delegate(float a)
{
extra.spacing = (int)a;
}, 0f, 100f, isInt: true);
uIContextMenu.AddSlider("fontSize", (float n) => n.ToString() ?? "", extra.fontSize, delegate(float a)
{
extra.fontSize = (int)a;
}, -2f, 5f, isInt: true);
uIContextMenu.AddToggle("showGauge", extra.showGauge, delegate(bool a)
{
extra.showGauge = a;