EA 23.317 Nightly โ
June 16, 2026
14 files modified.
Important Changes โ
Possible breaking changes. Click the filename to view the chunk.
Card (1) โ
public Card MakeFoodFrom(Card c)
public Card MakeFoodFrom(Card c, bool makeRef = true) ActRanged โ
public static bool TryReload(Thing weapon, Thing ammo = null)
}
if (weapon.ammoData != null)
{
if (weapon.ammoData.Num > 0)
if (weapon.ammoData.Num > 0 && !(weapon.ammoData.trait is TraitAmmoTalisman))
{
Act.CC.Pick(weapon.ammoData);
}ActWater โ
using System.Collections.Generic;
using System.Collections.Generic;
using UnityEngine;
public class ActWater : Act
{
public TraitToolWaterCan waterCan;public override bool CanPerform()
public override bool Perform()
{
Act.CC.Say("water_ground", Act.CC);
if (!Act.TP.cell.IsTopWater && !Act.TP.cell.IsSnowTile)
int num = waterCan.owner.Evalue(770);
num = ((num <= 0) ? 1 : Mathf.Min(waterCan.owner.c_charges, 2 + num / 10));
if (num > 1)
{
Act.TP.cell.isWatered = true;
List<Point> list = EClass._map.ListPointsInCircle(Act.TP, num);
list.Sort((Point a, Point b) => a.Distance(Act.TP) - b.Distance(Act.TP));
foreach (Point item in list)
{
if (!IsWaterCanValid())
{
break;
}
Water(item);
}
}
foreach (Chara chara in Act.TP.Charas)
else
{
Water(Act.TP);
}
Act.CC.PlaySound("water_farm");
waterCan.owner.ModCharge(-num);
return base.Perform();
static void Water(Point pos)
{
bool flag = false;
if (chara.HasCondition<ConBurning>())
if (!pos.cell.IsTopWater && !pos.cell.IsSnowTile)
{
flag = true;
chara.Talk("thanks");
pos.cell.isWatered = true;
}
else if (!chara.IsPCParty && EClass.rnd(2) == 0)
foreach (Chara chara in pos.Charas)
{
chara.Say("water_evade", chara);
if (!chara.IsHostile())
bool flag = false;
if (chara.HasCondition<ConBurning>())
{
chara.Talk("scold");
flag = true;
chara.Talk("thanks");
}
else if (!chara.IsPCParty && EClass.rnd(2) == 0)
{
chara.Say("water_evade", chara);
if (!chara.IsHostile())
{
chara.Talk("scold");
}
continue;
}
chara.AddCondition<ConWet>();
if (!flag)
{
Act.CC.DoHostileAction(chara);
}
continue;
}
chara.AddCondition<ConWet>();
if (!flag)
{
Act.CC.DoHostileAction(chara);
}
}
Act.CC.PlaySound("water_farm");
waterCan.owner.ModCharge(-1);
return base.Perform();
}
public bool IsWaterCanValid(bool msg = true)CTAG โ
antiSpider,
shield,
humanSpeak,
throwBall
throwBall,
alwaysDropCorpse
}Card โ
public void SpawnLoot(Card origin)
list.Add(thing2);
}
}
bool flag2 = Chara.race.corpse[1].ToInt() > EClass.rnd(1500) || (Chara.IsPowerful && !IsPCFaction) || EClass.debug.godFood;
bool flag2 = Chara.race.corpse[1].ToInt() > EClass.rnd(1500) || (Chara.IsPowerful && !IsPCFaction) || EClass.debug.godFood || HasTag(CTAG.alwaysDropCorpse);
int num = 1;
if (!IsMinion && Chara.IsAnimal && EClass.rnd(EClass._zone.IsPCFaction ? 3 : 5) == 0)
{public void SpawnLoot(Card origin)
}
if (flag2 && !isUserZone)
{
string text = Chara.race.corpse[0];
bool num2 = text == "_meat";
int num3 = 10;
if (AI_Slaughter.slaughtering)
string text = id;
if (!(text == "bubble_pudding"))
{
num3 += (int)Mathf.Min(Mathf.Sqrt(EClass.pc.Evalue(290)), 20f);
}
if (EClass.rnd((Act.CurrentAct is ActMeleeBladeStorm || (origin != null && (origin.HasElement(1556) || origin.HasCondition<ConTransmuteCat>()))) ? 2 : 100) == 0)
{
text = "dattamono";
}
if (num2 && num3 > EClass.rnd(100))
{
text = "meat_marble";
}
Thing thing3 = ThingGen.Create(text).SetNum(num);
if (thing3.source._origin == "meat")
{
thing3.MakeFoodFrom(this);
if (text == "marshmallow_monster")
{
list.Add(ThingGen.Create("marshmallow_nama").SetNum(num).MakeFoodFrom(this, makeRef: false));
}
else
{
string text2 = Chara.race.corpse[0];
bool num2 = text2 == "_meat";
int num3 = 10;
if (AI_Slaughter.slaughtering)
{
num3 += (int)Mathf.Min(Mathf.Sqrt(EClass.pc.Evalue(290)), 20f);
}
if (EClass.rnd((Act.CurrentAct is ActMeleeBladeStorm || (origin != null && (origin.HasElement(1556) || origin.HasCondition<ConTransmuteCat>()))) ? 2 : 100) == 0)
{
text2 = "dattamono";
}
if (num2 && num3 > EClass.rnd(100))
{
text2 = "meat_marble";
}
Thing thing3 = ThingGen.Create(text2).SetNum(num);
if (thing3.source._origin == "meat")
{
thing3.MakeFoodFrom(this);
}
else
{
thing3.ChangeMaterial(Chara.material);
}
list.Add(thing3);
}
}
else
{
thing3.ChangeMaterial(Chara.material);
list.Add(ThingGen.Create("517").SetNum(num).MakeFoodFrom(this, makeRef: false));
}
list.Add(thing3);
}
if (!IsPCFaction && (!isUserZone || !EClass.game.principal.disableUsermapBenefit) && chance(200))
{public Card MakeFoodFrom(string _id)
return MakeFoodFrom(EClass.sources.cards.map[_id].model);
}
public Card MakeFoodFrom(Card c)
public Card MakeFoodFrom(Card c, bool makeRef = true)
{
MakeRefFrom(c);
if (makeRef)
{
MakeRefFrom(c);
}
ChangeMaterial(c.material);
if (!c.isChara)
{public Card MakeFoodFrom(Card c)
bool flag = id == "meat_marble";
int num2 = 1;
bool flag2 = category.IsChildOf("meat");
bool flag3 = category.IsChildOf("egg") || trait is TraitGene;
bool flag3 = id == "517" || id == "marshmallow_nama" || category.IsChildOf("egg") || trait is TraitGene;
if (flag)
{
num += 100;Chara โ
Die();
return;
}
if (pos.IsBlocked)
if (pos.IsBlocked && pos.HasBlock)
{
preventRegen = true;
}public Condition AddCondition(Condition c, bool force = false)
}
}
int num2 = c.EvaluateTurn(c.power);
if (c is ConDeathSentense && HasElement(494))
{
num2 = num2 * (100 + (int)Mathf.Sqrt(Evalue(494)) * 10) / 100;
}
if (num2 == 0)
{
return null;CharaGenes โ
public static void Remove(Chara c, DNA item)
c.c_genes.items.Remove(item);
c.feat += item.cost * c.GeneCostMTP / 100;
item.Apply(c, reverse: true);
c.Refresh();
c.RemoveAllStances();
Msg.Say("dna_loss", c, item.GetText());
}
}CoreDebug โ
}
EClass.pc.AddCard(thing);
thing = ThingGen.Create("pouch");
for (int k = 0; k < 30; k++)
for (int k = 1; k < 5; k++)
{
Thing thing3 = ThingGen.Create("scrubber");
thing3.elements.SetBase(770, k * 10);
thing.AddCard(thing3);
}
for (int l = 0; l < 30; l++)
{
thing.AddCard(ThingGen.Create("mathammer", MATERIAL.GetRandomMaterial(100).alias)).SetNum(10);
} thing.AddCard(ThingGen.Create("mathammer", 28)).SetNum(99);
EClass.pc.AddCard(thing);
thing = ThingGen.Create("pouch");
for (int l = 0; l < 30; l++)
for (int m = 0; m < 30; m++)
{
thing.AddCard(ThingGen.CreateFromCategory("ammo", EClass.pc.LV));
}
EClass.pc.AddCard(thing);
thing = ThingGen.Create("coolerbox");
for (int m = 0; m < 20; m++)
for (int n = 0; n < 20; n++)
{
thing.AddCard(ThingGen.CreateFromCategory("foodstuff").SetNum(EScriptable.rnd(10) + 1));
} List<SourceChara.Row> list = EClass.sources.charas.map.Values.Where((SourceChara.Row a) => a._idRenderData == "chara").ToList();
thing = ThingGen.Create("pouch");
list = EClass.sources.charas.map.Values.Where((SourceChara.Row a) => a._idRenderData == "chara_L").ToList();
for (int n = 0; n < 20; n++)
for (int num = 0; num < 20; num++)
{
string id2 = list.RandomItem().id;
Thing thing3 = ThingGen.Create("figure");
thing3.MakeFigureFrom(id2);
thing.AddCard(thing3);
Thing thing4 = ThingGen.Create("figure");
thing4.MakeFigureFrom(id2);
thing.AddCard(thing4);
}
EClass.pc.AddCard(thing);
thing = ThingGen.Create("pouch");
list = EClass.sources.charas.map.Values.Where((SourceChara.Row a) => a._idRenderData == "chara").ToList();
for (int num = 0; num < 20; num++)
for (int num2 = 0; num2 < 20; num2++)
{
string id3 = list.RandomItem().id;
Thing thing4 = ThingGen.Create("figure3");
thing4.MakeFigureFrom(id3);
thing.AddCard(thing4);
Thing thing5 = ThingGen.Create("figure3");
thing5.MakeFigureFrom(id3);
thing.AddCard(thing5);
}
EClass.pc.AddCard(thing);
thing.Dye("oak");
thing = ThingGen.Create("pouch");
list = EClass.sources.charas.map.Values.Where((SourceChara.Row a) => a._idRenderData == "chara_L").ToList();
for (int num2 = 0; num2 < 20; num2++)
for (int num3 = 0; num3 < 20; num3++)
{
string id4 = list.RandomItem().id;
Thing thing5 = ThingGen.Create("figure3");
thing5.MakeFigureFrom(id4);
thing.AddCard(thing5);
Thing thing6 = ThingGen.Create("figure3");
thing6.MakeFigureFrom(id4);
thing.AddCard(thing6);
}
EClass.pc.AddCard(thing);
thing.Dye("pine"); thing.AddCard(ThingGen.Create("bait").SetNum(10));
EClass.pc.AddCard(thing);
thing.Dye("rubinus");
Thing thing6 = ThingGen.Create("quiver");
thing6.AddCard(ThingGen.Create("bullet").SetNum(250));
thing6.AddCard(ThingGen.Create("arrow").SetNum(250));
thing6.AddCard(ThingGen.Create("bolt").SetNum(250));
thing6.AddCard(ThingGen.Create("bullet_energy").SetNum(250));
EClass.pc.body.GetEquippedThing(44).AddCard(thing6);
Thing thing7 = ThingGen.Create("quiver");
thing7.AddCard(ThingGen.Create("bullet").SetNum(250));
thing7.AddCard(ThingGen.Create("arrow").SetNum(250));
thing7.AddCard(ThingGen.Create("bolt").SetNum(250));
thing7.AddCard(ThingGen.Create("bullet_energy").SetNum(250));
EClass.pc.body.GetEquippedThing(44).AddCard(thing7);
thing = ThingGen.Create("backpack");
for (int num3 = 0; num3 < 10; num3++)
for (int num4 = 0; num4 < 10; num4++)
{
thing.AddThing("book", lv);
thing.AddThing("parchment"); EClass.pc.AddCard(thing);
thing.Dye("silver");
thing = ThingGen.Create("pouch");
for (int num4 = 0; num4 < 30; num4++)
for (int num5 = 0; num5 < 30; num5++)
{
thing.AddThing((EScriptable.rnd(10) != 0) ? "potion" : "drink", lv).SetNum(99);
}
EClass.pc.AddCard(thing);
thing.Dye("steel");
thing = ThingGen.Create("pouch");
for (int num5 = 0; num5 < 30; num5++)
for (int num6 = 0; num6 < 30; num6++)
{
thing.AddThing(ThingGen.CreateFromCategory("rod", lv));
}
EClass.pc.AddCard(thing);
thing.Dye("steel");
thing = ThingGen.Create("pouch");
for (int num6 = 0; num6 < 30; num6++)
for (int num7 = 0; num7 < 30; num7++)
{
thing.AddThing("scroll", lv).SetNum(99);
}
EClass.pc.AddCard(thing);
thing.Dye("steel");
thing = ThingGen.Create("pouch");
for (int num7 = 0; num7 < 40; num7++)
for (int num8 = 0; num8 < 40; num8++)
{
thing.AddThing("372", 100);
}
EClass.pc.AddCard(thing);
thing.Dye("steel");
Thing thing7 = EClass.pc.things.Find("purse");
thing7.AddThing("casino_coin").SetNum(30000000);
thing7.AddThing("medal").SetNum(1000);
thing7.ModCurrency(500, "plat");
Thing thing8 = EClass.pc.things.Find("purse");
thing8.AddThing("casino_coin").SetNum(30000000);
thing8.AddThing("medal").SetNum(1000);
thing8.ModCurrency(500, "plat");
EClass.pc.AddThing("record");
EClass.pc.AddThing("deed").SetNum(5);
EClass.pc.AddThing("book_story"); EClass.pc.ModCurrency(10000000);
EClass.pc.AddCard(ThingGen.CreateBlock(67, 1).SetNum(99));
EClass.pc.AddCard(ThingGen.CreateFloor(41, 1).SetNum(99));
Thing thing8 = ThingGen.Create("scroll_random").SetNum(10);
thing8.refVal = 8220;
EClass.pc.AddCard(thing8);
Thing thing9 = ThingGen.Create("scroll_random").SetNum(10);
thing9.refVal = 8220;
EClass.pc.AddCard(thing9);
EClass.pc.ModCurrency(50, "money2");
AddHotbar("hoe");
AddHotbar("shovel"); {
AddAllRecipes();
}
foreach (Thing thing11 in EClass.pc.things)
foreach (Thing thing12 in EClass.pc.things)
{
thing11.isNew = false;
thing12.isNew = false;
}
LayerInventory.SetDirtyAll();
EClass.core.actionsNextFrame.Add(EClass.pc.RecalculateFOV); }
static Thing AddAbility(string id)
{
Thing thing9 = EClass.pc.AddThing(ThingGen.Create("catalyst"));
thing9.c_idAbility = id;
return thing9;
Thing thing10 = EClass.pc.AddThing(ThingGen.Create("catalyst"));
thing10.c_idAbility = id;
return thing10;
}
Thing AddHotbar(string id)
{
Thing thing10 = EClass.pc.AddThing(ThingGen.Create(id));
thing10.invX = idx;
thing10.invY = 1;
Thing thing11 = EClass.pc.AddThing(ThingGen.Create(id));
thing11.invX = idx;
thing11.invY = 1;
idx++;
return thing10;
return thing11;
}
void AddParty(string id)
{DNA โ
public void Apply(Chara c, bool reverse)
break;
}
}
c.RefreshFaithElement();
c.Refresh();
if (reverse)
{
c.RemoveAllStances();
}
}
public bool CanRemove(Chara c)DramaCustomSequence โ
{
TempTalkTopic("alreadyFull", StepDefault);
}
else if (EClass.pc.GetCurrency() < cost)
{
TempTalkTopic("nomoney", StepDefault);
}
else
{
SE.Pay();
EClass.pc.ModCurrency(-cost);
TempTalkTopic("food2", StepDefault);
FoodEffect.Proc(EClass.pc, ThingGen.Create("dish_lunch"), consume: false);
EClass.pc.hunger.value = 0;
if (EClass.pc.GetCurrency() >= cost)
{
SE.Pay();
EClass.pc.ModCurrency(-cost);
TempTalkTopic("food2", StepDefault);
{
foreach (Chara member3 in EClass.pc.party.members)
{
if (member3.hunger.GetPhase() > 0)
{
FoodEffect.Proc(member3, ThingGen.Create("dish_lunch"), consume: false);
member3.hunger.value = 0;
}
}
return;
}
}
TempTalkTopic("nomoney", StepDefault);
}
});
Choice("no", StepDefault, cancel: true).SetOnClick(RumorChill);ENC โ
public const int encSpell = 411;
public const int mod_cleave = 622;
public const int slowCorruption = 412;
public const int encHit = 414;
public const int mod_cleave = 622;
public const int slowDecay = 405;
public const int sustain_STR = 440;
public const int slowCorruption = 412;
public const int encHit = 414;
public const int mod_rapid = 602;
public const int deathagony = 488;
public const int farsee = 490;
public const int music_drunk = 489;
public const int negateGravity = 491;
public const int freemove = 493;
public const int extendedSentence = 494;
public const int mod_ammo = 600;
public const int mod_reload = 601;
public const int safetyMeasure = 486;
public const int mod_ammo_knockback = 603;
public const int mod_reload = 601;
public const int mod_ammo_recover = 604;
public const int sustain_END = 441;
public const int safetyMeasure = 486;
public const int mod_ammo_knockback = 603;
public const int nonLethal = 485;
public const int music_drunk = 489;
public const int farsee = 490;
public const int optimizeMana = 483;
public const int force_weapon = 482;
public static readonly int[] IDS = new int[110]
public static readonly int[] IDS = new int[111]
{
656, 655, 654, 653, 651, 641, 650, 652, 660, 640,
661, 851, 663, 664, 665, 666, 667, 850, 624, 865, 423, 424, 425, 426, 418, 427, 429, 430, 431, 432,
435, 436, 437, 438, 428, 439, 417, 415, 380, 381,
382, 383, 400, 401, 402, 403, 416, 404, 406, 407,
408, 409, 410, 411, 622, 414, 405, 440, 412, 602,
487, 488, 490, 491, 492, 493, 600, 601, 603, 604,
605, 606, 607, 608, 609, 620, 441, 486, 485, 489,
483, 443, 444, 445, 446, 447, 484, 460, 461, 462,
450, 464, 465, 466, 467, 468, 480, 481, 463, 482
408, 409, 410, 411, 412, 622, 405, 440, 414, 602,
487, 488, 489, 491, 492, 493, 494, 600, 486, 601,
604, 605, 606, 607, 608, 609, 620, 441, 603, 485,
490, 483, 443, 444, 445, 446, 447, 484, 460, 461,
462, 450, 464, 465, 466, 467, 468, 480, 481, 463,
482
};
}FACTION โ
public const int bfSnow = 3602;
public const int bfFertile = 3700;
public const int bfHill = 3603;
public const int bfBeach = 3604;
public const int bfFertile = 3700;
public const int bfSea = 3605;
public const int bfCave = 3500;
public const int bfHill = 3603;
public const int bfBeach = 3604;
public const int fRation = 2207;
public const int bfTranquil = 3703;
public const int actBuildMine = 4001;
public const int actBuildTerrain = 4002;
public const int bfHunt = 3705;
public const int actBuildAnywhere = 4003;
public const int actBuildTerrain = 4002;
public const int actBuildMine = 4001;
public const int actBuildCut = 4000;
public static readonly int[] IDS = new int[53]
{
3701, 3600, 3601, 3602, 3700, 3604, 3605, 3606, 3500, 3603,
3701, 3600, 3601, 3602, 3603, 3700, 3605, 3606, 3500, 3604,
2207, 2115, 2204, 2203, 2202, 2201, 2200, 2120, 2119, 2118,
2117, 2116, 3702, 2206, 3703, 4001, 3705, 4006, 4005, 4004,
4003, 4002, 4000, 3900, 3805, 3804, 3803, 3802, 3801, 3800,
2117, 2116, 3702, 2206, 3703, 4002, 3705, 4006, 4005, 4004,
4003, 4001, 4000, 3900, 3805, 3804, 3803, 3802, 3801, 3800,
3784, 3783, 3782, 3781, 3780, 3710, 3709, 3708, 3707, 3706,
3704, 2003, 2205
};GoalCombat โ
public virtual bool TryUseAbility(int dist, bool beforeMove = false)
}
case "song":
{
bool flag7 = owner.HasCondition<BaseSong>();
bool flag8 = owner.mana.value > owner.mana.max / 3;
num = ((flag7 && !flag8) ? 100 : ((!flag7 && flag8) ? 100 : 0));
bool flag8 = owner.HasCondition<BaseSong>();
bool flag9 = owner.mana.value > owner.mana.max / 3;
num = ((flag8 && !flag9) ? 100 : ((!flag8 && flag9) ? 100 : 0));
break;
}
case "melee":public virtual bool TryUseAbility(int dist, bool beforeMove = false)
{
continue;
}
bool flag9 = text == "dot";
if (flag9 && (owner.isRestrained || (tc != null && tc.IsRestrainedResident)))
bool flag12 = text == "dot";
if (flag12 && (owner.isRestrained || (tc != null && tc.IsRestrainedResident)))
{
continue;
}
num = ((text == "attackMelee") ? tactics.P_Melee : tactics.P_Spell) + GetAttackMod(act);
if (num > 0 && flag9)
if (num > 0 && flag12)
{
num += 10;
}public virtual bool TryUseAbility(int dist, bool beforeMove = false)
continue;
}
bool flag6 = act is ActBolt;
if (!flag || (owner.IsPCParty && (EClass._zone.IsTown || EClass._zone.IsPCFaction)) || (act.id == 9150 && EClass._zone.IsPCFaction && owner.IsNeutralOrAbove()))
bool flag7 = act is ActBall;
if ((owner.pos.IsBlocked && (flag6 || flag7)) || !flag || (owner.IsPCParty && (EClass._zone.IsTown || EClass._zone.IsPCFaction)) || (act.id == 9150 && EClass._zone.IsPCFaction && owner.IsNeutralOrAbove()))
{
continue;
}TaskWater โ
public override IEnumerable<Status> Run()
{
Debug.Log(list.Count);
list.Sort((Point a, Point b) => a.Distance(dest) - b.Distance(dest));
Point p = list[0];
dest.Set(p);
Point p2 = list[0];
dest.Set(p2);
list.RemoveAt(0);
if (!ShouldWater(p))
if (!ShouldWater(p2))
{
continue;
}public override IEnumerable<Status> Run()
yield return Cancel();
}
bool fail = false;
Status status = DoGoto(p, 1, ignoreConnection: false, delegate
Status status = DoGoto(p2, 1, ignoreConnection: false, delegate
{
fail = true;
return Status.Running;public override IEnumerable<Status> Run()
{
yield return Cancel();
}
if (ShouldWater(p))
if (!ShouldWater(p2))
{
if (owner.Dist(dest) > 1)
{
yield return Cancel();
}
p.cell.isWatered = true;
if (!p.cell.blocked && EClass.rnd(5) == 0)
{
EClass._map.SetLiquid(p.x, p.z, 1);
}
if (p.cell.HasFire)
{
p.ModFire(-50, extinguish: true);
}
owner.PlaySound("water_farm");
owner.Say("water_farm", owner, p.cell.GetFloorName());
waterCan.owner.ModCharge(-1);
owner.ModExp(286, 15);
if (!IsWaterCanValid())
continue;
}
if (owner.Dist(dest) > 1)
{
yield return Cancel();
}
int num = waterCan.owner.Evalue(770);
num = ((num <= 0) ? 1 : Mathf.Min(waterCan.owner.c_charges, 2 + num / 10));
if (num > 1)
{
List<Point> list2 = EClass._map.ListPointsInCircle(p2, num);
list2.Sort((Point a, Point b) => a.Distance(p2) - b.Distance(p2));
foreach (Point item in list2)
{
yield return Cancel();
Water(item);
}
yield return KeepRunning();
}
else
{
Water(p2);
}
owner.PlaySound("water_farm");
owner.Say("water_farm", owner, p2.cell.GetFloorName());
waterCan.owner.ModCharge(-num);
if (!IsWaterCanValid())
{
yield return Cancel();
}
yield return KeepRunning();
}
void Water(Point p)
{
p.cell.isWatered = true;
if (!p.cell.blocked && EClass.rnd(5) == 0)
{
EClass._map.SetLiquid(p.x, p.z, 1);
}
if (p.cell.HasFire)
{
p.ModFire(-50, extinguish: true);
}
owner.ModExp(286, 15);
}
}Zone โ
public Chara SpawnMob(Point pos = null, SpawnSetting setting = null)
biome = ((EClass.rnd(4) != 0) ? EClass.core.refs.biomes.Water : EClass.core.refs.biomes.Sand);
}
SpawnList spawnList = null;
spawnList = ((setting.idSpawnList != null) ? SpawnList.Get(setting.idSpawnList) : ((EClass._zone is Zone_DungeonYeek && EClass.rnd(5) != 0) ? SpawnListChara.Get("dungeon_yeek", (SourceChara.Row r) => r.race == "yeek" && r.quality == 0) : ((EClass._zone is Zone_DungeonDragon && EClass.rnd(5) != 0) ? SpawnListChara.Get("dungeon_dragon", (SourceChara.Row r) => (r.race == "dragon" || r.race == "drake" || r.race == "wyvern" || r.race == "lizardman" || r.race == "dinosaur") && r.quality == 0) : ((EClass._zone is Zone_DungeonMino && EClass.rnd(5) != 0) ? SpawnListChara.Get("dungeon_mino", (SourceChara.Row r) => r.race == "minotaur" && r.quality == 0) : ((setting.hostility == SpawnHostility.Neutral || (setting.hostility != SpawnHostility.Enemy && Rand.Range(0f, 1f) < ChanceSpawnNeutral)) ? SpawnList.Get("c_neutral") : ((biome.spawn.chara.Count <= 0) ? SpawnList.Get(biome.name, "chara", new CharaFilter
spawnList = ((setting.idSpawnList != null) ? SpawnList.Get(setting.idSpawnList) : ((EClass._zone is Zone_DungeonYeek && EClass.rnd(5) != 0) ? SpawnListChara.Get("dungeon_yeek", (SourceChara.Row r) => r.race == "yeek" && r.quality == 0) : ((EClass._zone is Zone_DungeonDragon && EClass.rnd(5) != 0) ? SpawnListChara.Get("dungeon_dragon", (SourceChara.Row r) => (r.race == "dragon" || r.race == "drake" || r.race == "wyvern" || r.race == "lizardman" || r.race == "dinosaur") && r.quality == 0) : ((EClass._zone is Zone_DungeonMino && EClass.rnd(5) != 0) ? SpawnListChara.Get("dungeon_mino", (SourceChara.Row r) => r.race == "minotaur" && r.quality == 0) : ((setting.hostility == SpawnHostility.Neutral || (setting.hostility != SpawnHostility.Enemy && Rand.Range(0f, 1f) < ChanceSpawnNeutral)) ? SpawnList.Get(IsInstance ? "c_neutral_war" : "c_neutral") : ((biome.spawn.chara.Count <= 0) ? SpawnList.Get(biome.name, "chara", new CharaFilter
{
ShouldPass = delegate(SourceChara.Row s)
{public Chara SpawnMob(Point pos = null, SpawnSetting setting = null)
}
return s.biome == biome.name || s.biome.IsEmpty();
}
}) : SpawnList.Get(biome.spawn.GetRandomCharaId())))))));
}) : SpawnList.Get(biome.spawn.GetRandomCharaId(), "chara", new CharaFilter
{
ShouldPass = (SourceChara.Row s) => (!IsInstance || !(s.hostility != "") || !s.tag.Contains("cat")) ? true : false
})))))));
int num = ((setting.dangerLv == -1) ? DangerLv : setting.dangerLv);
CardBlueprint cardBlueprint = new CardBlueprint
{