Skip to content

EA 23.232 Nightly Patch 2

November 9, 2025

32 files modified. 1 new file created.

Important Changes

Possible breaking changes. Click the filename to view the chunk.

Party (1)

cs
public int EValue(int ele) 
public int EvalueBest(int ele) 

AI_Fish

public static Thing Makefish(Chara c)

cs
			num4 = 3;
		}
		SetFeverSeed();
		thing = ThingGen.Create("fish", -1, lv); 
		string text2 = "fish"; 
		if (EClass._zone.id == "startVillage2") 
		{ 
			text2 = "65"; 
		} 
		thing = ThingGen.Create(text2, -1, lv); 
		SetFeverSeed();
		int num5 = Mathf.Max(1, num / (thing.source.LV * 2 + 10));
		int num6 = 5;

public static Thing Makefish(Chara c)

cs
			c.Say("bigCatch", c);
		}
		num2 = (num7 ? num5 : EClass.rnd(num5)) / (num4 + 1) + 1;
		if (EClass.debug.enable || (thing.id == "65" && EClass.rnd(c.IsPC ? 8192 : 819200) == 0)) 
		if (thing.id == "65" && EClass.rnd(EClass.debug.enable ? 2 : (c.IsPC ? 8192 : 819200)) == 0) 
		{
			thing = ThingGen.Create("65_gold", -1, lv);
			num2 = 1;

AI_Idle

public override IEnumerable<Status> Run()

cs
						list2.Add(member);
					}
				}
				if (list2.Count > 2) 
				if (list2.Count > 2 + EClass.pc.party.EvalueTotal(1272, (Chara c) => c.IsPC || c.faith == EClass.game.religions.Harmony)) 
				{
					list2.Remove(owner);
					owner.SetEnemy(list2.RandomItem());

ActEffect

public static bool DamageEle(Card CC, EffectId id, int power, Element e, List<Po

cs
				switch (id)
				{
				case EffectId.GravityGun:
					if (!c.isChara) 
					if (c.isChara) 
					{
						break; 
					} 
					c.Chara.AddCondition<ConGravity>(power); 
					if (EClass.rnd(2) == 0) 
					{ 
						c.Chara.AddCondition<ConEntangle>(power / 2); 
					} 
					if (EClass.rnd(4) == 0) 
					{ 
						c.Chara.AddCondition<ConBlind>(power); 
					} 
					if (EClass.rnd(5) == 0) 
					{ 
						c.Chara.AddCondition<ConDim>(power / 3); 
					} 
					if (EClass.rnd(3) == 0) 
					{ 
						c.Chara.AddCondition<ConSupress>(power / 2); 
					} 
					if (actref.refThing != null && actref.refThing.id == "gun_gravity2") 
					{ 
						if (EClass.rnd(4) == 0) 
						{ 
							c.Chara.AddCondition<ConSilence>(power / 3); 
						} 
						if (EClass.rnd(4) == 0) 
						{ 
							c.Chara.AddCondition<ConWeakResEle>(power); 
						} 
						if (EClass.rnd(4) == 0) 
						AddCon<ConGravity>(1, power); 
						AddCon<ConBlind>(4, power); 
						AddCon<ConDim>(5, power / 2); 
						AddCon<ConSupress>(3, power / 2); 
						if (actref.refThing != null && actref.refThing.id == "gun_gravity2") 
						{
							c.Chara.AddCondition<ConNightmare>(power); 
							AddCon<ConEntangle>(4, power / 3); 
							AddCon<ConSilence>(4, power / 3); 
							AddCon<ConWeakResEle>(4, power); 
							AddCon<ConNightmare>(4, power); 
						}
					}
					break;

public static bool DamageEle(Card CC, EffectId id, int power, Element e, List<Po

cs
				chara.DoHostileAction(c);
			}
			num2++;
			void AddCon<T>(int rate, int power) where T : Condition
			{ 
				if (EClass.rnd(1 + actref.refVal) == 0 && !c.Chara.HasCondition<T>() && EClass.rnd(rate) == 0) 
				{ 
					c.Chara.AddCondition<T>(power); 
				} 
			} 
		}
		if ((id == EffectId.Explosive || id == EffectId.Suicide || id == EffectId.Rocket) && (!EClass._zone.IsPCFaction || !EClass.Branch.HasItemProtection))
		{

public static bool DamageEle(Card CC, EffectId id, int power, Element e, List<Po

cs
			bool flag5 = EClass._zone.HasLaw && !EClass._zone.IsPCFaction && (CC.IsPC || (id == EffectId.Explosive && actref.refThing == null)) && !(EClass._zone is Zone_Vernis);
			if (p.HasObj && p.cell.matObj.hardness <= num7)
			{
				EClass._map.MineObj(p); 
				EClass._map.MineObj(p, null, CC.Chara); 
				if (flag5)
				{
					EClass.player.ModKarma(-1);

public static bool DamageEle(Card CC, EffectId id, int power, Element e, List<Po

cs
			}
			if (!p.HasObj && p.HasBlock && p.matBlock.hardness <= num7)
			{
				EClass._map.MineBlock(p); 
				EClass._map.MineBlock(p, recoverBlock: false, CC.Chara); 
				if (flag5)
				{
					EClass.player.ModKarma(-1);

ActRanged

void Shoot(Card _tc, Point _tp, bool subAttack)

cs
					{
						origin = Act.CC.Chara,
						refThing = weapon,
						aliasEle = "eleImpact"
						aliasEle = "eleImpact", 
						refVal = j 
					});
					break;
				}

ActThrow

public override string GetText(string str = "")

cs
	if (target != null)
	{
		TraitMonsterBall traitMonsterBall = target.trait as TraitMonsterBall;
		if (pcTarget != null && traitMonsterBall != null && !traitMonsterBall.IsDuponneBall && !traitMonsterBall.IsLittleBall && pcTarget.LV > target.LV) 
		if (pcTarget != null && traitMonsterBall != null && !traitMonsterBall.IsDuponneBall && !traitMonsterBall.IsLittleBall && !traitMonsterBall.IsSilvercatBall && pcTarget.LV > target.LV) 
		{
			text = " " + "mb_invalidLV".lang();
		}

public static EffectIRenderer Throw(Card c, Point p, Card target, Thing t, Throw

cs
					}
				});
			}
			if (traitMonsterBall.IsDuponneBall && _c.id == "lurie_boss") 
			if ((traitMonsterBall.IsSilvercatBall || _c.id == "cat_silver") && EClass._zone.id == "startVillage2") 
			{
				_c.orgPos = c.pos.Copy();
				_c.homeZone = EClass._zone;
				Chara chara = _c;
				Hostility c_originalHostility = (_c.hostility = Hostility.Friend);
				chara.c_originalHostility = c_originalHostility;
				EClass._zone.ModInfluence(10); 
				_c.PlaySound("chime_angel"); 
			} 
			else if (traitMonsterBall.IsDuponneBall && _c.id == "lurie_boss") 
			{ 
				_c.orgPos = c.pos.Copy(); 
				_c.homeZone = EClass._zone; 
				Chara chara2 = _c; 
				Hostility c_originalHostility = (_c.hostility = Hostility.Friend); 
				chara2.c_originalHostility = c_originalHostility; 
				EClass._zone.ModInfluence(20);
				_c.PlaySound("chime_angel");
			}
			else if (traitMonsterBall.IsLittleBall && _c.id == "littleOne")
			{
				_c.orgPos = c.pos.Copy();
				Chara chara2 = _c; 
				Chara chara3 = _c; 
				Hostility c_originalHostility = (_c.hostility = Hostility.Neutral);
				chara2.c_originalHostility = c_originalHostility; 
				chara3.c_originalHostility = c_originalHostility; 
				EClass._zone.ModInfluence(5);
				_c.PlaySound("chime_angel");
				EClass.core.actionsNextFrame.Add(delegate

public static EffectIRenderer Throw(Card c, Point p, Card target, Thing t, Throw

cs
				break;
			}
			Act.TC.Say("throw_hit", t, Act.TC);
			Chara chara3 = Act.TC.Chara; 
			if (traitMonsterBall.IsDuponneBall) 
			Chara chara4 = Act.TC.Chara; 
			if (traitMonsterBall.IsSilvercatBall) 
			{ 
				if (chara4.id != "cat_silver" || chara4.IsPCFactionOrMinion || EClass._zone.id == "startVillage2" || EClass._zone.IsUserZone) 
				{ 
					Msg.Say("monsterball_invalid"); 
					break; 
				} 
				if (chara4.LV > 10) 
				{ 
					Msg.Say("monsterball_lv"); 
					break; 
				} 
			} 
			else if (traitMonsterBall.IsDuponneBall) 
			{
				if (chara3.id != "lurie_boss" || chara3.IsPCFactionOrMinion || EClass._zone is Zone_Exile || EClass._zone.IsUserZone) 
				if (chara4.id != "lurie_boss" || chara4.IsPCFactionOrMinion || EClass._zone is Zone_Exile || EClass._zone.IsUserZone) 
				{
					Msg.Say("monsterball_invalid");
					break;

public static EffectIRenderer Throw(Card c, Point p, Card target, Thing t, Throw

cs
			}
			else if (traitMonsterBall.IsLittleBall)
			{
				if (chara3.id != "littleOne" || chara3.IsPCFactionOrMinion || EClass._zone is Zone_LittleGarden || EClass._zone.IsUserZone || chara3.GetBool(132)) 
				if (chara4.id != "littleOne" || chara4.IsPCFactionOrMinion || EClass._zone is Zone_LittleGarden || EClass._zone.IsUserZone || chara4.GetBool(132)) 
				{
					Msg.Say("monsterball_invalid");
					break;
				}
				chara3.SetBool(132, enable: true); 
				chara4.SetBool(132, enable: true); 
			}
			else
			{
				if (!chara3.trait.CanBeTamed || EClass._zone.IsUserZone) 
				if (!chara4.trait.CanBeTamed || EClass._zone.IsUserZone) 
				{
					Msg.Say("monsterball_invalid");
					break;
				}
				if (chara3.LV > traitMonsterBall.owner.LV) 
				if (chara4.LV > traitMonsterBall.owner.LV) 
				{
					Msg.Say("monsterball_lv");
					break;
				}
				if (!EClass.debug.enable && chara3.hp > chara3.MaxHP / 10) 
				if (!EClass.debug.enable && chara4.hp > chara4.MaxHP / 10) 
				{
					Msg.Say("monsterball_hp");
					break;
				}
			}
			Msg.Say("monsterball_capture", c, chara3); 
			chara3.PlaySound("identify"); 
			chara3.PlayEffect("identify"); 
			Msg.Say("monsterball_capture", c, chara4); 
			chara4.PlaySound("identify"); 
			chara4.PlayEffect("identify"); 
			t.ChangeMaterial("copper");
			if (chara3.IsLocalChara) 
			if (chara4.IsLocalChara) 
			{
				Debug.Log("Creating Replacement NPC for:" + chara3); 
				EClass._map.deadCharas.Add(chara3.CreateReplacement()); 
				Debug.Log("Creating Replacement NPC for:" + chara4); 
				EClass._map.deadCharas.Add(chara4.CreateReplacement()); 
			}
			traitMonsterBall.chara = chara3; 
			chara3.ReleaseMinion(); 
			EClass._zone.RemoveCard(chara3); 
			chara3.homeZone = null; 
			traitMonsterBall.chara = chara4; 
			chara4.ReleaseMinion(); 
			EClass._zone.RemoveCard(chara4); 
			chara4.homeZone = null; 
			c.ModExp(108, 100);
			if (traitMonsterBall.IsDuponneBall && EClass.game.quests.GetPhase<QuestNegotiationDarkness>() == 3)
			{

CINT

public class CINT

cs

	public const int isHiredByGold = 18;

	public const int rosterPriority = 19; 
	public const int price = 21;

	public const int dateStockExpire = 22;

Chara

public bool IsWealthy

cs

	public FactionBranch homeBranch => homeZone?.branch;

	public int MaxGeneSlot => race.geneCap - (HasElement(1237) ? 2 : 0) + Evalue(1242); 
	public int MaxGeneSlot => race.geneCap - (HasElement(1237) ? 2 : 0) + Evalue(1242) + Evalue(1273); 

	public int CurrentGeneSlot
	{

public void TryUpgrade(bool msg = true)

cs
		}
	}

	public bool CanBloom() 
	{ 
		if (IsPC || base.isScaled || HasElement(1273)) 
		{ 
			return false; 
		} 
		if (!EClass.debug.enable) 
		{ 
			if (base.c_daysWithPC > 360) 
			{ 
				return affinity.CanSleepBeside(); 
			} 
			return false; 
		} 
		return true; 
	} 
	public void AddCooldown(int idEle, int turns = 0)
	{
		if (_cooldowns == null)

public void RefreshFaithElement()

cs
			faithElements.SetBase(row2.id, 1);
		}
		int[] array = row.elements;
		int num = GetPietyValue() * (120 + Evalue(1407) * 15) / 100; 
		int num = GetPietyValue() * (120 + Evalue(1407) * 15 + Evalue(1228) * 20) / 100; 
		for (int i = 0; i < array.Length; i += 2)
		{
			int num2 = array[i + 1] * num / 50;

CoreDebug

public void InitDebugCommands()

cs
			EClass.Branch.resources.knowledge.Mod(100);
		}
	});
	Add(cat2, "Add Influence", delegate
	Add(cat2, "Remove Influence", delegate 
	{
		EClass._zone.influence += 100; 
		EClass._zone.influence = 0; 
	});
	Add(cat2, "Reroll Hobbies", delegate
	{

DOMAIN

public class DOMAIN

cs

	public const int domMiracle = 803;

	public const int domHarvest = 808; 
	public const int domWind = 807;

	public const int domHarvest = 808; 
	public const int domLuck = 810;

	public const int domHealing = 811;

public class DOMAIN

cs

	public static readonly int[] IDS = new int[16]
	{
		805, 806, 801, 800, 804, 802, 803, 808, 807, 810, 
		805, 806, 801, 800, 804, 802, 803, 807, 808, 810, 
		811, 812, 813, 814, 815, 809
	};
}

DramaCustomSequence

public void Build(Chara c)

cs
		});
		Choice("no2", StepDefault, cancel: true).SetOnClick(RumorChill);
	});
	Step("_bloom"); 
	Method(delegate
	{ 
		TempTalkTopic("blooming1", null); 
		foreach (Chara item6 in EClass.pc.party.members.Where((Chara c2) => c2.CanBloom())) 
		{ 
			Chara c4 = item6; 
			Choice("daBloom".lang(c4.Name), delegate
			{ 
				if (EClass._zone.influence < 10) 
				{ 
					TempTalkTopic("blooming3", StepDefault); 
				} 
				else
				{ 
					EClass._zone.ModInfluence(-10); 
					LayerDrama.Instance.SetOnKill(delegate
					{ 
						c.Talk("goodBoy"); 
						c4.Say("dingExp", c); 
						c4.Talk("tailed"); 
						c4.SetFeat(1273, 1, msg: true); 
						c4.PlayEffect("aura_heaven"); 
						c4.feat += 10; 
						EClass.pc.PlaySound("pray"); 
					}); 
					TempTalkTopic("blooming2", StepEnd); 
				} 
			}); 
		} 
		Choice("no2", StepDefault, cancel: true).SetOnClick(RumorChill); 
	}); 
	Step("_buy");
	Method(delegate
	{

public void Build(Chara c)

cs
				{
					b.button1.mainText.text = a.Name;
					UIItem uIItem = Util.Instantiate<UIItem>("UI/Element/Item/Extra/costBarter", b.layout);
					HomeResource.Cost c2 = new HomeResource.Cost(EClass.BranchOrHomeBranch.resources.money, a.source.money); 
					uIItem.text1.SetText(c2.cost.ToString() ?? "", (c2.resource.value >= c2.cost) ? FontColor.Good : FontColor.Bad); 
					uIItem.image1.sprite = c2.resource.Sprite; 
					HomeResource.Cost c3 = new HomeResource.Cost(EClass.BranchOrHomeBranch.resources.money, a.source.money); 
					uIItem.text1.SetText(c3.cost.ToString() ?? "", (c3.resource.value >= c3.cost) ? FontColor.Good : FontColor.Bad); 
					uIItem.image1.sprite = c3.resource.Sprite; 
					b.button1.SetTooltip(delegate(UITooltip t)
					{
						a.WriteNote(t.note);
					});
					b.button1.onClick.AddListener(delegate
					{
						if (c2.resource.value < c2.cost) 
						if (c3.resource.value < c3.cost) 
						{
							SE.Beep();
						}
						else
						{
							c2.resource.Mod(-c2.cost); 
							c3.resource.Mod(-c3.cost); 
							plans.Remove(a);
							EClass.BranchOrHomeBranch.researches.AddPlan(a);
							SE.Pay();

public void Build(Chara c)

cs
				},
				onList = delegate
				{
					foreach (ResearchPlan item6 in plans) 
					foreach (ResearchPlan item7 in plans) 
					{
						list.Add(item6); 
						list.Add(item7); 
					}
				}
			};

void Invest(bool quick)

cs
				},
				onList = delegate
				{
					foreach (SourceElement.Row item7 in EClass.sources.elements.rows.Where(delegate(SourceElement.Row a) 
					foreach (SourceElement.Row item8 in EClass.sources.elements.rows.Where(delegate(SourceElement.Row a) 
					{
						if (a.tag.Contains("unused"))
						{

void Invest(bool quick)

cs
						return a.category == "skill" && a.categorySub == c.trait.IDTrainer;
					}).ToList())
					{
						list.Add(Element.Create(item7.id)); 
						list.Add(Element.Create(item8.id)); 
					}
				}
			};

void Invest(bool quick)

cs
				{
					SE.Pay();
					EClass.pc.ModCurrency(-costIdentify);
					foreach (Thing item8 in EClass.pc.things.List((Thing t) => !t.IsIdentified, onlyAccessible: true)) 
					foreach (Thing item9 in EClass.pc.things.List((Thing t) => !t.IsIdentified, onlyAccessible: true)) 
					{
						item8.Thing.Identify(show: false); 
						if (!item8.IsInstalled) 
						item9.Thing.Identify(show: false); 
						if (!item9.IsInstalled) 
						{
							numSuperior++;
						}

DramaManager

public bool CheckIF(string IF)

cs
	string[] array = IF.Split(',');
	switch (array[0])
	{
	case "garden_bloom": 
		foreach (Chara member in EMono.pc.party.members) 
		{ 
			if (member.CanBloom()) 
			{ 
				return true; 
			} 
		} 
		return false; 
	case "duponne_mino":
		return EMono.pc.things.Find("minohorn") != null;
	case "duponne_rescued":

public bool CheckIF(string IF)

cs
		return !EMono.game.IsSurvival;
	case "fromBook":
		return LayerDrama.fromBook;
	case "nerun_nadenade":
		if (!EMono.game.startVersion.IsBelow(0, 23, 232)) 
		{ 
			return EMono.player.stats.death2 == 0; 
		} 
		return false; 
	case "nerun_nadenade2":
		GameLang.refDrama1 = EMono.player.stats.death2.ToString() ?? ""; 
		return EMono.player.stats.death2 >= 100; 
	case "!fromBook":
		return !LayerDrama.fromBook;
	case "WindRest":

public bool CheckIF(string IF)

cs
	case "fiamaPet":
		if (EMono.pc.homeBranch != null)
		{
			foreach (Chara member in EMono.pc.homeBranch.members) 
			foreach (Chara member2 in EMono.pc.homeBranch.members) 
			{
				if (member.isDead && member.CanRevive() && member.GetInt(100) != 0) 
				if (member2.isDead && member2.CanRevive() && member2.GetInt(100) != 0) 
				{
					return true;
				}

DramaOutcome

public void poppy_found()

cs
		cc.RemoveEditorTag(EditorTag.Invulnerable);
	}

	public void give_catball_recipe() 
	{ 
		EMono.player.DropReward(ThingGen.CreateRecipe("silvercatball")); 
	} 
	public void event_swordkeeper()
	{
		EMono._zone.AddChara("swordkeeper", 45, 52);

public void upgrade_miscreation()

cs
		for (int i = 0; i < num; i++)
		{
			Rand.SetSeed(chara.uid + i);
			DNA.GenerateRandomGene(chara.LV + 30, chara.uid + i).c_DNA.Apply(chara, reverse: false); 
			Rand.SetSeed(); 
			Thing thing = DNA.GenerateRandomGene(chara.LV + 30, chara.uid + i); 
			if (thing.c_DNA.GetInvalidFeat(chara) == null && thing.c_DNA.GetInvalidAction(chara) == null) 
			{ 
				thing.c_DNA.Apply(chara, reverse: false); 
			} 
		}
		Rand.SetSeed(); 
	}

	public static bool If(DramaChoice item, Chara c)

ELEMENT

public class ELEMENT

cs

	public const int _void = 0;

	public const int old_antidote = 25; 
	public const int piety = 85; 
	public const int poison = 20; 

	public const int race = 29;

	public const int cure = 26; 
	public const int piety = 85; 

	public const int old_heal = 24;

public class ELEMENT

cs

	public const int fire = 21;

	public const int poison = 20; 
	public const int taste = 18; 

	public const int decay = 17;

	public const int heat = 16;

	public const int taste = 18; 
	public const int cure = 26; 

	public const int growth = 14; 
	public const int water = 15; 

	public const int hardness = 13;

public class ELEMENT

cs

	public const int d = 3;

	public const int water = 15; 
	public const int quality = 2; 

	public const int lv = 1;

	public const int quality = 2; 
	public const int growth = 14; 
	public const int old_antidote = 25; 

	public static readonly int[] IDS = new int[36]
	{
		752, 753, 754, 755, 756, 762, 760, 761, 763, 765,
		751, 759, 750, 0, 25, 85, 29, 26, 24, 23, 
		22, 21, 20, 17, 16, 18, 14, 13, 12, 11, 
		10, 5, 3, 15, 1, 2
		751, 759, 750, 0, 20, 29, 85, 24, 23, 22, 
		21, 18, 17, 16, 26, 15, 13, 12, 11, 10, 
		5, 3, 2, 1, 14, 25
	};
}
public class Element : EClass

ENC

public class ENC

cs
{
	public const int innocence = 418;

	public const int slowCorruption = 412; 
	public const int encTail = 419; 

	public const int encHit = 414; 
	public const int negateParalysis = 422; 

	public const int seeInvisible = 416;

	public const int invisibility = 415;

	public const int encTail = 419; 
	public const int negatePoison = 420; 
	public const int encHit = 414; 

	public const int loving = 417;

	public const int negatePoison = 420; 
	public const int encRagnarok = 667; 

	public const int absorbHP = 660;

	public const int meleeDistance = 666; 
	public const int planter = 665;

	public const int boostMachine = 664;

public class ENC

cs

	public const int absorbMP = 661;

	public const int encSpell = 411; 
	public const int slowCorruption = 412; 

	public const int permaCurse = 656;

	public const int encRagnarok = 667; 
	public const int meleeDistance = 666; 

	public const int throwReturn = 410; 
	public const int encSpell = 411; 

	public const int redirect_blaser = 383;

	public const int resWeather = 408; 
	public const int corruption = 409; 

	public const int negateBlind = 421;

public class ENC

cs

	public const int convertCold = 851;

	public const int convertFire = 850; 
	public const int counter = 380;

	public const int basher = 381;

public class ENC

cs

	public const int travelSpeed = 407;

	public const int corruption = 409; 
	public const int resWeather = 408; 
	public const int throwReturn = 410; 

	public const int noDamage = 654;

	public const int negateParalysis = 422; 
	public const int convertFire = 850; 

	public const int eco = 652;

public class ENC

cs

	public const int mod_ammo_recover = 604;

	public const int creativeChef = 487; 
	public const int mod_ammo_knockback = 603;

	public const int mod_rapid = 602;

	public const int creativeChef = 487; 
	public const int deathagony = 488;

	public const int music_drunk = 489;

	public const int mod_ammo = 600;

	public const int mod_reload = 601; 
	public const int r_PV = 651;

	public const int mod_precision = 605;

	public const int mod_reload = 601; 
	public static readonly int[] IDS = new int[103]
	{
		418, 412, 414, 416, 415, 419, 417, 420, 660, 666, 
		665, 664, 663, 662, 661, 411, 656, 667, 410, 383, 
		408, 421, 865, 852, 851, 850, 380, 381, 382, 655, 
		400, 401, 402, 403, 404, 405, 406, 407, 409, 654, 
		422, 652, 446, 447, 450, 460, 461, 462, 463, 464, 
		418, 419, 422, 416, 415, 420, 414, 417, 667, 660, 
		665, 664, 663, 662, 661, 412, 656, 666, 411, 383, 
		409, 421, 865, 852, 851, 380, 381, 382, 655, 400, 
		401, 402, 403, 404, 405, 406, 407, 408, 410, 654, 
		850, 652, 446, 447, 450, 460, 461, 462, 463, 464, 
		465, 466, 467, 480, 481, 482, 483, 445, 484, 444,
		442, 653, 424, 425, 426, 427, 428, 429, 430, 435,
		436, 437, 438, 439, 440, 441, 443, 485, 468, 608,
		623, 622, 621, 620, 609, 423, 641, 650, 486, 624,
		607, 606, 640, 604, 603, 602, 487, 488, 489, 600, 
		651, 605, 601
		607, 606, 640, 604, 487, 603, 602, 488, 489, 600, 
		601, 651, 605
	};
}

FACTION

``

cs

public class FACTION
{
	public const int bfFish = 3706; 
	public const int bfLandmark4 = 3783;

	public const int bfLandmark2 = 3781;

public class FACTION

cs

	public const int bfMonster = 3707;

	public const int bfFish = 3706; 
	public const int bfLandmark3 = 3782;

	public const int fFood = 2204;

public class FACTION

cs

	public const int actBuildCollect = 4004;

	public const int bfGum = 3803; 
	public const int actBuildAnywhere = 4003;

	public const int actBuildTerrain = 4002;

public class FACTION

cs

	public const int bfHunt = 3705;

	public const int bfGum = 3803; 
	public static readonly int[] IDS = new int[53]
	{
		3706, 3783, 3781, 2207, 3780, 3710, 3709, 3708, 3707, 3782, 
		3783, 3781, 2207, 3780, 3710, 3709, 3708, 3707, 3706, 3782, 
		2204, 2116, 2115, 2117, 2118, 2119, 2120, 2200, 2201, 2206,
		2202, 2203, 2205, 3784, 2003, 3800, 3804, 3802, 3801, 3600,
		3601, 3602, 3603, 3604, 3605, 3700, 3701, 3702, 3703, 3704,
		3606, 3500, 4006, 4005, 4004, 3803, 4003, 4002, 4001, 4000, 
		3900, 3805, 3705
		3606, 3500, 4006, 4005, 4004, 4003, 4002, 4001, 4000, 3900, 
		3805, 3705, 3803
	};
}
public class Faction : EClass

FEAT

``

cs

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 featMAG = 1625; 
	public const int featSPD = 1629; 

	public const int featHardy = 1630; 
	public const int featWIL = 1626; 

	public const int featCHA = 1627;

	public const int featLuck = 1628;

	public const int featSPD = 1629; 
	public const int featDEX = 1621; 
	public const int featWIL = 1626; 
	public const int featSTR = 1620; 

	public const int featDefense = 1631; 
	public const int featMAG = 1625; 

	public const int featFoxMaid = 1415; 
	public const int featHardy = 1630; 

	public const int featStamina = 1612; 
	public const int featWhiteVixen = 1414; 

	public const int featMana = 1611;

public class FEAT

cs

	public const int featInquisitor = 1416;

	public const int featEvade = 1632; 
	public const int featFoxMaid = 1415; 

	public const int featWhiteVixen = 1414; 
	public const int featDefense = 1631; 

	public const int featSTR = 1620; 
	public const int featFairysan = 1413; 

	public const int featSpotting = 1633; 
	public const int featStamina = 1612; 

	public const int featDefender = 1649; 
	public const int featEvade = 1632; 

	public const int featMartial = 1635; 
	public const int featRapidMagic = 1648; 

	public const int featFairysan = 1413; 
	public const int featNegotiate = 1634; 
	public const int featLuckyCat = 1412; 

	public const int featGoldenFinger = 1662;

public class FEAT

cs

	public const int featDreamWaker = 1653;

	public const int featNegotiate = 1634; 
	public const int featRapidArrow = 1652;

	public const int featMagicManner = 1651; 
	public const int featGourmet = 1650;

	public const int featRapidMagic = 1648; 
	public const int featDefender = 1649; 

	public const int featSummoner = 1647;

public class FEAT

cs

	public const int featFaith = 1636;

	public const int featMagicManner = 1651; 
	public const int featMartial = 1635; 

	public const int featLuckyCat = 1412; 
	public const int featSpotting = 1633; 

	public const int featBaby = 1232; 
	public const int featEarthStrength = 1411; 

	public const int featReboot = 1410; 
	public const int featCosmicHorror = 1233; 
	public const int featBoost = 1409; 

	public const int featAdam = 1230;

	public const int featNirvana = 1231;

	public const int featCosmicHorror = 1233; 
	public const int featBaby = 1232; 

	public const int featHeavyEater = 1234;

public class FEAT

cs

	public const int featEternalYouth = 1243;

	public const int featEarthStrength = 1411; 
	public const int featReboot = 1410; 

	public const int featSevenSense = 1245;

public class FEAT

cs

	public const int featBadKarma = 1271;

	public const int featGoddess = 1290; 
	public const int featPeacemaker = 1272; 

	public const int featGod_element1 = 1300; 
	public const int featBloom = 1273; 

	public const int featGod_earth1 = 1305; 
	public const int featGoddess = 1290; 

	public const int featGod_wind1 = 1310; 
	public const int featGod_element1 = 1300; 

	public const int featLittleOne = 1229;

public class FEAT

cs

	public const int featSnail = 1211;

	public const int featGod_machine1 = 1315; 
	public const int featGod_earth1 = 1305; 

	public const int featFairyResist = 1212;

public class FEAT

cs

	public const int featElea = 1213;

	public const int featGod_healing1 = 1320; 
	public const int featGod_wind1 = 1310; 

	public const int featCentaur = 1244;

	public const int featGod_luck1 = 1330; 
	public const int featPaladin = 1407; 
	public const int featGod_healing1 = 1320; 

	public const int featTourist = 1406;

public class FEAT

cs

	public const int featWizard = 1402;

	public const int featPaladin2 = 1408; 
	public const int featThief = 1401;

	public const int featGod_harvest1 = 1325; 
	public const int featWarrior = 1400; 

	public const int featGod_strife1 = 1355;

	public const int featGod_moonshadow1 = 1350;

	public const int featGod_machine1 = 1315; 
	public const int featGod_trickery1 = 1345;

	public const int featGod_oblivion1 = 1340;

	public const int featGod_harmony1 = 1335;

	public const int featWarrior = 1400; 
	public const int featGod_luck1 = 1330; 

	public const int featBoost = 1409; 
	public const int featGod_harvest1 = 1325; 
	public const int featPaladin = 1407; 
	public const int featPaladin2 = 1408; 

	public static readonly int[] IDS = new int[131] 
	public static readonly int[] IDS = new int[133] 
	{
		1622, 1623, 1624, 1625, 1630, 1627, 1628, 1629, 1621, 1626, 
		1631, 1415, 1612, 1611, 1610, 1422, 1421, 1420, 1419, 1418, 
		1417, 1416, 1632, 1414, 1620, 1633, 1649, 1635, 1413, 1662, 
		1661, 1660, 1659, 1658, 1657, 1656, 1655, 1654, 1653, 1634, 
		1652, 1650, 1648, 1647, 1646, 1645, 1644, 1643, 1642, 1641, 
		1640, 1636, 1651, 1412, 1232, 1410, 1230, 1231, 1233, 1234, 
		1235, 1236, 1237, 1238, 1239, 1240, 1241, 1242, 1243, 1411, 
		1245, 1246, 1247, 1248, 1249, 1270, 1271, 1290, 1300, 1305, 
		1310, 1229, 1228, 1227, 1226, 1200, 1201, 1202, 1203, 1204, 
		1205, 1206, 1207, 1208, 1209, 1210, 1211, 1315, 1212, 1214, 
		1215, 1216, 1217, 1218, 1219, 1220, 1221, 1222, 1223, 1224, 
		1225, 1213, 1320, 1244, 1330, 1407, 1406, 1405, 1404, 1403, 
		1402, 1408, 1401, 1325, 1355, 1350, 1345, 1340, 1335, 1400, 
		1409
		1621, 1622, 1623, 1624, 1629, 1626, 1627, 1628, 1620, 1625, 
		1630, 1414, 1611, 1610, 1422, 1421, 1420, 1419, 1418, 1417, 
		1416, 1415, 1631, 1413, 1612, 1632, 1648, 1634, 1412, 1662, 
		1661, 1660, 1659, 1658, 1657, 1656, 1655, 1654, 1653, 1652, 
		1651, 1650, 1649, 1647, 1646, 1645, 1644, 1643, 1642, 1641, 
		1640, 1636, 1635, 1633, 1411, 1233, 1409, 1230, 1231, 1232, 
		1234, 1235, 1236, 1237, 1238, 1239, 1240, 1241, 1242, 1243, 
		1410, 1245, 1246, 1247, 1248, 1249, 1270, 1271, 1272, 1273, 
		1290, 1300, 1229, 1228, 1227, 1226, 1200, 1201, 1202, 1203, 
		1204, 1205, 1206, 1207, 1208, 1209, 1210, 1211, 1305, 1212, 
		1214, 1215, 1216, 1217, 1218, 1219, 1220, 1221, 1222, 1223, 
		1224, 1225, 1213, 1310, 1244, 1320, 1406, 1405, 1404, 1403, 
		1402, 1401, 1400, 1355, 1350, 1315, 1345, 1340, 1335, 1330, 
		1325, 1407, 1408
	};
}
public class Feat : Element

FOOD

public class FOOD

cs
{
	public const int creativeDish = 764;

	public const int food_poison = 702; 
	public const int justcooked = 757; 
	public const int food_god = 758; 

	public const int food_undead = 709; 
	public const int food_CHA = 700; 

	public const int food_human = 708; 
	public const int food_cat = 701; 

	public const int kirimi = 707; 
	public const int food_love = 703; 

	public const int loseWeight = 706; 
	public const int food_bug = 704; 

	public const int gainWeight = 705;

	public const int food_bug = 704; 
	public const int food_poison = 702; 

	public const int food_love = 703; 
	public const int kirimi = 707; 

	public const int food_god = 758; 
	public const int food_human = 708; 

	public const int food_cat = 701; 
	public const int food_undead = 709; 

	public const int food_CHA = 700; 
	public const int justcooked = 757; 
	public const int loseWeight = 706; 

	public static readonly int[] IDS = new int[13]
	{
		764, 702, 757, 709, 708, 707, 706, 705, 704, 703, 
		758, 701, 700
		764, 758, 700, 701, 703, 704, 705, 702, 707, 708, 
		709, 757, 706
	};
}

Game

private void _OnDeserialized(StreamingContext context)

cs
	[JsonProperty]
	public Version version;

	[JsonProperty] 
	public Version startVersion; 
	[JsonProperty]
	public PartyManager parties = new PartyManager();

public void _Create()

cs
	config.autoCombat.abortOnItemLoss = true;
	seed = EClass.rnd(10000);
	Debug.Log("creating game: " + id + " seed:" + seed);
	startVersion = EClass.core.version; 
	uniforms.Import();
	religions.OnCreateGame();
	factions.OnCreateGame();

InvOwnerReconstruction

public override bool ShouldShowGuide(Thing t)

cs
	{
		return false;
	}
	if (!t.IsEquipment) 
	if (t.isReplica) 
	{
		return false;
	}
	if (t.isReplica) 
	if (!t.IsEquipmentOrRanged) 
	{
		return false; 
		return t.IsThrownWeapon; 
	}
	return true;
}

MUTATION

public class MUTATION

cs
public class MUTATION
{
	public const int mutationDexN = 1515; 
	public const int mutationDex = 1514; 
	public const int mutationRegen = 1516;

	public const int mutationSkinN = 1511; 
	public const int mutationSkin = 1510;

	public const int mutationSkinN = 1511; 
	public const int mutationEye = 1512;

	public const int mutationDex = 1514; 
	public const int mutationDexN = 1515; 
	public const int mutationRegenN = 1517;

	public const int mutationEyeN = 1513;

public class MUTATION

cs

	public static readonly int[] IDS = new int[40]
	{
		1515, 1514, 1516, 1511, 1510, 1512, 1517, 1513, 1519, 1565, 
		1516, 1510, 1511, 1512, 1514, 1515, 1517, 1513, 1519, 1565, 
		1564, 1563, 1562, 1561, 1560, 1559, 1558, 1518, 1556, 1555,
		1554, 1553, 1552, 1551, 1557, 1533, 1550, 1521, 1522, 1523,
		1524, 1525, 1526, 1520, 1528, 1529, 1530, 1531, 1532, 1527

Map

public void TrySmoothPick(Point p, Thing t, Chara c)

cs
	{
		EClass.pc.PickOrDrop(p, t);
	}
	else if (c != null && (c.pos.Equals(p) || EClass.core.config.game.smoothPick || EClass._zone.IsRegion)) 
	else if (c != null && c.IsPC && (c.pos.Equals(p) || EClass.core.config.game.smoothPick || EClass._zone.IsRegion)) 
	{
		c.PickOrDrop(p, t);
	}

POLICY

public class POLICY

cs

	public const int mass_exhibition = 2814;

	public const int food_for_people = 2502; 
	public const int faith_tax = 2501; 

	public const int bed_quality = 2812;

public class POLICY

cs

	public const int self_sufficient = 2511;

	public const int ban_radio = 2510; 
	public const int vaccination = 2509;

	public const int stop_growth = 2515; 
	public const int nocturnal_life = 2508;

	public const int human_right = 2506; 
	public const int stop_growth = 2515; 
	public const int inquisition = 2507; 

	public const int legal_drug = 2505;

public class POLICY

cs

	public const int prohibition = 2503;

	public const int food_for_people = 2502; 
	public const int wealth_tax = 2500;

	public const int suite_room = 2813;

	public const int inquisition = 2507; 
	public const int human_right = 2506; 

	public const int speed_growth = 2516;

	public const int faith_tax = 2501; 
	public const int ban_radio = 2510; 

	public const int trash_sort = 2701;

public class POLICY

cs

	public const int open_business = 2810;

	public const int energy_conservation = 2700; 
	public const int home_discount = 2800;

	public const int livestock_priv = 2715;

	public const int energy_conservation = 2700; 
	public const int incomeTransfer = 2711; 
	public const int forcePanty = 2712; 

	public const int noMother = 2710;

	public const int forcePanty = 2712; 
	public const int noAnimal = 2709; 

	public const int noDM = 2708; 
	public const int incomeTransfer = 2711; 

	public const int auto_farm = 2707;

public class POLICY

cs

	public const int trash_no = 2702;

	public const int noAnimal = 2709; 
	public const int noDM = 2708; 

	public static readonly int[] IDS = new int[51]
	{
		2816, 2817, 2818, 2819, 2820, 2821, 2824, 2823, 2825, 2826,
		2827, 2828, 2815, 2822, 2814, 2502, 2812, 2514, 2513, 2512, 
		2511, 2510, 2509, 2515, 2508, 2506, 2505, 2504, 2503, 2500, 
		2813, 2507, 2516, 2501, 2701, 2811, 2810, 2800, 2715, 2700, 
		2711, 2710, 2712, 2708, 2707, 2706, 2705, 2704, 2703, 2702, 
		2709
		2827, 2828, 2815, 2822, 2814, 2501, 2812, 2514, 2513, 2512, 
		2511, 2509, 2508, 2515, 2507, 2505, 2504, 2503, 2502, 2500, 
		2813, 2506, 2516, 2510, 2701, 2811, 2810, 2700, 2800, 2715, 
		2712, 2710, 2709, 2711, 2707, 2706, 2705, 2704, 2703, 2702, 
		2708
	};
}
public class Policy : EClass

Party

using System;

cs
using System; 
using System.Collections.Generic;
using Newtonsoft.Json;
using UnityEngine;

public bool IsCriticallyWounded(bool includePc = false)

cs
		return false;
	}

	public int EValue(int ele) 
	public int EvalueBest(int ele) 
	{
		int num = 0;
		foreach (Chara member in members)

public int EValue(int ele)

cs
		return num;
	}

	public int EvalueTotal(int ele, Func<Chara, bool> funcIf = null) 
	{ 
		int num = 0; 
		foreach (Chara member in members) 
		{ 
			if (funcIf == null || funcIf(member)) 
			{ 
				num += member.Evalue(ele); 
			} 
		} 
		return num; 
	} 
	public bool HasElement(int ele, bool excludePC = false)
	{
		foreach (Chara member in members)

Player

public class Stats : EClass

cs
		[JsonProperty]
		public int death;

		[JsonProperty] 
		public int death2; 
		[JsonProperty]
		public int allyDeath;

SKILL

public class SKILL

cs
public class SKILL
{
	public const int twohand = 130; 
	public const int eyeofmind = 134;

	public const int marksman = 133;

public class SKILL

cs

	public const int twowield = 131;

	public const int twohand = 130; 
	public const int shield = 123;

	public const int throwing = 108; 
	public const int weaponDagger = 107; 

	public const int armorLight = 120;

public class SKILL

cs

	public const int weaponCrossbow = 109;

	public const int strategy = 135; 
	public const int throwing = 108; 

	public const int weaponDagger = 107; 
	public const int strategy = 135; 

	public const int armorHeavy = 122;

	public const int evasion = 150;

	public const int riding = 226; 
	public const int climbing = 242; 

	public const int stealth = 152;

public class SKILL

cs

	public const int lumberjack = 225;

	public const int riding = 226; 
	public const int parasite = 227;

	public const int digging = 230;

public class SKILL

cs

	public const int weaponPolearm = 106;

	public const int climbing = 242; 
	public const int evasionPlus = 151;

	public const int weaponGun = 105;

public class SKILL

cs

	public static readonly int[] IDS = new int[133]
	{
		134, 133, 132, 131, 130, 123, 108, 120, 111, 110, 
		109, 135, 107, 122, 150, 226, 152, 200, 207, 210, 
		220, 225, 227, 230, 235, 237, 240, 241, 106, 242, 
		130, 134, 133, 132, 131, 123, 107, 120, 111, 110, 
		109, 108, 135, 122, 150, 242, 152, 200, 207, 210, 
		220, 225, 226, 227, 230, 235, 237, 240, 241, 106, 
		151, 105, 73, 103, 50, 51, 55, 56, 57, 60,
		61, 64, 65, 66, 67, 68, 70, 71, 104, 72,
		74, 75, 76, 77, 78, 79, 80, 90, 91, 92,

Scene

public void OnUpdate()

cs
								Tutorial.Reserve("death");
							}
							EMono.player.stats.death++;
							if (EMono.player.stats.days <= 90) 
							{ 
								EMono.player.stats.death2++; 
							} 
						}
						else
						{

TraitDeliveryChest

public override bool CanOpenContainer

cs
	{
		if (owner.IsInstalled)
		{
			if (!EClass._zone.IsPCFaction && !EClass._zone.IsTown && !(EClass._zone is Zone_MerchantGuild) && !(EClass._zone is Zone_Casino)) 
			if (!EClass._zone.IsPCFaction && !EClass._zone.IsTown && !(EClass._zone is Zone_MerchantGuild) && !(EClass._zone is Zone_Casino) && !(EClass._zone is Zone_CurryRuin)) 
			{
				return EClass._zone is Zone_CurryRuin; 
				return EClass._zone.id == "startVillage2"; 
			}
			return true;
		}

TraitFoodEggFertilized

public class TraitFoodEggFertilized : TraitFoodEgg

cs
public static Chara Incubate(Thing egg, Point pos, Card incubator = null)
{
	egg.SetSale(sale: false);
	string str = ""; 
	string text = ""; 
	CardRow refCard = egg.refCard;
	if (refCard != null)
	{
		str = refCard.id; 
		text = refCard.id; 
		if (refCard.id == "chara" || refCard.quality == 4)
		{
			str = ""; 
			text = ""; 
		}
	}
	if (egg.IsDecayed)
	{
		str = "zombie"; 
		text = "zombie"; 
	}
	Chara chara = CharaGen.Create(str.IsEmpty("chicken")); 
	if (text == "cat_silver") 
	{ 
		text = "cat"; 
	} 
	Chara chara = CharaGen.Create(text.IsEmpty("chicken")); 
	EClass._zone.AddCard(chara, pos.GetNearestPoint(allowBlock: false, allowChara: false) ?? EClass.pc.pos);
	chara.SetLv(1);
	chara.SetMainElement(egg.c_idMainElement, 10, elemental: true);

TraitLightSun

public override int radius

cs
{
	get
	{
		if (EClass._map.IsIndoor) 
		if (!owner.isOn && EClass._zone.electricity < -Electricity) 
		{
			if (!(owner.parent is Zone)) 
			{ 
				if (EClass._zone.electricity < -Electricity) 
				{ 
					return 1; 
				} 
				return 6; 
			} 
			if (!owner.isOn) 
			{ 
				return 1; 
			} 
			return 6; 
			return 0; 
		}
		return 6;
	}

TraitMonsterBall

public Chara chara

cs

	public virtual bool IsDuponneBall => false;

	public virtual bool IsSilvercatBall => false; 
	public override void OnCreate(int lv)
	{
		if (!IsLittleBall && !IsDuponneBall) 
		if (!IsLittleBall && !IsDuponneBall && !IsSilvercatBall) 
		{
			owner.SetLv(1 + EClass.rnd(lv + 10));
		}

public override bool CanStackTo(Thing to)

cs

	public override void SetName(ref string s)
	{
		s = ((IsDuponneBall || IsLittleBall) ? "_littleBall" : "_monsterball").lang(s, owner.LV.ToString() ?? "", (chara == null) ? "_monsterball_empty".lang() : chara.Name); 
		s = ((IsDuponneBall || IsLittleBall || IsSilvercatBall) ? "_littleBall" : "_monsterball").lang(s, owner.LV.ToString() ?? "", (chara == null) ? "_monsterball_empty".lang() : chara.Name); 
	}

	public override int GetValue()
	{
		if (IsLittleBall || IsDuponneBall) 
		if (IsLittleBall || IsDuponneBall || IsSilvercatBall) 
		{
			return base.GetValue();
		}

+TraitSilvercatBall

File Created
cs
public class TraitSilvercatBall : TraitMonsterBall
{
	public override bool IsSilvercatBall => true;
}

WidgetRoster

using System;

cs
using System;
using System.Collections.Generic;
using System.Linq; 
using Newtonsoft.Json;
using UnityEngine;
using UnityEngine.UI;

public void Build()

cs
	layout.startCorner = (extra.reverse ? GridLayoutGroup.Corner.LowerRight : GridLayoutGroup.Corner.UpperLeft);
	layout.cellSize = new Vector2(extra.width * 4 / 5, extra.onlyName ? 32 : extra.width);
	layout.spacing = new Vector2(extra.margin, extra.margin);
	foreach (Chara member in EMono.pc.party.members) 
	List<Chara> list = EMono.pc.party.members.ToList(); 
	if (!extra.pc) 
	{
		if (member != EMono.pc || extra.pc) 
		{ 
			Add(member); 
		} 
		list.Remove(EMono.pc); 
	} 
	list.Sort(delegate(Chara a, Chara b) 
	{ 
		int @int = a.GetInt(19); 
		int int2 = b.GetInt(19); 
		return (@int == int2) ? (EMono.pc.party.members.IndexOf(a) - EMono.pc.party.members.IndexOf(b)) : (int2 * 1000 - @int * 1000); 
	}); 
	foreach (Chara item in list) 
	{ 
		Add(item); 
	}
	if (buttons.Count == 0)
	{

public void OnRemoveMember(Chara c)

cs
public override void OnSetContextMenu(UIContextMenu m)
{
	ButtonRoster b = InputModuleEX.GetComponentOf<ButtonRoster>();
	int index; 
	if ((bool)b)
	{
		index = EMono.pc.party.members.IndexOf(b.chara); 
		int count = EMono.pc.party.members.Count; 
		if (index >= 1 && index < count - 1) 
		m.AddSlider("priority_hint", (float a) => a.ToString() ?? "", b.chara.GetInt(19), delegate(float a) 
		{
			m.AddButton("next", delegate
			{ 
				Move(1); 
			}); 
		} 
		if (index >= 2) 
		{ 
			m.AddButton("prev", delegate
			{ 
				Move(-1); 
			}); 
		} 
			b.chara.SetInt(19, (int)a); 
			Build(); 
		}, 0f, 20f, isInt: true, hideOther: false); 
	}
	UIContextMenu uIContextMenu = m.AddChild("setting");
	uIContextMenu.AddSlider("width", (float a) => a.ToString() ?? "", extra.width, delegate(float a)

public override void OnSetContextMenu(UIContextMenu m)

cs
			ApplySkin();
		}, 0f, base.config.skin.Skin.buttons.Count - 1, isInt: true);
		SetBaseContextMenu(m);
		void Move(int mod) 
		{ 
			EMono.pc.party.Replace(b.chara, index + mod); 
			Build(); 
		} 
	}
}

ZoneEventDefenseGame

public void NextWave(int add = 0)

cs
{
	wave++;
	turns = 0;
	EClass._zone._dangerLv += ((EClass._zone.DangerLv >= 100) ? (EClass._zone.DangerLv / 100 * 5 + 5) : 5); 
	long num = EClass._zone._dangerLv + ((EClass._zone.DangerLv >= 100) ? (EClass._zone.DangerLv / 100 * 5 + 5) : 5); 
	if (num >= 2000000000) 
	{ 
		num = 2000000000L; 
	} 
	EClass._zone._dangerLv = (int)num; 
	SE.Play("warhorn");
	Msg.Say("warhorn");
	Msg.Say("defense_wave", wave.ToString() ?? "", EClass._zone.DangerLv.ToString() ?? "");