EA 23.195 Nightly
September 6, 2025
26 files modified. 2 new files created.
Important Changes
None.
AI_PlayMusic
public override IEnumerable<Status> Run()
case "piano_gould":
idSong = "piano_gould";
break;
case "piano_killkill":
case "piano2":
idSong = "piano_neko";
break;public void ThrowReward(Chara c, bool punish)
{
text = "casino_coin";
}
if (owner.IsPC && !EClass._zone.IsInstance)
{
if (c.LV >= 20 && EClass.rnd(10 * (int)Mathf.Pow(2f, EClass.player.flags.reward_killkill + 1)) == 0)
{
text = "piano_killkill";
punish = true;
EClass.player.flags.reward_killkill++;
}
if (c.LV >= 40 && EClass.rnd(10 * (int)Mathf.Pow(2f, EClass.player.flags.reward_gould + 1)) == 0)
{
text = "piano_gould";
punish = true;
EClass.player.flags.reward_gould++;
}
}
}
else
{public void ThrowReward(Chara c, bool punish)
if (!owner.IsPC && owner.things.IsFull())
{
thing.Destroy();
return;
}
owner.Pick(thing);
if (thing.id == "money" && !owner.IsPC)
else
{
int num2 = (owner.Evalue(241) * 10 + 100) / ((owner.IsPCFaction && owner.memberType == FactionMemberType.Default) ? 1 : 10);
if (owner.GetCurrency() - num2 > 0)
if (!owner.IsAliveInCurrentZone)
{
return;
}
owner.Pick(thing);
if (thing.id == "money" && !owner.IsPC)
{
owner.c_allowance += num;
owner.ModCurrency(-num);
int num2 = (owner.Evalue(241) * 10 + 100) / ((owner.IsPCFaction && owner.memberType == FactionMemberType.Default) ? 1 : 10);
if (owner.GetCurrency() - num2 > 0)
{
owner.c_allowance += num;
owner.ModCurrency(-num);
}
}
}
}ActEffect
public static bool DamageEle(Card CC, EffectId id, int power, Element e, List<Po
power = power * actref.refThing.material.hardness / 10;
}
string text = id.ToString();
string text2 = (EClass.sources.calc.map.ContainsKey(text) ? text : (EClass.sources.calc.map.ContainsKey("Sp" + text) ? ("Sp" + text) : (text.ToLower() + "_")));
string text2 = (EClass.sources.calc.map.ContainsKey(text) ? text : (EClass.sources.calc.map.ContainsKey("Sp" + text) ? ("Sp" + text) : (text.ToLowerInvariant() + "_")));
foreach (Point p in points)
{
bool flag2 = true;public static bool DamageEle(Card CC, EffectId id, int power, Element e, List<Po
attackSource = AttackSource.MoonSpear;
}
}
if (id == EffectId.Sword)
switch (id)
{
case EffectId.Arrow:
attackSource = AttackSource.MagicArrow;
break;
case EffectId.Sword:
attackSource = AttackSource.MagicSword;
break;
}
long num4 = 0L;
bool isChara = CC.isChara;ActRush
public override bool Perform()
Act.CC.Say("rush", Act.CC, Act.TC);
Act.CC.PlaySound("rush");
Act.CC.pos.PlayEffect("vanish");
return Attack(1f + 0.1f * (float)num);
float num2 = 1f + 0.1f * (float)num;
num2 = num2 * (float)(100 + EClass.curve(Act.CC.Evalue(382), 50, 25, 65)) / 100f;
Attack(num2);
if (Act.TC.isChara && Act.TC.ExistsOnMap && Act.CC.HasElement(382))
{
if (!Act.TC.IsPowerful || EClass.rnd(4) == 0)
{
Act.TC.Chara.AddCondition<ConParalyze>(2, force: true);
}
if (!Act.TC.IsPowerful || EClass.rnd(3) == 0)
{
Act.TC.Chara.AddCondition<ConDim>(5, force: true);
}
if (!Act.TC.IsPowerful || EClass.rnd(2) == 0)
{
Act.TC.Chara.AddCondition<ConConfuse>(8, force: true);
}
}
return true;
}
}ActThrow
public static EffectIRenderer Throw(Card c, Point p, Card target, Thing t, Throw
result = Effect.Get<EffectIRenderer>((t.trait is TraitBall) ? "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))
if (!t.HasElement(410) || method == ThrowMethod.Punish)
{
t._Move(p);
}public static EffectIRenderer Throw(Card c, Point p, Card target, Thing t, Throw
if (!flag && Act.TC != null)
{
AttackProcess.Current.Prepare(c.Chara, t, Act.TC, Act.TP, 0, _isThrow: true);
if (method == ThrowMethod.Punish && t.rarity >= Rarity.Legendary)
{
AttackProcess.Current.critFury = true;
}
if (AttackProcess.Current.Perform(0, hasHit: false))
{
if (Act.TC.IsAliveInCurrentZone && t.trait is TraitErohon && Act.TC.id == t.c_idRefName)AttackProcess
public void Prepare(Chara _CC, Thing _weapon, Card _TC = null, Point _TP = null,
toHitBase = toHitBase * 75 / 100;
}
penetration = Mathf.Clamp(weaponSkill.Value / 10 + 5, 5, 20) + CC.Evalue(92);
if (CC.HasElement(1244))
{
penetration += 25;
}
if (IsMartialWeapon)
{
dBonus += weapon.DMG; crit = true;
return true;
}
if (CC.HasElement(1244) && CC.HasCondition<ConSevenSense>())
{
return true;
}
if (TC != null)
{
if (TC.HasCondition<ConDim>() && EClass.rnd(4) == 0)AttackSource
DeathSentense,
Shockwave,
MagicSword,
MoonSpear
MoonSpear,
MagicArrow
}Card
public void DamageHP(int dmg, int ele, int eleP = 100, AttackSource attackSource
return;
}
bool flag = originalTarget != null;
Action onEvade = null;
if (isChara && !isRestrained && !HasElement(1241) && !flag)
{
AttackSource attackSource2 = attackSource;public void DamageHP(int dmg, int ele, int eleP = 100, AttackSource attackSource
{
num3 += 2;
}
if (attackSource == AttackSource.MagicArrow && origin != null && origin.HasElement(1244))
{
num3++;
}
dmg = Element.GetResistDamage(dmg, Evalue(e.source.aliasRef), num3);
dmg = dmg * 100 / (100 + Mathf.Clamp(Evalue(961) * 5, -50, 200));
dmg = dmg * Mathf.Max(100 - Evalue(93), 10) / 100;public void DamageHP(int dmg, int ele, int eleP = 100, AttackSource attackSource
}
ZoneInstanceBout zoneInstanceBout = EClass._zone.instance as ZoneInstanceBout;
bool flag2 = false;
bool flag3 = false;
if (hp < 0 && Religion.recentWrath == null)
{
if (isRestrained && IsPCFaction && EClass._zone.IsPCFaction && (!IsPC || (Chara.ai is AI_Torture && Chara.ai.IsRunning)))
{
EvadeDeath();
EvadeDeath(null);
if (Chara.stamina.value > 0 && (EClass.rnd(2) == 0 || !IsPC))
{
Chara.stamina.Mod(-1);public void DamageHP(int dmg, int ele, int eleP = 100, AttackSource attackSource
}
else if (IsInstalled && pos.HasBlock && trait.IsDoor)
{
EvadeDeath();
EvadeDeath(null);
}
else if (!trait.CanBeDestroyed)
{
EvadeDeath();
EvadeDeath(null);
}
else if (HasEditorTag(EditorTag.Invulnerable) || (HasEditorTag(EditorTag.InvulnerableToMobs) && (origin == null || !origin.IsPCParty)))
{
EvadeDeath();
EvadeDeath(null);
}
else if (isChara)
{
if (Chara.HasCondition<ConInvulnerable>())
{
EvadeDeath();
EvadeDeath(null);
}
else if (IsPC && EClass.debug.godMode)
{
EvadeDeath();
EvadeDeath(null);
}
else if (Chara.host != null || (weapon != null && weapon.HasElement(485)))
{
EvadeDeath();
EvadeDeath(null);
flag2 = true;
}
else
{
if (origin != null && origin != this && Evalue(436) > 0 && !HasCondition<ConFractured>())
{
int num13 = (HasElement(1218) ? MaxHP : (MaxHP / 2));
if (num10 > num13)
int half = (HasElement(1218) ? MaxHP : (MaxHP / 2));
if (num10 > half)
{
EvadeDeath();
flag3 = true;
Chara.AddCondition<ConFractured>((int)Mathf.Max(10f, 30f - Mathf.Sqrt(Evalue(436))));
hp = Mathf.Min(num13 * (int)Mathf.Sqrt(Evalue(436) * 2) / 100, MaxHP / 3);
goto IL_0ed7;
EvadeDeath(delegate
{
Say("guts", this);
Chara.AddCondition<ConFractured>((int)Mathf.Max(10f, 30f - Mathf.Sqrt(Evalue(436))));
hp = Mathf.Min(half * (int)Mathf.Sqrt(Evalue(436) * 2) / 100, MaxHP / 3);
});
goto IL_0e69;
}
}
if (zoneInstanceBout != null && (bool)LayerDrama.Instance)
{
EvadeDeath();
EvadeDeath(null);
}
else if (LayerDrama.IsActive() && IsPC)
{
EvadeDeath();
EvadeDeath(null);
}
else
{public void DamageHP(int dmg, int ele, int eleP = 100, AttackSource attackSource
}
if (EClass.player.invlunerable)
{
EvadeDeath();
goto IL_0ed7;
EvadeDeath(null);
goto IL_0e69;
}
}
if (Evalue(1220) > 0 && Chara.stamina.value >= (IsPC ? (Chara.stamina.max / 2) : (Chara.stamina.max / 3 * 2)))
{
Say("fate", this);
PlaySound("revive");
PlayEffect("aura_heaven");
Chara.stamina.Mod(-Chara.stamina.max / 2);
Chara.AddCondition<ConInvulnerable>();
EvadeDeath();
EvadeDeath(delegate
{
Say("fate", this);
PlaySound("revive");
PlayEffect("aura_heaven");
Chara.stamina.Mod(-Chara.stamina.max / 2);
Chara.AddCondition<ConInvulnerable>();
});
}
}
}
}
}
goto IL_0ed7;
IL_0ed7:
goto IL_0e69;
IL_0e69:
if (trait.CanBeAttacked)
{
renderer.PlayAnime(AnimeID.HitObj);public void DamageHP(int dmg, int ele, int eleP = 100, AttackSource attackSource
}
else if (isChara)
{
int num14 = ((attackSource != AttackSource.Condition && attackSource != AttackSource.WeaponEnchant) ? 1 : 2);
if (num9 >= num14)
int num13 = ((attackSource != AttackSource.Condition && attackSource != AttackSource.WeaponEnchant) ? 1 : 2);
if (num9 >= num13)
{
if (e != Element.Void)
{public void DamageHP(int dmg, int ele, int eleP = 100, AttackSource attackSource
}
}
}
if (flag3)
{
Say("guts", this);
}
onEvade?.Invoke();
if (isChara)
{
if (flag2)public void DamageHP(int dmg, int ele, int eleP = 100, AttackSource attackSource
}
if (attackSource == AttackSource.Melee || attackSource == AttackSource.Range)
{
int num15 = origin.Dist(this);
if (attackSource == AttackSource.Melee && HasElement(1221) && num15 <= Evalue(1221))
int num14 = origin.Dist(this);
if (attackSource == AttackSource.Melee && HasElement(1221) && num14 <= Evalue(1221))
{
int ele2 = ((Chara.MainElement == Element.Void) ? 924 : Chara.MainElement.id);
if (id == "hedgehog_ether")public void DamageHP(int dmg, int ele, int eleP = 100, AttackSource attackSource
Say("reflect_thorne", this, origin);
origin.DamageHP(Mathf.Clamp(dmg / 10, 1, MaxHP / (origin.IsPowerful ? 200 : 20)), ele2, Power, AttackSource.Condition, this);
}
if (HasElement(1223) && num15 <= Evalue(1223))
if (HasElement(1223) && num14 <= Evalue(1223))
{
int ele3 = ((Chara.MainElement == Element.Void) ? 923 : Chara.MainElement.id);
Say("reflect_acid", this, origin);public void DamageHP(int dmg, int ele, int eleP = 100, AttackSource attackSource
}
}
}
int num16 = ((EClass.rnd(2) == 0) ? 1 : 0);
int num15 = ((EClass.rnd(2) == 0) ? 1 : 0);
if (attackSource == AttackSource.Condition)
{
num16 = 1 + EClass.rnd(2);
num15 = 1 + EClass.rnd(2);
}
if (num16 > 0)
if (num15 > 0)
{
bool flag4 = Chara.HasCondition<ConPoison>() || ((e.id == 915 || e.id == 923) && ResistLv(Evalue(955)) < 4);
AddBlood(num16, flag4 ? 6 : (-1));
bool flag3 = Chara.HasCondition<ConPoison>() || ((e.id == 915 || e.id == 923) && ResistLv(Evalue(955)) < 4);
AddBlood(num15, flag3 ? 6 : (-1));
}
bool flag5 = true;
bool flag4 = true;
switch (e.id)
{
case 910:public void DamageHP(int dmg, int ele, int eleP = 100, AttackSource attackSource
}
break;
case 918:
flag5 = false;
flag4 = false;
if (Chance(30 + eleP / 5, 100))
{
Chara.AddCondition<ConParalyze>(eleP);
}
break;
case 914:
flag5 = false;
flag4 = false;
if (EClass.rnd(3) != 0)
{
if (Chance(30 + eleP / 5, 100))public void DamageHP(int dmg, int ele, int eleP = 100, AttackSource attackSource
}
break;
case 920:
flag5 = false;
flag4 = false;
if (Chance(5 + eleP / 25, 40))
{
Chara.AddCondition<ConBlind>(eleP / 2);public void DamageHP(int dmg, int ele, int eleP = 100, AttackSource attackSource
Chara.AddCondition<ConGravity>(2000);
Condition.ignoreEffect = false;
}
if (Chara.conSleep != null && flag5)
if (Chara.conSleep != null && flag4)
{
Chara.conSleep.Kill();
}
if (IsPC)
{
float num17 = (float)hp / (float)MaxHP;
float num16 = (float)hp / (float)MaxHP;
if (Evalue(1421) > 0)
{
num17 = (float)Chara.mana.value / (float)Chara.mana.max;
num16 = (float)Chara.mana.value / (float)Chara.mana.max;
}
if (num17 < 0.3f)
if (num16 < 0.3f)
{
PlaySound("heartbeat", 1f - num17 * 2f);
PlaySound("heartbeat", 1f - num16 * 2f);
}
}
if (!IsPC && hp < MaxHP / 5 && Evalue(423) <= 0 && dmg * 100 / MaxHP + 10 > EClass.rnd(IsPowerful ? 400 : 150) && !HasCondition<ConFear>()) }
return false;
}
void EvadeDeath()
void EvadeDeath(Action action)
{
hp = 0;
if (Evalue(1421) > 0 && isChara && Chara.mana.value < 0)
{
Chara.mana.value = 0;
}
onEvade = action;
}
void Heal()
{ int valueOrDefault2 = (origin.Evalue(661) + weapon?.Evalue(661, ignoreGlobalElement: true)).GetValueOrDefault();
if (valueOrDefault > 0 && attackSource == AttackSource.Melee && origin.isChara && !origin.Chara.ignoreSPAbsorb && Chara.IsHostile(origin as Chara))
{
int num18 = EClass.rnd(3 + Mathf.Clamp(dmg / 100, 0, valueOrDefault / 10));
origin.Chara.stamina.Mod(num18);
int num17 = EClass.rnd(3 + Mathf.Clamp(dmg / 100, 0, valueOrDefault / 10));
origin.Chara.stamina.Mod(num17);
if (IsAliveInCurrentZone)
{
Chara.stamina.Mod(-num18);
Chara.stamina.Mod(-num17);
}
}
if (origin.HasElement(1350) && attackSource == AttackSource.Melee)
{
int num19 = EClass.rndHalf(2 + Mathf.Clamp(dmg / 10, 0, origin.Chara.GetPietyValue() + 10));
origin.Chara.mana.Mod(num19);
int num18 = EClass.rndHalf(2 + Mathf.Clamp(dmg / 10, 0, origin.Chara.GetPietyValue() + 10));
origin.Chara.mana.Mod(num18);
if (IsAliveInCurrentZone)
{
Chara.mana.Mod(-num19);
Chara.mana.Mod(-num18);
}
}
if (valueOrDefault2 > 0 && attackSource == AttackSource.Melee)
{
int num20 = EClass.rnd(2 + Mathf.Clamp(dmg / 10, 0, valueOrDefault2 + 10));
origin.Chara.mana.Mod(num20);
int num19 = EClass.rnd(2 + Mathf.Clamp(dmg / 10, 0, valueOrDefault2 + 10));
origin.Chara.mana.Mod(num19);
if (IsAliveInCurrentZone)
{
Chara.mana.Mod(-num20);
Chara.mana.Mod(-num19);
}
}
}public void SpawnLoot(Card origin)
int num4 = array[1].ToInt();
if (num4 >= 1000 || num4 > EClass.rnd(1000) || EClass.debug.godMode)
{
CardRow cardRow = EClass.sources.cards.map[array[0]];
if (cardRow != null && cardRow.Category.slot != 0 && cardRow.quality == 0 && EClass.pc.Evalue(1660) * 25 > EClass.rnd(100))
{
CardBlueprint.SetRarity(Rarity.Legendary);
}
list.Add(ThingGen.Create(array[0]).SetNum((num4 < 1000) ? 1 : (num4 / 1000 + ((EClass.rnd(1000) > num4 % 1000) ? 1 : 0))));
}
}public void ApplyBacker(int bid)
{
Chara.bio.SetGender(row.gender);
Chara.bio.SetPortrait(Chara);
Chara.idFaith = row.deity.ToLower();
Chara.idFaith = row.deity.ToLowerInvariant();
}
if (row.type == 4 || row.type == 5 || row.type == 7)
{Chara
public bool UseAbility(Act a, Card tc = null, Point pos = null, bool pt = false)
{
return false;
}
if (a.source.proc.TryGet(0) == "Heal" && HasElement(1422))
if (a.source.proc.TryGet(0) == "Heal" && HasElement(1422) && !IsPC)
{
List<int> list = new List<int> { 8400, 8401, 8402, 8403, 8404, 8405 };
int num = list.IndexOf(a.id);public bool UseAbility(Act a, Card tc = null, Point pos = null, bool pt = false)
{
num3 = 1 + Evalue(1648);
}
Debug.Log(cost.cost + "/" + a.Value);
if (IsPC && cost.cost > 0 && a.Value == 0)
{
Msg.SayNothingHappen();+ConSevenSense
File Created
public class ConSevenSense : ConBoost
{
}CoreDebug
}
if (Input.GetKeyDown(KeyCode.F4))
{
foreach (Chara member in EClass.pc.party.members)
{
member.InstantEat();
if (!member.IsPC)
{
string id = "test";
member.spriteReplacer = new SpriteReplacer();
member.spriteReplacer.HasSprite(id);
member._CreateRenderer();
}
}
for (int j = 0; j < 10; j++)
{
Thing thing2 = ThingGen.CreateFromCategory("fish", 999);
thing2.SetTier(EScriptable.rnd(4));
EClass.pc.Pick(thing2);
thing2 = ThingGen.Create("89");
thing2.SetTier(EScriptable.rnd(4));
EClass.pc.Pick(thing2);
}
EClass.pc.PlayEffect("phoenix");
EClass.ui.AddLayer<LayerCalendar>();
return;
}
if (Input.GetKeyDown(KeyCode.F5)) {
EClass.core.WaitForEndOfFrame(delegate
{
string id2 = (Input.GetKey(KeyCode.LeftControl) ? "quick3" : (Input.GetKey(KeyCode.LeftShift) ? "quick2" : "quick"));
string id = (Input.GetKey(KeyCode.LeftControl) ? "quick3" : (Input.GetKey(KeyCode.LeftShift) ? "quick2" : "quick"));
EClass.scene.Init(Scene.Mode.None);
Game.Load(id2, cloud: false);
Game.Load(id, cloud: false);
});
}
if (Input.GetKeyDown(KeyCode.F7)) if (Input.GetKey(KeyCode.F9))
{
EClass.scene.paused = false;
for (int k = 0; k < advanceMin; k++)
for (int j = 0; j < advanceMin; j++)
{
EClass.game.updater.FixedUpdate();
} {
for (int num4 = hitPoint.detail.things.Count - 1; num4 >= 0; num4--)
{
Thing thing3 = hitPoint.detail.things[num4];
Debug.Log(thing3.id + "/" + thing3.Pref.height + "/" + thing3.trait?.ToString() + "/" + thing3.source.tileType.CanStack + "/" + thing3.source.tileType?.ToString() + "/" + thing3.isSynced + "/" + RenderObject.syncList.Contains(thing3.renderer));
Thing thing2 = hitPoint.detail.things[num4];
Debug.Log(thing2.id + "/" + thing2.Pref.height + "/" + thing2.trait?.ToString() + "/" + thing2.source.tileType.CanStack + "/" + thing2.source.tileType?.ToString() + "/" + thing2.isSynced + "/" + RenderObject.syncList.Contains(thing2.renderer));
}
}
if (!Application.isEditor) case DebugHotkey.Item:
if (Input.GetKeyDown(KeyCode.Alpha1))
{
Thing thing4 = ThingGen.Create("stairsDown_cave");
Thing thing3 = ThingGen.Create("stairsDown_cave");
EClass._zone.AddCard(thing3, EClass.pc.pos);
thing3.SetPlaceState(PlaceState.installed);
}
if (Input.GetKeyDown(KeyCode.Alpha2))
{
Thing thing4 = ThingGen.Create("stairs");
EClass._zone.AddCard(thing4, EClass.pc.pos);
thing4.SetPlaceState(PlaceState.installed);
}
if (Input.GetKeyDown(KeyCode.Alpha2))
if (Input.GetKeyDown(KeyCode.Alpha3))
{
Thing thing5 = ThingGen.Create("stairs");
EClass._zone.AddCard(thing5, EClass.pc.pos);
Thing thing5 = ThingGen.Create("sign");
EClass._zone.AddCard(thing5, hitPoint);
thing5.SetPlaceState(PlaceState.installed);
}
if (Input.GetKeyDown(KeyCode.Alpha3))
if (Input.GetKeyDown(KeyCode.Alpha4))
{
Thing thing6 = ThingGen.Create("sign");
Thing thing6 = ThingGen.Create("sign2");
EClass._zone.AddCard(thing6, hitPoint);
thing6.SetPlaceState(PlaceState.installed);
}
if (Input.GetKeyDown(KeyCode.Alpha4))
if (Input.GetKeyDown(KeyCode.Alpha5))
{
Thing thing7 = ThingGen.Create("sign2");
Thing thing7 = ThingGen.Create("well");
EClass._zone.AddCard(thing7, hitPoint);
thing7.SetPlaceState(PlaceState.installed);
}
if (Input.GetKeyDown(KeyCode.Alpha5))
if (Input.GetKeyDown(KeyCode.Alpha6))
{
Thing thing8 = ThingGen.Create("well");
Thing thing8 = ThingGen.Create("altar");
EClass._zone.AddCard(thing8, hitPoint);
thing8.SetPlaceState(PlaceState.installed);
}
if (Input.GetKeyDown(KeyCode.Alpha6))
{
Thing thing9 = ThingGen.Create("altar");
EClass._zone.AddCard(thing9, hitPoint);
thing9.SetPlaceState(PlaceState.installed);
}
if (Input.GetKeyDown(KeyCode.Alpha7))
{
Thing t = ThingGen.Create("torch");public void InitDebugCommands()
}
break;
case 6:
if (!EClass.sources.religions.map.ContainsKey(row2.deity.ToLower()))
if (!EClass.sources.religions.map.ContainsKey(row2.deity.ToLowerInvariant()))
{
Debug.Log(row2.id + "/" + row2.Name + "/follower/" + row2.deity);
}DOMAIN
public Sprite GetSprite()
{
string text = source.alias.Remove(0, 3).ToLower();
string text = source.alias.Remove(0, 3).ToLowerInvariant();
return ResourceCache.Load<Sprite>("Media/Graphics/Image/Faction/" + text);
}
}ENC
public const int mod_ammo_recover = 604;
public const int negateShockwave = 430;
public const int seeInvisible = 416;
public const int breathing = 429;
public const int loving = 417;
public const int allNeckHunt = 428;
public const int innocence = 418;
public const int negateNeckHunt = 427;
public const int encTail = 419;
public const int negateConfusion = 425;
public const int negatePoison = 420;
public const int negateSleep = 424;
public const int negateBlind = 421;
public const int negateFear = 423;
public const int invisibility = 415;
public const int negateParalysis = 422;
public const int negateBlind = 421;
public const int negateSleep = 424;
public const int negatePoison = 420;
public const int negateConfusion = 425;
public const int encTail = 419;
public const int negateNeckHunt = 427;
public const int innocence = 418;
public const int allNeckHunt = 428;
public const int loving = 417;
public const int breathing = 429;
public const int seeInvisible = 416;
public const int negateShockwave = 430;
public const int invisibility = 415;
public const int negateFear = 423;
public const int defense_range = 435;
public const int encHit = 414;
public const int slowCorruption = 412;
public const int encSpell = 411;
public const int counter = 380;
public const int basher = 381;
public const int rusher = 382;
public const int negateTeleport = 400;
public const int levitation = 401;
public const int searchRange = 402;
public const int expMod = 403;
public const int slowCorruption = 412;
public const int defense_range = 435;
public const int expMod = 403;
public const int weightMod = 404;
public const int slowDecay = 405;
public const int resMutation = 406;
public const int throwReturn = 410;
public const int encSpell = 411;
public const int slowDecay = 405;
public const int weightMod = 404;
public const int guts = 436;
public const int bane_animal = 463;
public const int negateParry = 439;
public const int bane_man = 464;
public const int sustain_STR = 440;
public const int sustain_END = 441;
public const int sustain_DEX = 442;
public const int sustain_LER = 444;
public const int sustain_WIL = 445;
public const int sustain_PER = 443;
public const int sustain_CHA = 447;
public const int sustain_LER = 444;
public const int bane_fairy = 462;
public const int sustain_MAG = 446;
public const int sustain_WIL = 445;
public const int sustain_figure = 450;
public const int bane_dragon = 460;
public const int negateParry = 439;
public const int bane_undead = 461;
public const int sustain_MAG = 446;
public const int bane_fairy = 462;
public const int sustain_CHA = 447;
public const int bane_man = 464;
public static readonly int[] IDS = new int[99]
public static readonly int[] IDS = new int[100]
{
651, 650, 641, 640, 624, 609, 622, 621, 608, 620,
652, 623, 653, 851, 655, 656, 660, 661, 662, 663,
664, 665, 666, 850, 607, 865, 852, 654, 606, 426,
604, 430, 429, 428, 427, 425, 424, 423, 422, 421,
420, 419, 418, 417, 416, 415, 414, 412, 380, 381,
400, 401, 402, 403, 435, 404, 406, 605, 408, 409,
410, 411, 405, 436, 407, 438, 467, 468, 480, 481,
482, 483, 484, 485, 486, 488, 600, 601, 602, 603,
437, 466, 465, 487, 463, 439, 464, 440, 441, 442,
444, 445, 443, 447, 462, 450, 460, 461, 446
604, 416, 417, 418, 419, 420, 421, 415, 422, 424,
425, 427, 428, 429, 430, 423, 435, 414, 411, 380,
381, 382, 400, 401, 402, 412, 403, 405, 406, 605,
408, 409, 410, 404, 436, 407, 438, 467, 468, 480,
481, 482, 483, 484, 485, 486, 488, 600, 601, 602,
603, 437, 466, 465, 487, 463, 440, 441, 442, 443,
444, 446, 445, 450, 460, 439, 461, 462, 447, 464
};
}FACTION
public class FACTION
{
public const int bfHill = 3603;
public const int bfForest = 3601;
public const int bfSnow = 3602;
public const int bfHill = 3603;
public const int bfFertile = 3700;
public const int bfSea = 3605;
public const int bfUndersea = 3606;
public const int bfRuin = 3702;
public const int bfPlain = 3600;
public const int bfFertile = 3700;
public const int bfGeyser = 3701;
public const int bfRuin = 3702;
public const int bfBeach = 3604;
public const int bfCave = 3500;
public const int bfFish = 3706;
public const int fAdmin = 2115;
public const int fEducation = 2116;
public const int actBuildInspect = 4006;
public const int bfHunt = 3705;
public const int fConstruction = 2003;
public const int fAdmin = 2115;
public const int fEducation = 2116;
public const int fConstruction = 2003;
public static readonly int[] IDS = new int[53]
{
3601, 3602, 3603, 3605, 3606, 3702, 3600, 3700, 3701, 3604,
3603, 3601, 3602, 3700, 3605, 3606, 3600, 3701, 3702, 3604,
3500, 2201, 2206, 2205, 2204, 2203, 2202, 2200, 2120, 2119,
2117, 3703, 2118, 2207, 3704, 3805, 3706, 2115, 4006, 4005,
2117, 3703, 2118, 2207, 3704, 3805, 3706, 2116, 4006, 4005,
4004, 4003, 4002, 4001, 4000, 3900, 3804, 3803, 3802, 3801,
3800, 3784, 3783, 3782, 3781, 3780, 3710, 3709, 3708, 3707,
3705, 2003, 2116
3705, 2115, 2003
};
}
public class Faction : EClassFEAT
public const int featHardy = 1630;
public const int featParty = 1645;
public const int featSPD = 1629;
public const int featLuck = 1628;
public const int featCHA = 1627;
public const int featWIL = 1626;
public const int featHealer = 1422;
public const int featLuck = 1628;
public const int featManaMeat = 1421;
public const int featParty = 1645;
public const int featExecutioner = 1420;
public const int featLonelySoul = 1646;
public const int featRapidMagic = 1648;
public const int featUndead = 1210;
public const int featSummoner = 1647;
public const int featSnail = 1211;
public const int featFairyResist = 1212;
public const int featElea = 1213;
public const int featManaPrecision = 1214;
public const int featFisher = 1659;
public const int featDefender = 1649;
public const int featFairyResist = 1212;
public const int featExecutioner = 1420;
public const int featSummoner = 1647;
public const int featElea = 1213;
public const int featMilitant = 1419;
public const int featSwordsage = 1418;
public const int featLooter = 1660;
public const int featMeatCushion = 1241;
public const int featWitch = 1417;
public const int featGeneSlot = 1242;
public const int featEternalYouth = 1243;
public const int featCentaur = 1244;
public const int featSevenSense = 1245;
public const int featGod_element1 = 1300;
public const int featGod_earth1 = 1305;
public const int featGod_machine1 = 1315;
public const int featGod_healing1 = 1320;
public const int featGod_harvest1 = 1325;
public const int featGod_luck1 = 1330;
public const int featGod_harmony1 = 1335;
public const int featGod_oblivion1 = 1340;
public const int featPianist = 1405;
public const int featTourist = 1406;
public const int featMeatCushion = 1241;
public const int featMassSummoner = 1240;
public const int featPaladin = 1407;
public const int featDemon = 1239;
public const int featRoran = 1237;
public const int featElder = 1238;
public const int featMilitant = 1419;
public const int featSwordsage = 1418;
public const int featMetal = 1218;
public const int featUnderground = 1226;
public const int featServant = 1227;
public const int featTourist = 1406;
public const int featDemigod = 1228;
public const int featServant = 1227;
public const int featLittleOne = 1229;
public const int featAdam = 1230;
public const int featGolem = 1217;
public const int featNirvana = 1231;
public const int featBaby = 1232;
public const int featGolem = 1217;
public const int featCosmicHorror = 1233;
public const int featHeavyEater = 1234;
public const int featNorland = 1236;
public const int featElder = 1238;
public const int featRoran = 1237;
public const int featPaladin2 = 1408;
public const int featDemigod = 1228;
public const int featGod_luck1 = 1330;
public const int featPaladin = 1407;
public const int featGod_healing1 = 1320;
public const int featBoost = 1409;
public const int featReboot = 1410;
public const int featWhiteVixen = 1414;
public const int featFoxMaid = 1415;
public const int featWitch = 1417;
public const int featInquisitor = 1416;
public const int featBoost = 1409;
public const int featFoxMaid = 1415;
public const int featPaladin2 = 1408;
public static readonly int[] IDS = new int[119]
public static readonly int[] IDS = new int[122]
{
1216, 1644, 1643, 1642, 1641, 1640, 1636, 1635, 1634, 1633,
1632, 1631, 1630, 1645, 1629, 1627, 1626, 1625, 1624, 1623,
1622, 1621, 1620, 1612, 1611, 1610, 1422, 1628, 1421, 1646,
1648, 1215, 1200, 1201, 1202, 1203, 1204, 1205, 1206, 1207,
1208, 1209, 1210, 1647, 1211, 1214, 1659, 1658, 1657, 1656,
1655, 1654, 1653, 1652, 1651, 1650, 1649, 1212, 1420, 1213,
1418, 1241, 1242, 1243, 1300, 1305, 1310, 1315, 1320, 1325,
1335, 1340, 1345, 1350, 1355, 1400, 1401, 1402, 1403, 1404,
1405, 1406, 1240, 1407, 1239, 1237, 1419, 1218, 1219, 1220,
1221, 1222, 1223, 1224, 1225, 1226, 1227, 1228, 1229, 1230,
1217, 1231, 1232, 1233, 1234, 1235, 1236, 1238, 1408, 1330,
1410, 1411, 1412, 1413, 1414, 1415, 1417, 1416, 1409
1632, 1631, 1630, 1629, 1628, 1627, 1626, 1625, 1624, 1623,
1622, 1621, 1620, 1612, 1611, 1610, 1422, 1421, 1645, 1420,
1646, 1648, 1215, 1200, 1201, 1202, 1203, 1204, 1205, 1206,
1207, 1208, 1209, 1210, 1211, 1212, 1213, 1214, 1659, 1658,
1657, 1656, 1655, 1654, 1653, 1652, 1651, 1650, 1649, 1647,
1419, 1660, 1417, 1242, 1243, 1244, 1245, 1300, 1305, 1310,
1315, 1325, 1330, 1335, 1340, 1345, 1350, 1355, 1400, 1401,
1402, 1403, 1404, 1405, 1241, 1240, 1239, 1238, 1418, 1218,
1219, 1220, 1221, 1222, 1223, 1224, 1225, 1226, 1406, 1227,
1229, 1230, 1231, 1232, 1217, 1233, 1234, 1235, 1236, 1237,
1228, 1407, 1320, 1409, 1410, 1411, 1412, 1413, 1414, 1416,
1415, 1408
};
}
public class Feat : Elementpublic List<string> Apply(int a, ElementContainer owner, bool hint = false)
}
switch (id)
{
case 1660:
featRef[0] = (a * 25).ToString() ?? "";
break;
case 1206:
ModBase(78, -a * 10, hide: false);
break;FOOD
public const int food_love = 703;
public const int food_CHA = 700;
public const int gainWeight = 705;
public const int food_bug = 704;
public const int loseWeight = 706;
public const int kirimi = 707;
public const int food_bug = 704;
public const int food_human = 708;
public const int food_undead = 709;
public const int creativeDish = 764;
public const int justcooked = 757;
public const int kirimi = 707;
public const int food_god = 758;
public const int creativeDish = 764;
public const int food_CHA = 700;
public const int loseWeight = 706;
public const int food_undead = 709;
public const int justcooked = 757;
public static readonly int[] IDS = new int[13]
{
701, 702, 703, 700, 705, 704, 707, 708, 709, 757,
758, 764, 706
701, 702, 703, 705, 706, 704, 708, 764, 707, 758,
700, 709, 757
};
}Game
{
}
}
if (version.IsBelow(0, 23, 195))
{
Zone zone = spatials.Find("startVillage2");
if (zone != null && zone.visitCount > 0)
{
world.SendPackage(ThingGen.CreateParcel(null, ThingGen.CreateCassette(113), ThingGen.CreateCassette(12)));
}
}
if (version.IsBelow(0, 23, 52))
{
player.flags.toggleHotbarHighlightActivated = true;InvOwner
}
}
public string IDCurrency => currency.ToString().ToLower();
public string IDCurrency => currency.ToString().ToLowerInvariant();
public CurrencyType currency => Trader.currency;LayerAbility
public void SelectGroup(string id)
},
onList = delegate(UIList.SortMode m)
{
ELayer.player.pref.sortAbility = m;
List<Element> list = new List<Element>();
foreach (Element value in ELayer.pc.elements.dict.Values)
{+LayerCalendar
File Created
public class LayerCalendar : ELayer
{
}MUTATION
public class MUTATION
{
public const int mutationStrN = 1521;
public const int mutationStr = 1520;
public const int mutationSkin = 1510;
public const int mutationSpeedN = 1519;
public const int mutationSkinN = 1511;
public const int mutationRegenN = 1517;
public const int mutationEye = 1512;
public const int mutationDex = 1514;
public const int mutationEyeN = 1513;
public const int mutationDexN = 1515;
public const int mutationEyeN = 1513;
public const int mutationRegen = 1516;
public const int mutationEye = 1512;
public const int mutationRegenN = 1517;
public const int mutationSkinN = 1511;
public const int mutationCha = 1522;
public const int mutationSkin = 1510;
public const int mutationSpeedN = 1519;
public const int mutationRegen = 1516;
public const int mutationStr = 1520;
public const int mutationCha = 1522;
public const int mutationStrN = 1521;
public const int mutationDex = 1514;
public const int mutationSpeed = 1518;
public const int etherEye = 1553;
public const int mutationCold = 1526;
public const int mutationBrainN = 1525;
public const int mutationColdN = 1527;
public const int mutationCold = 1526;
public const int mutationLightning = 1528;
public const int mutationBody = 1530;
public const int mutationBrainN = 1525;
public const int mutationColdN = 1527;
public const int mutationHair = 1532;
public static readonly int[] IDS = new int[40]
{
1521, 1520, 1519, 1517, 1514, 1515, 1513, 1512, 1511, 1510,
1516, 1522, 1518, 1524, 1565, 1564, 1563, 1562, 1523, 1560,
1559, 1558, 1557, 1556, 1555, 1554, 1561, 1552, 1553, 1526,
1527, 1528, 1529, 1530, 1525, 1532, 1533, 1550, 1551, 1531
1510, 1511, 1512, 1513, 1515, 1516, 1517, 1522, 1519, 1520,
1521, 1514, 1518, 1524, 1565, 1564, 1563, 1562, 1523, 1560,
1559, 1558, 1557, 1556, 1555, 1554, 1561, 1552, 1553, 1525,
1526, 1528, 1529, 1530, 1527, 1532, 1533, 1550, 1551, 1531
};
}
public class Mutation : FeatPOLICY
{
public const int suite_room = 2813;
public const int license_furniture = 2819;
public const int mass_exhibition = 2814;
public const int platinum_ticket = 2815;
public const int license_food = 2818;
public const int license_furniture = 2819;
public const int license_general = 2820;
public const int egg_fan = 2826;
public const int celeb = 2822;
public const int legendary_exhibition = 2823;
public const int milk_fan = 2825;
public const int egg_fan = 2826;
public const int breed_season = 2827;
public const int license_slaver = 2828;
public const int tourist_safety = 2811;
public const int speed_growth = 2516;
public const int stop_growth = 2515;
public const int home_discount = 2800;
public const int weed_no = 2703;
public const int stop_growth = 2515;
public const int speed_growth = 2516;
public const int taxTransfer = 2705;
public static readonly int[] IDS = new int[51]
{
2813, 2814, 2815, 2816, 2817, 2818, 2819, 2820, 2822, 2823,
2824, 2825, 2826, 2827, 2828, 2812, 2821, 2811, 2516, 2800,
2813, 2819, 2814, 2815, 2816, 2817, 2818, 2820, 2826, 2822,
2823, 2824, 2825, 2827, 2828, 2812, 2821, 2811, 2515, 2800,
2508, 2509, 2510, 2511, 2505, 2504, 2503, 2502, 2501, 2500,
2810, 2507, 2512, 2513, 2514, 2506, 2700, 2702, 2703, 2515,
2810, 2507, 2512, 2513, 2514, 2506, 2700, 2702, 2703, 2516,
2705, 2706, 2707, 2704, 2709, 2710, 2711, 2712, 2715, 2701,
2708
};Player
}
}
public int reward_gould
{
get
{
return ints[19];
}
set
{
ints[19] = value;
}
}
public int reward_killkill
{
get
{
return ints[20];
}
set
{
ints[20] = value;
}
}
[OnSerializing]
private void _OnSerializing(StreamingContext context)
{ int mtp = ((num == 0) ? 100 : (75 + num * 25));
if (num > 0 || element2 == null || element2.vPotential == 0)
{
Msg.Say("dream_spell", EClass.sources.elements.alias[row.aliasRef].GetText("altname").Split(',')[0].ToLower());
Msg.Say("dream_spell", EClass.sources.elements.alias[row.aliasRef].GetText("altname").Split(',')[0].ToLowerInvariant());
EClass.pc.GainAbility(row.id, mtp);
}
}SKILL
public const int tactics = 132;
public const int fishing = 245;
public const int marksman = 133;
public const int climbing = 242;
public const int strategy = 135;
public const int eyeofmind = 134;
public const int fishing = 245;
public const int twowield = 131;
public const int gathering = 250;
public const int marksman = 133;
public const int eyeofmind = 134;
public const int blacksmith = 256;
public static readonly int[] IDS = new int[133]
{
50, 109, 110, 111, 120, 122, 123, 130, 132, 245,
50, 109, 110, 111, 120, 122, 123, 130, 132, 133,
242, 241, 240, 237, 235, 230, 227, 226, 225, 220,
210, 200, 152, 151, 150, 135, 134, 131, 207, 102,
210, 200, 152, 151, 150, 135, 245, 131, 207, 102,
107, 71, 70, 68, 67, 66, 65, 72, 64, 61,
60, 57, 56, 55, 51, 62, 73, 74, 75, 106,
105, 104, 103, 101, 100, 93, 92, 91, 90, 80,
79, 78, 77, 76, 108, 250, 133, 256, 916, 917,
79, 78, 77, 76, 108, 250, 134, 256, 916, 917,
918, 919, 920, 921, 922, 923, 924, 925, 926, 950,
951, 952, 915, 953, 956, 957, 958, 959, 960, 961,
962, 963, 964, 965, 970, 971, 972, 255, 954, 914,Scene
}
if (EMono.game.activeZone == zone)
{
EMono.pc.Teleport(EMono._zone.GetSpawnPos(EMono.pc, ZoneTransition.EnterState.Return), silent: true, force: true);
EMono.pc.Teleport(EMono._zone.GetSpawnPos(EMono.pc, ZoneTransition.EnterState.Return).GetNearestPoint() ?? EMono._map.GetCenterPos(), silent: true, force: true);
}
else
{StatsMana
public override void Mod(int a)
if (cC.IsAliveInCurrentZone)
{
cC.elements.ModExp(303, Mathf.Clamp(-a * 10, 10, 200));
if (cC.HasElement(1245) && !cC.HasCooldown(1245))
{
cC.AddCooldown(1245);
cC.AddCondition<ConSevenSense>(cC.Power);
cC.Cure(CureType.Boss);
cC.HealHP(cC.MaxHP / 2);
}
}
}
}ThingGen
public static Thing CreatePerfume(int ele, int num = 1)
return thing;
}
public static Thing CreateCassette(int id)
{
Thing thing = Create("856");
thing.refVal = id;
return thing;
}
public static Thing CreateLetter(string idLetter)
{
Thing thing = Create("letter");TraitTape
public override void SetName(ref string s)
public override void OnCreate(int lv)
{
if (EClass._map.plDay != null && EClass._map.plDay.list.Count > 0)
if (EClass.core.IsGameStarted && EClass._map.plDay != null && EClass._map.plDay.list.Count > 0)
{
owner.refVal = EClass._map.plDay.list[0].data.id;
}Zone
public Point GetRandomVisitPos(Chara c)
{
point = map.bounds.GetRandomSurface(centered: false, walkable: true, !IsPCFaction && !(this is Zone_Civilized)) ?? map.bounds.GetRandomPoint();
}
return point.GetNearestPoint(allowBlock: false, allowChara: false, allowInstalled: false) ?? EClass._map.GetCenterPos();
return point.GetNearestPoint(allowBlock: false, allowChara: false, allowInstalled: false) ?? EClass._map.GetCenterPos().GetNearestPoint();
}
public void AddGlobalCharasOnActivate()