EA 23.342 Nightly โ
September 2, 2026
6 files modified.
Important Changes โ
None.
ActEffect โ
void AddCon<T>(int rate, int p2) where T : Condition
}
EClass.ui.AddLayer<LayerList>().SetStringList(delegate
{
List<string> list12 = new List<string>();
List<string> list13 = new List<string>();
for (int j = 0; j < 10; j++)
{
list12.Add(AliasGen.GetRandomAlias());
list13.Add(AliasGen.GetRandomAlias());
}
return list12;
return list13;
}, delegate(int a, string b)
{
c._alias = b;void AddCon<T>(int rate, int p2) where T : Condition
break;
case EffectId.StripBlessing:
{
List<Condition> list5 = new List<Condition>();
List<Condition> list6 = new List<Condition>();
foreach (Condition condition4 in TC.conditions)
{
if (GetBlessingDifficulty(condition4) > 0 && EClass.rnd(GetBlessingDifficulty(condition4)) == 0)
{
list5.Add(condition4);
list6.Add(condition4);
}
}
if (list5.Count == 0)
if (list6.Count == 0)
{
CC.SayNothingHappans();
break;void AddCon<T>(int rate, int p2) where T : Condition
TC.pos.PlayEffect("holyveil");
TC.pos.PlaySound("holyveil");
TC.Say("unpolluted", TC);
list5.Shuffle();
list6.Shuffle();
{
foreach (Condition item5 in list5)
foreach (Condition item5 in list6)
{
item5.Kill();
if (CC.IsHostile(TC))void AddCon<T>(int rate, int p2) where T : Condition
{
break;
}
int num18 = 0;
int num21 = 0;
foreach (Condition condition5 in TC.conditions)
{
if (condition5.Type == ConditionType.Debuff)
{
num18++;
num21++;
}
}
if (num18 == 0)
if (num21 == 0)
{
CC.SayNothingHappans();
break;void AddCon<T>(int rate, int p2) where T : Condition
});
TC.Say("abShutterHex", TC);
Point center = CC.pos.Copy();
List<Chara> list8 = TC.pos.ListCharasInRadius(TC, 4, (Chara chara3) => chara3 == TC || chara3.IsHostile(CC));
for (int num19 = 0; num19 < num18; num19++)
List<Chara> list10 = TC.pos.ListCharasInRadius(TC, 4, (Chara chara3) => chara3 == TC || chara3.IsHostile(CC));
for (int num22 = 0; num22 < num21; num22++)
{
TweenUtil.Delay((float)num19 * 0.1f, delegate
TweenUtil.Delay((float)num22 * 0.1f, delegate
{
center.PlaySound("shutterhex");
});
foreach (Chara item6 in list8)
foreach (Chara item6 in list10)
{
if (item6.ExistsOnMap)
{void AddCon<T>(int rate, int p2) where T : Condition
Color startColor = (componentInChildren.endColor = EClass.Colors.elementColors["eleHoly"]);
componentInChildren.startColor = startColor;
Point pos = item6.pos.Copy();
TweenUtil.Delay((float)num19 * 0.1f, delegate
TweenUtil.Delay((float)num22 * 0.1f, delegate
{
effect.Play(center, 0f, pos);
});void AddCon<T>(int rate, int p2) where T : Condition
TC.Say((actRef.n1 == "money") ? "abStealNegateMoney" : "abStealNegate", TC);
break;
}
Thing thing5 = null;
Thing thing7 = null;
bool flag11 = actRef.n1 == "food";
if (actRef.n1 == "money")
{void AddCon<T>(int rate, int p2) where T : Condition
if (currency > 0)
{
currency = Mathf.Clamp(EClass.rnd(currency / 10), 1, 100 + EClass.rndHalf(Mathf.Min(CC.LV, 1000000) * 200));
thing5 = ThingGen.Create("money").SetNum(currency);
thing7 = ThingGen.Create("money").SetNum(currency);
TC.ModCurrency(-currency);
}
}void AddCon<T>(int rate, int p2) where T : Condition
{
func = (Thing thing8) => thing8.IsFood;
}
List<Thing> list6 = TC.things.List(delegate(Thing thing8)
List<Thing> list12 = TC.things.List(delegate(Thing thing8)
{
if (thing8.parentCard?.trait is TraitChestMerchant || thing8.trait is TraitTool || thing8.IsThrownWeapon)
{void AddCon<T>(int rate, int p2) where T : Condition
}
return thing8.trait.CanBeDestroyed && thing8.things.Count == 0 && thing8.invY != 1 && thing8.trait.CanBeStolen && !thing8.trait.CanOnlyCarry && !thing8.IsUnique && !thing8.isEquipped && thing8.blessedState == BlessedState.Normal && func(thing8);
}, onlyAccessible: true);
if (list6.Count > 0)
if (list12.Count > 0)
{
thing5 = list6.RandomItem();
if (thing5.Num > 1)
thing7 = list12.RandomItem();
if (thing7.Num > 1)
{
thing5 = thing5.Split(1);
thing7 = thing7.Split(1);
}
}
CC.AddCooldown(6640, 200);
}
if (thing5 == null)
if (thing7 == null)
{
CC.Say("abStealNothing", CC, TC);
break;
}
thing5.SetInt(116, 1);
TC.PlaySound(thing5.material.GetSoundDrop(thing5.sourceCard));
CC.Pick(thing5, msg: false);
CC.Say("abSteal", CC, TC, thing5.Name);
thing7.SetInt(116, 1);
TC.PlaySound(thing7.material.GetSoundDrop(thing7.sourceCard));
CC.Pick(thing7, msg: false);
CC.Say("abSteal", CC, TC, thing7.Name);
if (actRef.n1 == "food")
{
if (CC.hunger.value != 0)
{
CC.InstantEat(thing5);
CC.InstantEat(thing7);
}
}
elsevoid AddCon<T>(int rate, int p2) where T : Condition
{
break;
}
List<Thing> list10 = TC.things.List(delegate(Thing thing8)
List<Thing> list4 = TC.things.List(delegate(Thing thing8)
{
if (!thing8.isEquipped || thing8.blessedState == BlessedState.Doomed || thing8.IsToolbelt)
{void AddCon<T>(int rate, int p2) where T : Condition
}
return (thing8.blessedState < BlessedState.Blessed || EClass.rnd(10) == 0) ? true : false;
});
if (list10.Count == 0)
if (list4.Count == 0)
{
CC.SayNothingHappans();
break;
}
Thing thing7 = list10.RandomItem();
TC.Say("curse_hit", TC, thing7);
thing7.SetBlessedState((thing7.blessedState == BlessedState.Cursed) ? BlessedState.Doomed : BlessedState.Cursed);
LayerInventory.SetDirty(thing7);
Thing thing5 = list4.RandomItem();
TC.Say("curse_hit", TC, thing5);
thing5.SetBlessedState((thing5.blessedState == BlessedState.Cursed) ? BlessedState.Doomed : BlessedState.Cursed);
LayerInventory.SetDirty(thing5);
break;
}
case EffectId.UncurseEQ:void AddCon<T>(int rate, int p2) where T : Condition
}
int success = 0;
int fail = 0;
List<Thing> list11 = new List<Thing>();
List<Thing> list9 = new List<Thing>();
TC.things.Foreach(delegate(Thing thing8)
{
int num23 = 0;
int num25 = 0;
if ((thing8.isEquipped || thing8.IsRangedWeapon || blessed) && thing8.blessedState < BlessedState.Normal)
{
if (thing8.blessedState == BlessedState.Cursed)
{
num23 = EClass.rnd(200);
num25 = EClass.rnd(200);
}
if (thing8.blessedState == BlessedState.Doomed)
{
num23 = EClass.rnd(1000);
num25 = EClass.rnd(1000);
}
if (blessed)
{
num23 /= 2;
num25 /= 2;
}
if (id == EffectId.UncurseEQGreater)
{
num23 /= 10;
num25 /= 10;
}
if (power >= num23)
if (power >= num25)
{
TC.Say("uncurseEQ_success", thing8);
thing8.SetBlessedState(BlessedState.Normal);void AddCon<T>(int rate, int p2) where T : Condition
}
LayerInventory.SetDirty(thing8);
success++;
list11.Add(thing8);
list9.Add(thing8);
}
else
{void AddCon<T>(int rate, int p2) where T : Condition
}
}
});
foreach (Thing item7 in list11)
foreach (Thing item7 in list9)
{
item7.GetRootCard()?.TryStack(item7);
}void AddCon<T>(int rate, int p2) where T : Condition
text2 = text3;
}
}
Condition condition2 = Condition.Create(text2, power, delegate(Condition con)
Condition condition = Condition.Create(text2, power, delegate(Condition con)
{
if (!actRef.aliasEle.IsEmpty())
{
con.SetElement(EClass.sources.elements.alias[actRef.aliasEle].id);
}
});
condition2.isPerfume = TC.IsPC && actRef.isPerfume;
Condition condition3 = TC.AddCondition(condition2);
if (condition3 != null && condition3.isPerfume)
condition.isPerfume = TC.IsPC && actRef.isPerfume;
Condition condition2 = TC.AddCondition(condition);
if (condition2 != null && condition2.isPerfume)
{
condition3.value = 3;
condition2.value = 3;
Msg.Say("perfume", TC);
}
if (!text3.IsEmpty())void AddCon<T>(int rate, int p2) where T : Condition
bool hex = CC.IsHostile(TC);
List<SourceStat.Row> list7 = EClass.sources.stats.rows.Where((SourceStat.Row con) => con.tag.Contains("random") && con.group == (hex ? "Debuff" : "Buff")).ToList();
int power2 = power;
for (int num17 = 0; num17 < 4 + EClass.rnd(2); num17++)
for (int num20 = 0; num20 < 4 + EClass.rnd(2); num20++)
{
SourceStat.Row row2 = list7.RandomItem();
list7.Remove(row2);void AddCon<T>(int rate, int p2) where T : Condition
{
power = power * 2 / 3;
}
int num14 = TC.WIL * (isPowerful ? 20 : 5);
ConHolyVeil condition = TC.GetCondition<ConHolyVeil>();
if (condition != null)
int num13 = TC.WIL * (isPowerful ? 20 : 5);
ConHolyVeil condition3 = TC.GetCondition<ConHolyVeil>();
if (condition3 != null)
{
num14 += condition.power * 5;
num13 += condition3.power * 5;
}
num14 /= EClass.sources.stats.alias[n].hexPower;
if (id != EffectId.DebuffKizuami && EClass.rnd(power) < num14)
num13 /= EClass.sources.stats.alias[n].hexPower;
if (id != EffectId.DebuffKizuami && EClass.rnd(power) < num13)
{
int num15 = 10;
int num16 = (TC.IsPowerful ? 40 : 90);
int num14 = 10;
int num15 = (TC.IsPowerful ? 40 : 90);
if (CC.IsPCFaction)
{
num15 += EClass.curve(CC.LER, 100, 50) / 10;
num14 += EClass.curve(CC.LER, 100, 50) / 10;
}
if (TC.IsPowerful)
{
num15 /= 2;
num14 /= 2;
}
if (condition != null)
if (condition3 != null)
{
num15 /= 5;
num14 /= 5;
}
if (num15 >= num16)
if (num14 >= num15)
{
num15 = num16;
num14 = num15;
}
if (EClass.rnd(100) > num15)
if (EClass.rnd(100) > num14)
{
TC.Say("debuff_resist", TC);
CC.DoHostileAction(TC);void AddCon<T>(int rate, int p2) where T : Condition
case EffectId.Ally:
{
Msg.Say("gainAlly");
Chara chara = CharaGen.CreateFromFilter("chara", cc.LV);
EClass._zone.AddCard(chara, cc.pos.GetNearestPoint(allowBlock: false, allowChara: false));
Chara chara2 = CharaGen.CreateFromFilter("chara", cc.LV);
EClass._zone.AddCard(chara2, cc.pos.GetNearestPoint(allowBlock: false, allowChara: false));
if (cc.IsPCFactionOrMinion)
{
chara.MakeAlly(msg: false);
chara2.MakeAlly(msg: false);
}
chara.PlaySound("identify");
chara.PlayEffect("teleport");
chara2.PlaySound("identify");
chara2.PlayEffect("teleport");
break;
}
case EffectId.Wish:void AddCon<T>(int rate, int p2) where T : Condition
tc.bio.SetGender(gender2);
tc.Say("transGender", tc, Gender.Name(tc.bio.gender));
tc.Talk("tail");
int age3 = tc.bio.GetAge(tc.Chara);
if (blessed && age3 > 1)
int age2 = tc.bio.GetAge(tc.Chara);
if (blessed && age2 > 1)
{
tc.Say("ageDown", tc);
tc.bio.SetAge(tc.Chara, age3 - 1);
tc.bio.SetAge(tc.Chara, age2 - 1);
}
else if (flag)
{
tc.Say("ageUp", tc);
tc.bio.SetAge(tc.Chara, age3 + 1);
tc.bio.SetAge(tc.Chara, age2 + 1);
}
break;
}void AddCon<T>(int rate, int p2) where T : Condition
{
tc.PlaySound("mutation");
tc.PlayEffect("mutation");
int num13 = ((actRef.refThing != null) ? actRef.refThing.GetInt(118) : actRef.refVal);
if (num13 == 0)
int num17 = ((actRef.refThing != null) ? actRef.refThing.GetInt(118) : actRef.refVal);
if (num17 == 0)
{
num13 = tc.GetInt(118);
if (num13 == 0)
num17 = tc.GetInt(118);
if (num17 == 0)
{
num13 = EClass.game.seed + tc.uid;
num17 = EClass.game.seed + tc.uid;
}
num13++;
num17++;
}
tc.Say("transBlood", tc);
tc.Talk("tail");
tc.c_bloodData = null;
tc.SetInt(118, num13);
tc.SetInt(118, num17);
break;
}
case EffectId.ResetFeat:
{
if (!tc.IsPC)
{
tc.SayNothingHappans();
break;
}
tc.PlaySound("mutation");
tc.PlayEffect("mutation");
List<Element> list3 = new List<Element>();
foreach (Element value in EClass.pc.elements.dict.Values)
{
if (value.source.category != "feat" || value.id == 1644)
{
continue;
}
switch (value.source.categorySub)
{
case "general":
case "attribute":
case "skill":
case "special":
if (value.vBase > 0)
{
list3.Add(value);
}
break;
}
}
int num10 = 0;
foreach (Element item8 in list3)
{
for (int num11 = 0; num11 < item8.vBase; num11++)
{
num10 += item8.source.cost.TryGet(num11);
}
item8.vBase = 0;
EClass.pc.SetFeat(item8.Value, 0);
}
EClass.pc.feat += num10;
EClass.pc.Refresh();
EClass.pc.RefreshFaithElement();
LayerAbility.Redraw();
LayerInventory.SetDirtyAll();
LayerEquip.SetDirty();
tc.Say("resetFeat");
break;
}
case EffectId.Youth:void AddCon<T>(int rate, int p2) where T : Condition
tc.SayNothingHappans();
break;
}
int age2 = tc.bio.GetAge(tc.Chara);
int age3 = tc.bio.GetAge(tc.Chara);
if (flag)
{
if (tc.c_lockedAge != 0)void AddCon<T>(int rate, int p2) where T : Condition
tc.Say("eternalYouth2", tc);
tc.c_lockedAge = 0;
tc.elements.Remove(1243);
tc.bio.SetAge(tc.Chara, age2);
tc.bio.SetAge(tc.Chara, age3);
}
Redirect(EffectId.Youth, BlessedState.Cursed, default(ActRef));
}void AddCon<T>(int rate, int p2) where T : Condition
{
tc.PlaySound("dropRewardXmas");
tc.Say("eternalYouth1", tc);
tc.c_lockedAge = age2 + 1;
tc.c_lockedAge = age3 + 1;
tc.elements.SetBase(1243, 1);
if (blessed)
{void AddCon<T>(int rate, int p2) where T : Condition
break;
case EffectId.Revive:
{
List<KeyValuePair<int, Chara>> list3 = EClass.game.cards.globalCharas.Where((KeyValuePair<int, Chara> a) => a.Value.isDead && a.Value.faction == EClass.pc.faction && !a.Value.isSummon && a.Value.c_wasInPcParty).ToList();
List<KeyValuePair<int, Chara>> list11 = EClass.game.cards.globalCharas.Where((KeyValuePair<int, Chara> a) => a.Value.isDead && a.Value.faction == EClass.pc.faction && !a.Value.isSummon && a.Value.c_wasInPcParty).ToList();
if (TC.IsPCFaction || TC.IsPCFactionMinion)
{
if (TC.IsPC && list3.Count == 0)
if (TC.IsPC && list11.Count == 0)
{
list3 = EClass.game.cards.globalCharas.Where((KeyValuePair<int, Chara> a) => a.Value.CanRevive() && a.Value.isDead && a.Value.faction == EClass.pc.faction && !a.Value.isSummon).ToList();
list11 = EClass.game.cards.globalCharas.Where((KeyValuePair<int, Chara> a) => a.Value.CanRevive() && a.Value.isDead && a.Value.faction == EClass.pc.faction && !a.Value.isSummon).ToList();
}
if (list3.Count > 0)
if (list11.Count > 0)
{
list3.RandomItem().Value.Chara.GetRevived();
list11.RandomItem().Value.Chara.GetRevived();
break;
}
}void AddCon<T>(int rate, int p2) where T : Condition
case EffectId.DamageMindGreat:
case EffectId.Weaken:
{
bool flag10 = id == EffectId.DamageBody || id == EffectId.DamageBodyGreat;
bool flag9 = id == EffectId.DamageBody || id == EffectId.DamageBodyGreat;
bool mind = id == EffectId.DamageMind || id == EffectId.DamageMindGreat;
int num10 = ((id == EffectId.DamageBody || id == EffectId.DamageMind) ? 1 : (4 + EClass.rnd(4)));
int num18 = ((id == EffectId.DamageBody || id == EffectId.DamageMind) ? 1 : (4 + EClass.rnd(4)));
if (id == EffectId.Weaken)
{
flag10 = EClass.rnd(2) == 0;
mind = !flag10;
num10 = 1;
flag9 = EClass.rnd(2) == 0;
mind = !flag9;
num18 = 1;
}
else
{
TC.PlayEffect("debuff");
TC.PlaySound("debuff");
}
TC.Say(flag10 ? "damageBody" : "damageMind", TC);
for (int num11 = 0; num11 < num10; num11++)
TC.Say(flag9 ? "damageBody" : "damageMind", TC);
for (int num19 = 0; num19 < num18; num19++)
{
TC.DamageTempElements(power, flag10, mind, id != EffectId.Weaken);
TC.DamageTempElements(power, flag9, mind, id != EffectId.Weaken);
}
if (TC.IsPC)
{void AddCon<T>(int rate, int p2) where T : Condition
case EffectId.EnhanceBodyGreat:
case EffectId.EnhanceMindGreat:
{
bool flag12 = id == EffectId.EnhanceBody || id == EffectId.EnhanceBodyGreat;
bool flag10 = id == EffectId.EnhanceBody || id == EffectId.EnhanceBodyGreat;
bool mind2 = id == EffectId.EnhanceMind || id == EffectId.EnhanceMindGreat;
if (id != EffectId.EnhanceBody && id != EffectId.EnhanceMind)
{
EClass.rnd(4);
}
TC.Say(flag12 ? "enhanceBody" : "enhanceMind", TC);
TC.Say(flag10 ? "enhanceBody" : "enhanceMind", TC);
TC.PlayEffect("buff");
TC.PlaySound("buff");
TC.EnhanceTempElements(power, flag12, mind2, onlyRenew: true);
TC.EnhanceTempElements(power, flag10, mind2, onlyRenew: true);
break;
}
case EffectId.RestoreBody:
case EffectId.RestoreMind:
{
bool flag9 = id == EffectId.RestoreBody;
bool flag12 = id == EffectId.RestoreBody;
if (flag)
{
Redirect(flag9 ? EffectId.DamageBodyGreat : EffectId.DamageMindGreat, BlessedState.Normal, default(ActRef));
Redirect(flag12 ? EffectId.DamageBodyGreat : EffectId.DamageMindGreat, BlessedState.Normal, default(ActRef));
break;
}
TC.Say(flag9 ? "restoreBody" : "restoreMind", TC);
TC.Say(flag12 ? "restoreBody" : "restoreMind", TC);
TC.PlaySound("heal");
TC.PlayEffect("heal");
TC.CureHost(flag9 ? CureType.CureBody : CureType.CureMind, power, state);
TC.CureHost(flag12 ? CureType.CureBody : CureType.CureMind, power, state);
if (blessed)
{
Redirect(flag9 ? EffectId.EnhanceBodyGreat : EffectId.EnhanceMindGreat, BlessedState.Normal, default(ActRef));
Redirect(flag12 ? EffectId.EnhanceBodyGreat : EffectId.EnhanceMindGreat, BlessedState.Normal, default(ActRef));
}
break;
}void AddCon<T>(int rate, int p2) where T : Condition
Redirect(EffectId.CurseEQ, BlessedState.Normal, default(ActRef));
break;
}
IList<Condition> list4 = TC.conditions.Copy();
list4.Shuffle();
IList<Condition> list5 = TC.conditions.Copy();
list5.Shuffle();
CC.PlaySound("remove_hex");
CC.PlayEffect("remove_hex");
foreach (Condition item8 in list4)
foreach (Condition item9 in list5)
{
if (item8.Type != ConditionType.Debuff || item8.IsKilled)
if (item9.Type != ConditionType.Debuff || item9.IsKilled)
{
continue;
}
if (EClass.rnd(power * (CC.IsPowerful ? 5 : 2)) > EClass.rnd(item8.power) || (id == EffectId.RemoveHex && EClass.rnd(2) == 0))
if (EClass.rnd(power * (CC.IsPowerful ? 5 : 2)) > EClass.rnd(item9.power) || (id == EffectId.RemoveHex && EClass.rnd(2) == 0))
{
CC.Say("removeHex", TC, item8.Name.ToLower());
item8.Kill();
CC.Say("removeHex", TC, item9.Name.ToLower());
item9.Kill();
}
else
{
if (id == EffectId.RemoveHexAll)
{
item8.power /= 2;
item9.power /= 2;
}
CC.Say("removeHex_fail", TC, item8.Name.ToLower());
CC.Say("removeHex_fail", TC, item9.Name.ToLower());
}
if (id == EffectId.RemoveHex)
{void AddCon<T>(int rate, int p2) where T : Condition
CC.SayNothingHappans();
break;
}
Chara chara2 = CharaGen.Create("baby");
chara2.c_altName = TC.c_altName ?? TC.source.GetName(TC);
Chara chara = CharaGen.Create("baby");
chara.c_altName = TC.c_altName ?? TC.source.GetName(TC);
TC.AddCondition(Condition.Create(power, delegate(ConTransmuteHuman con)
{
con.chara = chara2;
con.chara = chara;
}));
break;
}void AddCon<T>(int rate, int p2) where T : Condition
if (TC.HasElement(1211))
{
TC.Say("drinkSaltWater_snail", TC);
int num22 = ((TC.hp > 10) ? (TC.hp - EClass.rnd(10)) : 10000);
TC.DamageHP(num22, AttackSource.None, CC);
int num16 = ((TC.hp > 10) ? (TC.hp - EClass.rnd(10)) : 10000);
TC.DamageHP(num16, AttackSource.None, CC);
}
else if (TC.IsPC)
{void AddCon<T>(int rate, int p2) where T : Condition
{
TC.PlayEffect("buff");
TC.PlaySound("offering");
int num20 = TC.Evalue(1423);
if (num20 > 0)
int num23 = TC.Evalue(1423);
if (num23 > 0)
{
int num21 = 0;
if (flag && num20 > 1)
int num24 = 0;
if (flag && num23 > 1)
{
num21 = -1;
num24 = -1;
}
else if (num20 < 15)
else if (num23 < 15)
{
num21 = ((!blessed) ? 1 : 2);
if (num21 + num20 > 15)
num24 = ((!blessed) ? 1 : 2);
if (num24 + num23 > 15)
{
num21 = 1;
num24 = 1;
}
}
if (num21 != 0)
if (num24 != 0)
{
TC.SetFeat(1423, num20 + num21, msg: true);
TC.SetInt(134, TC.GetInt(134) + num21);
TC.SetFeat(1423, num23 + num24, msg: true);
TC.SetInt(134, TC.GetInt(134) + num24);
}
}
}void AddCon<T>(int rate, int p2) where T : Condition
{
power /= 4;
}
List<Thing> list9 = TC.things.List((Thing thing8) => (thing8.Num <= 1 && thing8.IsEquipmentOrRanged && !thing8.IsToolbelt && !thing8.IsLightsource && thing8.isEquipped) ? true : false);
if (list9.Count != 0)
List<Thing> list8 = TC.things.List((Thing thing8) => (thing8.Num <= 1 && thing8.IsEquipmentOrRanged && !thing8.IsToolbelt && !thing8.IsLightsource && thing8.isEquipped) ? true : false);
if (list8.Count != 0)
{
Thing thing6 = list9.RandomItem();
Thing thing6 = list8.RandomItem();
TC.Say("acid_hit", TC);
if (thing6.isAcidproof)
{Chara โ
public void SetFeat(int id, int value = 1, bool msg = false)
feat.Apply(-feat.Value, elements);
}
feat = elements.SetBase(id, value - (feat?.vSource ?? 0)) as Feat;
if (feat.Value != 0)
if (feat != null && feat.Value != 0)
{
feat.Apply(feat.Value, elements);
}public void SetFeat(int id, int value = 1, bool msg = false)
{
return;
}
if (feat.source.textInc.IsEmpty())
if (feat != null)
{
PlaySound("ding_skill");
Msg.SetColor(Msg.colors.Ding);
Say("gainFeat", this, feat.FullName);
}
else
{
bool flag = value < num;
if (feat.source.tag.Contains("neg"))
if (feat.source.textInc.IsEmpty())
{
flag = !flag;
PlaySound("ding_skill");
Msg.SetColor(Msg.colors.Ding);
Say("gainFeat", this, feat.FullName);
}
switch (id)
else
{
case 1270:
if (!flag)
bool flag = value < num;
if (feat.source.tag.Contains("neg"))
{
PlaySound("chime_angel");
flag = !flag;
}
break;
case 1271:
if (!flag)
switch (id)
{
PlaySound("chime_devil");
case 1270:
if (!flag)
{
PlaySound("chime_angel");
}
break;
case 1271:
if (!flag)
{
PlaySound("chime_devil");
}
break;
default:
PlaySound("mutation");
break;
}
break;
default:
PlaySound("mutation");
break;
Msg.SetColor(flag ? Msg.colors.Negative : Msg.colors.Ding);
Say((value > num) ? feat.source.GetText("textInc") : feat.source.GetText("textDec"), this, feat.FullName);
}
Msg.SetColor(flag ? Msg.colors.Negative : Msg.colors.Ding);
Say((value > num) ? feat.source.GetText("textInc") : feat.source.GetText("textDec"), this, feat.FullName);
}
elements.CheckSkillActions();
}CoreConfig โ
public int outlineAlpha;
public int maxInvColumn = 40;
public float ScrollSensitivity => baseScrollSens * scrollSens * scrollSens;
}EffectId โ
Fuse = 320,
BlueDrag = 321,
Comet = 322,
Missile = 323
Missile = 323,
ResetFeat = 324
}Game โ
});
if (version.nightly)
{
if (EClass.game.quests.IsCompleted("into_darkness") && EClass.pc.body.GetSlot(46, onlyEmpty: false) == null)
if (EClass.game.quests.IsCompleted("into_darkness"))
{
CoreDebug._AddBodyPart(CoreDebug.BodyCode.relic);
if (EClass.pc.body.GetSlot(46, onlyEmpty: false) == null)
{
CoreDebug._AddBodyPart(CoreDebug.BodyCode.relic);
}
if (!player.recipes.IsKnown("relic_lesser") || EClass.debug.enable)
{
player.recipes.Add("relic_lesser");
}
}
}
else if (EClass.pc.body.GetSlot(46, onlyEmpty: false) != null)UIInventory โ
{
data.columns = (int)num;
RefreshGrid();
}, 0f, 20f, isInt: true, hideOther: false);
}, 0f, EMono.core.config.ui.maxInvColumn, isInt: true, hideOther: false);
}
uIContextMenu6.AddButton("colorGrid", delegate
{