Skip to content

EA 23.225 Nightly Patch 3

October 26, 2025

29 files modified. 1 new file created.

Important Changes

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

ELEMENT (1)

cs
public void AddText(int v, string text, string textBad = null) 
public void AddText(long v, string text, string textBad = null) 

Thing (1)

cs
public static Tuple<SourceElement.Row, int> GetEnchant(int lv, Func<SourceElement.Row, bool> func, bool neg) 
public static Tuple<SourceElement.Row, int> GetEnchant(long lv, Func<SourceElement.Row, bool> func, bool neg) 

ABILITY

``

cs

public class ABILITY
{
	public const int AI_OpenLock = 5049; 
	public const int ActItem = 5048; 
	public const int AI_Sleep = 5050; 
	public const int ActZap = 5051; 
	public const int ActNTR = 6603; 

	public const int ActBash = 5052;

public class ABILITY

cs

	public const int ActPray = 6050;

	public const int ActTouchSleep = 6612; 
	public const int ActFear = 6611; 
	public const int ActWeaken = 6610; 
	public const int ActBurnMana = 6606; 
	public const int ActZap = 5051; 

	public const int ActCrySad = 6605; 
	public const int ActEscape = 6400; 

	public const int ActCryRage = 6604; 
	public const int ActDuplicate = 6420; 

	public const int ActPick = 5047; 
	public const int ActRush = 6450; 

	public const int ActDraw = 6602; 
	public const int ActCrabBreathe = 6500; 

	public const int ActCurse = 6600;

	public const int ActCrabBreathe = 6500; 
	public const int ActRush = 6450; 
	public const int ActEntangle = 6601; 

	public const int ActDuplicate = 6420; 
	public const int ActDraw = 6602; 

	public const int ActSuicide = 6410; 
	public const int ActCryRage = 6604; 

	public const int ActEscape = 6400; 
	public const int ActCrySad = 6605; 

	public const int ActEntangle = 6601; 
	public const int ActBurnMana = 6606; 

	public const int ActInstall = 5046; 
	public const int ActWeaken = 6610; 

	public const int AI_Drink = 5045; 
	public const int ActFear = 6611; 

	public const int ActChat = 5044; 
	public const int ActTouchSleep = 6612; 

	public const int AI_Grab = 5025; 
	public const int ActTouchDrown = 6613; 

	public const int AI_Eat = 5024; 
	public const int ActGazeDim = 6620; 

	public const int TaskGoOut = 5023; 
	public const int ActSuicide = 6410; 

	public const int TaskSleepOnBed = 5022; 
	public const int ActGazeInsane = 6621; 

	public const int TaskTrain = 5021; 
	public const int AI_Sleep = 5050; 

	public const int TaskFarm = 5020; 
	public const int ActItem = 5048; 

	public const int AI_Haul = 5026; 
	public const int TaskPick = 5018; 

	public const int TaskReadBoard = 5019;

	public const int ActWait = 5000; 
	public const int ActMelee = 5001; 
	public const int TaskFarm = 5020; 

	public const int Melee = 5002; 
	public const int TaskTrain = 5021; 

	public const int Ranged = 5003; 
	public const int TaskSleepOnBed = 5022; 

	public const int Sleep = 5004; 
	public const int TaskGoOut = 5023; 

	public const int Wait = 5005; 
	public const int AI_Eat = 5024; 

	public const int TaskPick = 5018; 
	public const int AI_Grab = 5025; 

	public const int ActTouchDrown = 6613; 
	public const int AI_Haul = 5026; 

	public const int GoalSleep = 5027;

	public const int ActReleaseHeld = 5028; 
	public const int AI_Offer = 5029;

	public const int AI_TendAnimal = 5043; 
	public const int AI_ReleaseHeld = 5030; 

	public const int ActKick = 5042; 
	public const int AI_Deconstruct = 5031; 

	public const int AI_Read = 5041; 
	public const int AI_OpenLock = 5049; 

	public const int ActRanged = 5040; 
	public const int AI_Equip = 5032; 

	public const int AI_Fish = 5039; 
	public const int GoalIdle = 5034; 

	public const int ActThrow = 5038; 
	public const int TaskBuild = 5035; 

	public const int ActReleaseHeld = 5028; 
	public const int TaskMoveInstalled = 5036; 

	public const int ActNoItem = 5037;

	public const int TaskBuild = 5035; 
	public const int ActThrow = 5038; 

	public const int GoalIdle = 5034; 
	public const int AI_Fish = 5039; 

	public const int ActCancelTask = 5033; 
	public const int ActRanged = 5040; 

	public const int AI_Equip = 5032; 
	public const int AI_Read = 5041; 

	public const int AI_Deconstruct = 5031; 
	public const int ActKick = 5042; 

	public const int AI_ReleaseHeld = 5030; 
	public const int AI_TendAnimal = 5043; 

	public const int TaskMoveInstalled = 5036; 
	public const int ActChat = 5044; 

	public const int ActGazeDim = 6620; 
	public const int AI_Drink = 5045; 

	public const int ActNTR = 6603; 
	public const int ActInstall = 5046; 

	public const int ActGazeMutation = 6622; 
	public const int ActPick = 5047; 

	public const int breathe_Cold = 50201; 
	public const int ActCancelTask = 5033; 

	public const int breathe_Lightning = 50202; 
	public const int ActGazeMana = 6623; 

	public const int breathe_Darkness = 50203; 
	public const int ActGazeMutation = 6622; 

	public const int breathe_Mind = 50204; 
	public const int ActCatHuffing = 6627; 

	public const int breathe_Poison = 50205; 
	public const int ActDrainBlood = 6626; 

	public const int breathe_Nether = 50206;

public class ABILITY

cs

	public const int breathe_Chaos = 50210;

	public const int ActGazeInsane = 6621; 
	public const int breathe_Magic = 50211; 

	public const int breathe_Ether = 50212;

	public const int breathe_Acid = 50213;

	public const int breathe_Fire = 50200; 
	public const int breathe_Cut = 50214;

	public const int breathe_Impact = 50215; 
	public const int breathe_Void = 50216;

	public const int Shoot = 5006; 
	public const int TaskTalk = 5017; 

	public const int Use = 5007; 
	public const int TaskTame = 5016; 

	public const int General = 5008; 
	public const int breathe_Mind = 50204; 

	public const int TaskMine = 5009; 
	public const int TaskAttack = 5015; 

	public const int TaskDig = 5010; 
	public const int ActAttack = 5013; 
	public const int AI_Goto = 5012; 

	public const int TaskCut = 5011;

	public const int AI_Goto = 5012; 
	public const int TaskDig = 5010; 

	public const int ActAttack = 5013; 
	public const int TaskMine = 5009; 

	public const int TaskPlow = 5014; 
	public const int General = 5008; 

	public const int TaskAttack = 5015; 
	public const int Use = 5007; 

	public const int TaskTame = 5016; 
	public const int Shoot = 5006; 

	public const int TaskTalk = 5017; 
	public const int Wait = 5005; 

	public const int breathe_Impact = 50215; 
	public const int Sleep = 5004; 

	public const int breathe_ = 7000; 
	public const int Ranged = 5003; 

	public const int breathe_Magic = 50211; 
	public const int Melee = 5002; 

	public const int ActKizuamiTrick = 6903; 
	public const int ActMelee = 5001; 

	public const int ActDrainBlood = 6626; 
	public const int ActWait = 5000; 

	public const int ActCatHuffing = 6627; 
	public const int TaskPlow = 5014; 
	public const int breathe_Darkness = 50203; 
	public const int breathe_Poison = 50205; 
	public const int breathe_Cold = 50201; 

	public const int ActInsult = 6630;

public class ABILITY

cs

	public const int ActStealMoney = 6642;

	public const int ActHeadpat = 6904; 
	public const int ActNeckHunt = 6650;

	public const int ActGazeMana = 6623; 
	public const int ActDropMine = 6660; 

	public const int ActThrowPotion = 6661;

public class ABILITY

cs

	public const int ActMultiHit = 6663;

	public const int ActDropMine = 6660; 
	public const int ActBladeStorm = 6664; 

	public const int ActBladeStorm2 = 6665;

	public const int ActWhirlwind = 6666; 
	public const int breathe_Lightning = 50202; 

	public const int ActMissileBarrage = 6667;

	public const int ActSummonSpecial = 6800;

	public const int ActWhirlwind = 6666; 
	public const int ActJureHeal = 6901; 
	public const int StTaunt = 6700;

	public const int ActLulwyTrick = 6902; 
	public const int StManaCost = 6720; 

	public const int ActJureHeal = 6901; 
	public const int SongSleep = 6750; 

	public const int ActManaAbsorb = 6900; 
	public const int SongTulip = 6751; 

	public const int SongValor = 6752;

	public const int ActBladeStorm = 6664; 
	public const int ActManaAbsorb = 6900; 

	public const int StManaCost = 6720; 
	public const int breathe_Fire = 50200; 

	public const int SongSleep = 6750; 
	public const int ActLulwyTrick = 6902; 

	public const int SongTulip = 6751; 
	public const int ActKizuamiTrick = 6903; 
	public const int breathe_ = 7000; 
	public const int ActHeadpat = 6904; 

	public static readonly int[] IDS = new int[131]
	{
		5049, 5048, 5050, 5051, 5052, 5053, 5054, 5055, 6001, 6003, 
		6011, 6012, 6013, 6015, 6018, 6019, 6020, 6050, 6612, 6611, 
		6610, 6606, 6605, 6604, 5047, 6602, 6600, 6500, 6450, 6420, 
		6410, 6400, 6601, 5046, 5045, 5044, 5025, 5024, 5023, 5022, 
		5021, 5020, 5026, 5019, 5000, 5001, 5002, 5003, 5004, 5005, 
		5018, 6613, 5027, 5029, 5043, 5042, 5041, 5040, 5039, 5038, 
		5028, 5037, 5035, 5034, 5033, 5032, 5031, 5030, 5036, 6620, 
		6603, 6622, 50201, 50202, 50203, 50204, 50205, 50206, 50207, 50208, 
		50209, 50210, 6621, 50212, 50213, 50200, 50214, 50216, 5006, 5007, 
		5008, 5009, 5010, 5011, 5012, 5013, 5014, 5015, 5016, 5017, 
		50215, 7000, 50211, 6903, 6626, 6627, 6630, 6631, 6640, 6641, 
		6642, 6904, 6650, 6623, 6661, 6662, 6663, 6660, 6665, 6666, 
		6667, 6800, 6700, 6902, 6901, 6900, 6752, 6664, 6720, 6750, 
		6751
		6603, 5052, 5053, 5054, 5055, 6001, 6003, 6011, 6012, 6013, 
		6015, 6018, 6019, 6020, 6050, 5051, 6400, 6420, 6450, 6500, 
		6600, 6601, 6602, 6604, 6605, 6606, 6610, 6611, 6612, 6613, 
		6620, 6410, 6621, 5050, 5048, 5018, 5019, 5020, 5021, 5022, 
		5023, 5024, 5025, 5026, 5027, 5028, 5029, 5030, 5031, 5049, 
		5032, 5034, 5035, 5036, 5037, 5038, 5039, 5040, 5041, 5042, 
		5043, 5044, 5045, 5046, 5047, 5033, 6623, 6622, 6627, 6626, 
		50206, 50207, 50208, 50209, 50210, 50211, 50212, 50213, 50214, 50215, 
		50216, 5017, 5016, 50204, 5015, 5013, 5012, 5011, 5010, 5009, 
		5008, 5007, 5006, 5005, 5004, 5003, 5002, 5001, 5000, 5014, 
		50203, 50205, 50201, 6630, 6631, 6640, 6641, 6642, 6650, 6660, 
		6661, 6662, 6663, 6664, 6665, 50202, 6667, 6800, 6666, 6901, 
		6700, 6720, 6750, 6751, 6752, 6900, 50200, 6902, 6903, 7000, 
		6904
	};
}
public class Ability : Act

AI_Steal

public override IEnumerable<Status> Run()

cs
	Chara chara = target.Chara;
	if (chara != null)
	{
		if (chara.HasElement(426)) 
		{ 
			chara.Say("abStealNegate", chara); 
			yield return Cancel(); 
		} 
		target = chara.things.FindStealable();
		if (target == null && chara.GetInt(30) < EClass.world.date.GetRaw())
		{

ActEffect

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

cs
			case "orc":
				chara2 = CharaGen.CreateFromFilter(SpawnListChara.Get("summon_orc", (SourceChara.Row r) => r.race == "orc"), power / 10);
				break;
			case "dragon":
				chara2 = CharaGen.CreateFromFilter(SpawnListChara.Get("summon_dragon", (SourceChara.Row r) => r.race == "dragon" || r.race == "drake" || r.race == "wyvern"), power / 5); 
				break; 
			case "pawn":
				chara2 = CharaGen.CreateFromFilter("c_pawn", power / 10);
				break;

Card

public void DamageHP(long dmg, int ele, int eleP = 100, AttackSource attackSourc

cs
	}
	bool flag = originalTarget != null;
	Action onEvade = null;
	if (isChara && !isRestrained && !HasElement(1241) && !flag) 
	if (isChara && !isRestrained && !flag) 
	{
		AttackSource attackSource2 = attackSource; 
		if ((uint)(attackSource2 - 3) > 2u && (uint)(attackSource2 - 13) > 4u) 
		if (HasElement(1249)) 
		{
			foreach (Chara chara3 in EClass._map.charas)
			{
				if (chara3 != this && !chara3.IsHostile(Chara)) 
				if (chara3 != this && !chara3.IsHostile(Chara) && !chara3.IsDisabled && !chara3.isRestrained && (!IsPCFactionOrMinion || chara3.IsPCFactionOrMinion) && chara3.Dist(this) <= 3) 
				{
					int num = chara3.Evalue(1241); 
					int num2 = chara3.Evalue(438); 
					if ((num != 0 || num2 != 0) && !chara3.IsDisabled && !chara3.isRestrained && (!IsPCFactionOrMinion || chara3.IsPCFactionOrMinion) && chara3.Dist(this) <= Mathf.Max(num, (num2 > 0) ? 1 : 0) && (num != 0 || num2 <= 0 || hp * 100 / MaxHP <= chara3.hp * 100 / chara3.MaxHP)) 
					Say("wall_bond", chara3, this); 
					chara3.DamageHP(dmg, ele, eleP, attackSource, origin, showEffect, weapon, Chara); 
					return; 
				} 
			} 
		} 
		if (!HasElement(1241)) 
		{ 
			AttackSource attackSource2 = attackSource; 
			if ((uint)(attackSource2 - 3) > 2u && (uint)(attackSource2 - 13) > 4u) 
			{ 
				foreach (Chara chara4 in EClass._map.charas) 
				{ 
					if (chara4 != this && !chara4.IsHostile(Chara)) 
					{
						Say((num2 == 0) ? "wall_flesh" : "wall_knightly", chara3, this); 
						chara3.DamageHP(dmg, ele, eleP, attackSource, origin, showEffect, weapon, Chara); 
						return; 
						int num = chara4.Evalue(1241); 
						int num2 = chara4.Evalue(438); 
						if ((num != 0 || num2 != 0) && !chara4.IsDisabled && !chara4.isRestrained && (!IsPCFactionOrMinion || chara4.IsPCFactionOrMinion) && chara4.Dist(this) <= Mathf.Max(num, (num2 > 0) ? 1 : 0) && (num != 0 || num2 <= 0 || hp * 100 / MaxHP <= chara4.hp * 100 / chara4.MaxHP)) 
						{ 
							Say((num2 == 0) ? "wall_flesh" : "wall_knightly", chara4, this); 
							chara4.DamageHP(dmg, ele, eleP, attackSource, origin, showEffect, weapon, Chara); 
							return; 
						} 
					}
				}
			}

public void DamageHP(long dmg, int ele, int eleP = 100, AttackSource attackSourc

cs
							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_0f81; 
						goto IL_104d; 
					}
				}
				if (zoneInstanceBout != null && (bool)LayerDrama.Instance)

public void DamageHP(long dmg, int ele, int eleP = 100, AttackSource attackSourc

cs
						if (EClass.player.invlunerable)
						{
							EvadeDeath(null);
							goto IL_0f81; 
							goto IL_104d; 
						}
					}
					if (Evalue(1220) > 0 && Chara.stamina.value >= (IsPC ? (Chara.stamina.max / 2) : (Chara.stamina.max / 3 * 2)))

public void DamageHP(long dmg, int ele, int eleP = 100, AttackSource attackSourc

cs
			}
		}
	}
	goto IL_0f81; 
	IL_0f81: 
	goto IL_104d; 
	IL_104d: 
	if (trait.CanBeAttacked)
	{
		renderer.PlayAnime(AnimeID.HitObj);

public void DamageHP(long dmg, int ele, int eleP = 100, AttackSource attackSourc

cs
				PlaySound("revive");
				return;
			}
			foreach (Chara chara4 in EClass._map.charas) 
			foreach (Chara chara5 in EClass._map.charas) 
			{
				if (Chara.IsFriendOrAbove(chara4) && chara4.HasElement(1408) && chara4.faith == EClass.game.religions.Healing && EClass.world.date.GetRawDay() != chara4.GetInt(58) && (!chara4.IsPCFaction || IsPCFaction)) 
				if (Chara.IsFriendOrAbove(chara5) && chara5.HasElement(1408) && chara5.faith == EClass.game.religions.Healing && EClass.world.date.GetRawDay() != chara5.GetInt(58) && (!chara5.IsPCFaction || IsPCFaction)) 
				{
					Msg.alwaysVisible = true;
					Msg.Say("layhand", chara4, this); 
					Msg.Say("layhand", chara5, this); 
					Msg.Say("pray_heal", this);
					hp = MaxHP;
					Chara.AddCondition<ConInvulnerable>();
					PlayEffect("revive");
					PlaySound("revive");
					chara4.SetInt(58, EClass.world.date.GetRawDay()); 
					chara5.SetInt(58, EClass.world.date.GetRawDay()); 
					return;
				}
			}

public void MakeRefFrom(Card c1, Card c2 = null)

cs
public Thing MakeEgg(bool effect = true, int num = 1, bool addToZone = true, int fertChance = 20, BlessedState? state = null)
{
	Thing thing = ThingGen.Create((EClass.rnd(EClass.debug.enable ? 1 : fertChance) == 0) ? "egg_fertilized" : "_egg").SetNum(num);
	thing.MakeFoodFrom(this); 
	if (!EClass.debug.enable && HasElement(1290) && Evalue(418) >= 0) 
	{ 
		thing.MakeFoodFrom(EClass.sources.charas.map["caladrius"].model); 
	} 
	else
	{ 
		thing.MakeFoodFrom(this); 
	} 
	thing.c_idMainElement = c_idMainElement;
	if (state.HasValue)
	{

public Thing MakeEgg(bool effect = true, int num = 1, bool addToZone = true, int

cs
public Thing MakeMilk(bool effect = true, int num = 1, bool addToZone = true, BlessedState? state = null)
{
	Thing thing = ThingGen.Create("milk").SetNum(num);
	thing.MakeRefFrom(this); 
	if (!EClass.debug.enable && HasElement(1290) && Evalue(418) >= 0) 
	{ 
		thing.MakeRefFrom(EClass.sources.charas.map["caladrius"].model); 
	} 
	else
	{ 
		thing.MakeRefFrom(this); 
	} 
	if (state.HasValue)
	{
		thing.SetBlessedState(state.Value);

CardBlueprint

public class CardBlueprint

cs

	public static CardBlueprint DebugEQ = new CardBlueprint
	{
		rarity = Rarity.Legendary 
		rarity = Rarity.Mythical, 
		lv = int.MaxValue 
	};

	public static CardBlueprint Chara(int lv, Rarity rarity = Rarity.Normal)

Chara

public class Chara : Card, IPathfindWalker

cs

	public bool dirtySpeed = true;

	private int _Speed; 
	private long _Speed; 

	private static Point _sharedPos = new Point();

public int Speed

cs
			{
				RefreshSpeed();
			}
			return _Speed; 
			if (_Speed > 100000000) 
			{ 
				return 100000000; 
			} 
			return (int)_Speed; 
		}
	}

public void RefreshSpeed(Element.BonusInfo info = null)

cs
		if (host.ride == this)
		{
			_Speed = Evalue(79);
			_Speed = _Speed * 100 / Mathf.Clamp(100 + _Speed * ((!race.tag.Contains("noRide")) ? 1 : 5) - base.STR - host.EvalueRiding() * 2 - (race.tag.Contains("ride") ? 50 : 0), 100, 1000); 
			_Speed = _Speed * 100 / Mathf.Clamp(100 + (int)_Speed * ((!race.tag.Contains("noRide")) ? 1 : 5) - base.STR - host.EvalueRiding() * 2 - (race.tag.Contains("ride") ? 50 : 0), 100, 1000); 
		}
		else
		{

public void RefreshSpeed(Element.BonusInfo info = null)

cs
	}
	if (body.GetSlot(37, onlyEmpty: false)?.thing != null && HasElement(1209) && !HasElement(419))
	{
		_Speed -= 25; 
		info?.AddText(-25, EClass.sources.elements.map[1209].GetName()); 
		_Speed -= 25L; 
		info?.AddText(-25L, EClass.sources.elements.map[1209].GetName()); 
	}
	if (parasite != null)
	{
		int speed = _Speed; 
		long speed = _Speed; 
		_Speed = _Speed * 100 / Mathf.Clamp(120 + parasite.LV * 2 - base.STR - Evalue(227) * 2, 100, 1000);
		info?.AddText(_Speed - speed, "parasiteSpeed".lang());
	}

public void RefreshSpeed(Element.BonusInfo info = null)

cs
	}
	if (_Speed < 10)
	{
		_Speed = 10; 
		_Speed = 10L; 
	}
	_Speed = _Speed * num / 100;
	if (_Speed < 10)
	{
		_Speed = 10; 
		_Speed = 10L; 
		info?.AddText("minSpeed".lang(10.ToString() ?? ""));
	}
	dirtySpeed = false;

public void RestockEquip(bool onCreate)

cs
			EQ_ID("EtherDagger2");
		}
		break;
	case "keeper_garden":
		if (!body.HasWeapon()) 
		{ 
			EQ_ID("sword_ragnarok"); 
		} 
		break; 
	case "ungaga_pap":
		if (onCreate)
		{

public void Revive(Point p = null, bool msg = false)

cs
	sleepiness.value = 0;
	hostility = OriginalHostility;
	RemoveCondition<StanceTaunt>();
	if (id == "keeper_garden" && base.LV < 10000000) 
	{ 
		SetLv(base.LV * 10 + 9); 
		base.hp = MaxHP; 
		mana.value = mana.max; 
		stamina.value = stamina.max; 
		bossText = true; 
	} 
	if (IsPC)
	{
		if (EClass.player.preventDeathPenalty)

public void ModAffinity(Chara c, int a, bool show = true, bool showOnlyEmo = fal

cs
		if (IsPC)
		{
			c.ModAffinity(EClass.pc, a, show);
			return; 
		} 
		int num = StatsHygiene.GetAffinityMod(EClass.pc.hygiene.GetPhase()) + (HasElement(417) ? 30 : 0) + (EClass.pc.HasCondition<ConSmoking>() ? (-30) : 0); 
		if (IsPCFaction && homeBranch != null) 
		{ 
			num += (int)Mathf.Sqrt(homeBranch.Evalue(2117)) * 5; 
		}
		bool flag = a > 0; 
		if (flag) 
		else
		{
			a = a * num / 100; 
			if (affinity.GetLunchChance() > EClass.rnd(100) && GetInt(71) >= 0 && GetInt(71) < EClass.world.date.GetRaw()) 
			if (id == "keeper_garden") 
			{
				SetInt(71, -1); 
				return; 
			}
		} 
		if (show) 
		{ 
			if (a == 0) 
			int num = StatsHygiene.GetAffinityMod(EClass.pc.hygiene.GetPhase()) + (HasElement(417) ? 30 : 0) + (EClass.pc.HasCondition<ConSmoking>() ? (-30) : 0); 
			if (IsPCFaction && homeBranch != null) 
			{ 
				num += (int)Mathf.Sqrt(homeBranch.Evalue(2117)) * 5; 
			} 
			bool flag = a > 0; 
			if (flag) 
			{
				if (!showOnlyEmo) 
				a = a * num / 100; 
				if (affinity.GetLunchChance() > EClass.rnd(100) && GetInt(71) >= 0 && GetInt(71) < EClass.world.date.GetRaw()) 
				{
					Say("affinityNone", this, c); 
					SetInt(71, -1); 
				}
			}
			else
			if (show) 
			{
				ShowEmo((!flag) ? Emo.angry : Emo.love); 
				c.ShowEmo(flag ? Emo.love : Emo.sad); 
				if (!showOnlyEmo) 
				if (a == 0) 
				{
					Say(flag ? "affinityPlus" : "affinityMinus", this, c); 
					if (!showOnlyEmo) 
					{ 
						Say("affinityNone", this, c); 
					} 
				} 
				else
				{ 
					ShowEmo((!flag) ? Emo.angry : Emo.love); 
					c.ShowEmo(flag ? Emo.love : Emo.sad); 
					if (!showOnlyEmo) 
					{ 
						Say(flag ? "affinityPlus" : "affinityMinus", this, c); 
					} 
				}
			}
		} 
		if (c.IsPC) 
		{ 
			a = affinity.Mod(a); 
			if (c.IsPC) 
			{ 
				a = affinity.Mod(a); 
			} 
		}
	}

public string GetIdPortrait()

cs

	public Thing MakeGene(DNA.Type? type = null)
	{
		return DNA.GenerateGene(this, type); 
		return DNA.GenerateGene((HasElement(1290) && Evalue(418) >= 0) ? EClass.sources.charas.map["caladrius"].model.Chara : this, type); 
	}

	public Thing MakeBraineCell()

CharaBody

public BodySlot GetSlot(int elementId, bool onlyEmpty = true, bool secondSlot =

cs
		return null;
	}

	public bool HasWeapon() 
	{ 
		foreach (BodySlot slot in slots) 
		{ 
			if (slot.thing != null && slot.thing.IsWeapon) 
			{ 
				return true; 
			} 
		} 
		return false; 
	} 
	public Thing GetEquippedThing(int elementId)
	{
		foreach (BodySlot slot in slots)

CoreDebug

public void QuickStart()

cs
	if (!startSetting.job.IsEmpty())
	{
		EClass.pc.ChangeJob(startSetting.job);
		EClass.player.RefreshDomain(); 
	}
	switch (startScene)
	{

public void QuickStart()

cs
		for (int j = 0; j < 30; j++)
		{
			CardBlueprint.Set(CardBlueprint.DebugEQ);
			Thing thing2 = ThingGen.CreateFromCategory("weapon", EClass.pc.LV); 
			Thing thing2 = ThingGen.CreateFromCategory("weapon", int.MaxValue); 
			thing2.elements.SetBase(653, 1);
			if (!(thing2.trait is TraitAmmo))
			{
				thing.AddCard(thing2);
			}
			thing2 = ThingGen.CreateFromCategory("armor", EClass.pc.LV + 100); 
			CardBlueprint.Set(CardBlueprint.DebugEQ); 
			thing2 = ThingGen.CreateFromCategory("armor", int.MaxValue); 
			thing2.elements.SetBase(653, 1);
			thing.AddCard(thing2);
		}

public void UpdateInput()

cs
				{
					if (c.IsHostile(EClass.pc))
					{
						c.DamageHP(9999999L, AttackSource.Finish, EClass.pc); 
						c.DamageHP(999999999L, AttackSource.Finish, EClass.pc); 
					}
				});
			}

public void UpdateInput()

cs
			{
				for (int num = hitPoint.detail.charas.Count - 1; num >= 0; num--)
				{
					hitPoint.detail.charas[num].DamageHP(9999999L, AttackSource.Finish, EClass.pc); 
					hitPoint.detail.charas[num].DamageHP(999999999L, AttackSource.Finish, EClass.pc); 
				}
			}
			EInput.Consume();

DOMAIN

``

cs

public class DOMAIN
{
	public const int domEyth = 814; 
	public const int domComm = 805; 

	public const int domMiracle = 803; 
	public const int domElement = 806; 

	public const int domOblivion = 813; 
	public const int domSurvival = 801; 

	public const int domHealing = 811; 
	public const int domTest = 800; 

	public const int domLuck = 810; 
	public const int domArcane = 804; 

	public const int domMachine = 809; 
	public const int domFaith = 802; 
	public const int domMiracle = 803; 

	public const int domHarvest = 808;

	public const int domWind = 807;

	public const int domElement = 806; 
	public const int domComm = 805; 
	public const int domLuck = 810; 

	public const int domArcane = 804; 
	public const int domHealing = 811; 

	public const int domEarth = 812;

	public const int domHarmony = 815; 
	public const int domOblivion = 813; 

	public const int domSurvival = 801; 
	public const int domEyth = 814; 

	public const int domFaith = 802; 
	public const int domHarmony = 815; 

	public const int domTest = 800; 
	public const int domMachine = 809; 

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

ELEMENT

``

cs

public class ELEMENT
{
	public const int difficulty = 765; 
	public const int air = 763; 
	public const int recharge = 761; 
	public const int rare = 751; 
	public const int cute = 752;

	public const int antidote = 753;

public class ELEMENT

cs

	public const int hotspring = 756;

	public const int purity = 759; 
	public const int roasted = 762; 

	public const int stimulant = 760;

	public const int roasted = 762; 
	public const int recharge = 761; 
	public const int air = 763; 
	public const int difficulty = 765; 
	public const int rare = 751; 
	public const int purity = 759; 

	public const int comfort = 750;

	public const int _void = 0;

	public const int quality = 2; 
	public const int lv = 1; 
	public const int old_antidote = 25; 

	public const int d = 3; 
	public const int piety = 85; 

	public const int socket = 5; 
	public const int race = 29; 

	public const int nutrition = 10; 
	public const int cure = 26; 

	public const int weight = 11; 
	public const int old_heal = 24; 

	public const int size = 12; 
	public const int old_detox = 23; 

	public const int hardness = 13; 
	public const int cut = 22; 

	public const int growth = 14; 
	public const int fire = 21; 

	public const int heat = 16; 
	public const int poison = 20; 

	public const int decay = 17;

	public const int heat = 16; 
	public const int taste = 18;

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

	public const int fire = 21; 
	public const int hardness = 13; 

	public const int cut = 22; 
	public const int size = 12; 

	public const int old_detox = 23; 
	public const int weight = 11; 

	public const int old_heal = 24; 
	public const int nutrition = 10; 

	public const int old_antidote = 25; 
	public const int socket = 5; 

	public const int cure = 26; 
	public const int d = 3; 

	public const int race = 29; 
	public const int water = 15; 

	public const int piety = 85; 
	public const int lv = 1; 

	public const int poison = 20; 
	public const int quality = 2; 

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

public class BonusInfo

cs

		public bool first = true;

		public int total; 
		public long total; 

		public void CheckFirst()
		{

public void AddText(string text, FontColor col = FontColor.Warning)

cs
			n.AddText("_bullet".lang() + text, col);
		}

		public void AddText(int v, string text, string textBad = null) 
		public void AddText(long v, string text, string textBad = null) 
		{
			if (v != 0) 
			if (v != 0L) 
			{
				string text2 = text;
				if (!textBad.IsEmpty() && v < 0)

ENC

public class ENC

cs
public class ENC
{
	public const int eco = 652; 
	public const int r_PV = 651; 
	public const int innocence = 418; 

	public const int r_DV = 650; 
	public const int slowCorruption = 412; 

	public const int r_mana = 641; 
	public const int encHit = 414; 

	public const int r_life = 640; 
	public const int seeInvisible = 416; 

	public const int mod_flurry = 621; 
	public const int invisibility = 415; 

	public const int mod_chaser = 620; 
	public const int encTail = 419; 

	public const int mod_feint = 623; 
	public const int loving = 417; 

	public const int mod_cleave = 622; 
	public const int negatePoison = 420; 

	public const int living = 653; 
	public const int absorbHP = 660; 

	public const int mod_frustration = 624; 
	public const int meleeDistance = 666; 

	public const int noDamage = 654; 
	public const int planter = 665; 

	public const int convertCold = 851; 
	public const int boostMachine = 664; 

	public const int permaCurse = 656; 
	public const int eheluck = 663; 

	public const int absorbHP = 660; 
	public const int absorbSP = 662; 

	public const int absorbMP = 661;

	public const int absorbSP = 662; 
	public const int encSpell = 411; 

	public const int eheluck = 663; 
	public const int permaCurse = 656; 

	public const int boostMachine = 664; 
	public const int encRagnarok = 667; 

	public const int planter = 665; 
	public const int throwReturn = 410; 

	public const int meleeDistance = 666; 
	public const int redirect_blaser = 383; 

	public const int convertFire = 850; 
	public const int resWeather = 408; 

	public const int mod_talisman = 609; 
	public const int negateBlind = 421; 

	public const int convertImpact = 865;

	public const int convertLightning = 852;

	public const int onlyPet = 655; 
	public const int convertCold = 851; 

	public const int mod_splash = 608; 
	public const int convertFire = 850; 

	public const int breathing = 429; 
	public const int counter = 380; 

	public const int mod_drill = 606; 
	public const int basher = 381; 

	public const int seeInvisible = 416; 
	public const int rusher = 382; 

	public const int loving = 417; 
	public const int onlyPet = 655; 

	public const int innocence = 418; 
	public const int negateTeleport = 400; 

	public const int encTail = 419; 
	public const int levitation = 401; 

	public const int negatePoison = 420; 
	public const int searchRange = 402; 

	public const int negateBlind = 421; 
	public const int expMod = 403; 

	public const int negateParalysis = 422; 
	public const int weightMod = 404; 

	public const int negateFear = 423; 
	public const int slowDecay = 405; 

	public const int negateSleep = 424; 
	public const int resMutation = 406; 

	public const int negateConfusion = 425; 
	public const int travelSpeed = 407; 

	public const int negateSteal = 426; 
	public const int corruption = 409; 

	public const int negateNeckHunt = 427; 
	public const int noDamage = 654; 

	public const int allNeckHunt = 428; 
	public const int negateParalysis = 422; 

	public const int negateShockwave = 430; 
	public const int eco = 652; 

	public const int defense_range = 435; 
	public const int sustain_MAG = 446; 

	public const int invisibility = 415; 
	public const int sustain_CHA = 447; 

	public const int guts = 436; 
	public const int sustain_figure = 450; 

	public const int encHit = 414; 
	public const int bane_dragon = 460; 

	public const int encSpell = 411; 
	public const int bane_undead = 461; 

	public const int counter = 380; 
	public const int bane_fairy = 462; 

	public const int basher = 381; 
	public const int bane_animal = 463; 

	public const int rusher = 382; 
	public const int bane_man = 464; 

	public const int redirect_blaser = 383; 
	public const int bane_machine = 465; 

	public const int negateTeleport = 400; 
	public const int bane_god = 466; 

	public const int levitation = 401; 
	public const int bane_fish = 467; 

	public const int searchRange = 402; 
	public const int strongStomach = 480; 

	public const int expMod = 403; 
	public const int revealFaith = 481; 

	public const int weightMod = 404; 
	public const int force_weapon = 482; 

	public const int slowDecay = 405; 
	public const int optimizeMana = 483; 

	public const int resMutation = 406; 
	public const int sustain_WIL = 445; 

	public const int mod_scatter = 607; 
	public const int slot_rune = 484; 

	public const int resWeather = 408; 
	public const int sustain_LER = 444; 

	public const int corruption = 409; 
	public const int sustain_DEX = 442; 

	public const int throwReturn = 410; 
	public const int living = 653; 

	public const int slowCorruption = 412; 
	public const int negateSleep = 424; 

	public const int parry = 437; 
	public const int negateConfusion = 425; 

	public const int travelSpeed = 407; 
	public const int negateSteal = 426; 

	public const int negateParry = 439; 
	public const int negateNeckHunt = 427; 

	public const int revealFaith = 481; 
	public const int allNeckHunt = 428; 

	public const int force_weapon = 482; 
	public const int breathing = 429; 

	public const int optimizeMana = 483; 
	public const int negateShockwave = 430; 

	public const int slot_rune = 484; 
	public const int defense_range = 435; 

	public const int nonLethal = 485; 
	public const int guts = 436; 

	public const int safetyMeasure = 486; 
	public const int parry = 437; 

	public const int creativeChef = 487; 
	public const int knightly = 438; 

	public const int deathagony = 488; 
	public const int negateParry = 439; 

	public const int music_drunk = 489; 
	public const int sustain_STR = 440; 

	public const int mod_reload = 601; 
	public const int sustain_END = 441; 

	public const int mod_rapid = 602; 
	public const int sustain_PER = 443; 

	public const int mod_ammo_knockback = 603; 
	public const int nonLethal = 485; 

	public const int mod_ammo_recover = 604; 
	public const int bane_all = 468; 

	public const int mod_precision = 605; 
	public const int mod_splash = 608; 

	public const int knightly = 438; 
	public const int mod_feint = 623; 

	public const int strongStomach = 480; 
	public const int mod_cleave = 622; 

	public const int bane_all = 468; 
	public const int mod_flurry = 621; 

	public const int mod_ammo = 600; 
	public const int mod_chaser = 620; 

	public const int bane_god = 466; 
	public const int mod_talisman = 609; 

	public const int sustain_STR = 440; 
	public const int negateFear = 423; 

	public const int bane_fish = 467; 
	public const int r_mana = 641; 

	public const int sustain_END = 441; 
	public const int r_DV = 650; 

	public const int sustain_DEX = 442; 
	public const int safetyMeasure = 486; 

	public const int sustain_LER = 444; 
	public const int mod_frustration = 624; 

	public const int sustain_WIL = 445; 
	public const int mod_scatter = 607; 

	public const int sustain_MAG = 446; 
	public const int mod_drill = 606; 

	public const int sustain_PER = 443; 
	public const int r_life = 640; 

	public const int sustain_figure = 450; 
	public const int mod_ammo_recover = 604; 

	public const int bane_dragon = 460; 
	public const int mod_ammo_knockback = 603; 

	public const int bane_undead = 461; 
	public const int mod_rapid = 602; 

	public const int bane_machine = 465; 
	public const int creativeChef = 487; 

	public const int bane_fairy = 462; 
	public const int deathagony = 488; 

	public const int bane_animal = 463; 
	public const int music_drunk = 489; 

	public const int sustain_CHA = 447; 
	public const int mod_ammo = 600; 

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

FACTION

``

cs

public class FACTION
{
	public const int bfForest = 3601; 
	public const int bfFish = 3706; 

	public const int bfSnow = 3602; 
	public const int bfLandmark4 = 3783; 

	public const int bfHill = 3603; 
	public const int bfLandmark2 = 3781; 

	public const int bfBeach = 3604; 
	public const int fRation = 2207; 

	public const int bfUndersea = 3606; 
	public const int bfLandmark1 = 3780; 

	public const int bfFertile = 3700; 
	public const int bfBreed = 3710; 

	public const int bfGeyser = 3701; 
	public const int bfBasin = 3709; 

	public const int bfPlain = 3600; 
	public const int bfFreshAir = 3708; 

	public const int bfRuin = 3702; 
	public const int bfMonster = 3707; 

	public const int bfSea = 3605; 
	public const int bfLandmark3 = 3782; 

	public const int bfCave = 3500; 
	public const int fFood = 2204; 

	public const int fHeirloom = 2120; 
	public const int fEducation = 2116; 

	public const int fAttraction = 2206; 
	public const int fAdmin = 2115; 

	public const int fSafety = 2205; 
	public const int fLoyal = 2117; 

	public const int fFood = 2204; 
	public const int fLuck = 2118; 

	public const int fPromo = 2202; 
	public const int fTaxEvasion = 2119; 

	public const int fElec = 2201; 
	public const int fHeirloom = 2120; 

	public const int fSoil = 2200;

	public const int fTaxEvasion = 2119; 
	public const int fElec = 2201; 

	public const int fLuck = 2118; 
	public const int fAttraction = 2206; 

	public const int fLoyal = 2117; 
	public const int fPromo = 2202; 

	public const int fEducation = 2116; 
	public const int fMoral = 2203; 

	public const int bfTranquil = 3703; 
	public const int fSafety = 2205; 

	public const int fRation = 2207; 
	public const int bfLandmark5 = 3784; 

	public const int bfVolcano = 3704; 
	public const int fConstruction = 2003; 

	public const int bfStart = 3900; 
	public const int bfCoal = 3800; 

	public const int bfFish = 3706; 
	public const int bfIce = 3804; 

	public const int fAdmin = 2115; 
	public const int bfSilica = 3802; 

	public const int actBuildInspect = 4006; 
	public const int bfMushroom = 3801; 

	public const int actBuildRecipe = 4005; 
	public const int bfPlain = 3600; 

	public const int actBuildCollect = 4004; 
	public const int bfForest = 3601; 

	public const int actBuildAnywhere = 4003; 
	public const int bfSnow = 3602; 

	public const int actBuildTerrain = 4002; 
	public const int bfHill = 3603; 

	public const int actBuildMine = 4001; 
	public const int bfBeach = 3604; 

	public const int actBuildCut = 4000; 
	public const int bfSea = 3605; 

	public const int bfChitin = 3805; 
	public const int bfCave = 3500; 

	public const int bfIce = 3804; 
	public const int bfFertile = 3700; 

	public const int bfGum = 3803; 
	public const int bfGeyser = 3701; 

	public const int bfSilica = 3802; 
	public const int bfRuin = 3702; 

	public const int bfMushroom = 3801; 
	public const int bfTranquil = 3703; 

	public const int bfCoal = 3800; 
	public const int bfUndersea = 3606; 

	public const int bfLandmark5 = 3784; 
	public const int bfHunt = 3705; 

	public const int bfLandmark4 = 3783; 
	public const int bfGum = 3803; 

	public const int bfLandmark3 = 3782; 
	public const int actBuildInspect = 4006; 

	public const int bfLandmark2 = 3781; 
	public const int actBuildRecipe = 4005; 

	public const int bfLandmark1 = 3780; 
	public const int actBuildCollect = 4004; 

	public const int bfBreed = 3710; 
	public const int actBuildAnywhere = 4003; 

	public const int bfBasin = 3709; 
	public const int actBuildTerrain = 4002; 

	public const int bfFreshAir = 3708; 
	public const int actBuildMine = 4001; 

	public const int bfMonster = 3707; 
	public const int actBuildCut = 4000; 

	public const int bfHunt = 3705; 
	public const int bfStart = 3900; 

	public const int fConstruction = 2003; 
	public const int bfChitin = 3805; 

	public const int fMoral = 2203; 
	public const int bfVolcano = 3704; 

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

public void AddContribution(int a)

cs
{
	if (a != 0 && relation.type == FactionRelation.RelationType.Member)
	{
		relation.exp += a; 
		if (relation.exp < 0) 
		{ 
			relation.exp = 0; 
		} 
		if ((long)relation.exp + (long)a >= 100000000) 
		{ 
			relation.exp = 100000000; 
		} 
		else
		{ 
			relation.exp += a; 
		} 
		Msg.Say("contribute", a.ToString() ?? "", Name);
	}
}

FEAT

``

cs

public class FEAT
{
	public const int featSplit = 1222; 
	public const int featDEX = 1621; 

	public const int featDefender = 1649; 
	public const int featEND = 1622; 

	public const int featRapidMagic = 1648; 
	public const int featPER = 1623; 

	public const int featSummoner = 1647; 
	public const int featLER = 1624; 

	public const int featLonelySoul = 1646; 
	public const int featSPD = 1629; 

	public const int featParty = 1645; 
	public const int featWIL = 1626; 

	public const int featBodyParts = 1644; 
	public const int featCHA = 1627; 

	public const int featSorter = 1643; 
	public const int featLuck = 1628; 

	public const int featSleeper = 1642; 
	public const int featHardy = 1630; 

	public const int featResCurse = 1641; 
	public const int featMAG = 1625; 

	public const int featAnimalLover = 1640; 
	public const int featSTR = 1620; 

	public const int featFaith = 1636; 
	public const int featWhiteVixen = 1414; 

	public const int featMartial = 1635; 
	public const int featMana = 1611; 

	public const int featNegotiate = 1634; 
	public const int featLife = 1610; 

	public const int featGourmet = 1650; 
	public const int featHealer = 1422; 

	public const int featSpotting = 1633; 
	public const int featManaMeat = 1421; 

	public const int featDefense = 1631; 
	public const int featExecutioner = 1420; 

	public const int featHardy = 1630; 
	public const int featMilitant = 1419; 

	public const int featSPD = 1629; 
	public const int featSwordsage = 1418; 

	public const int featLuck = 1628; 
	public const int featWitch = 1417; 

	public const int featCHA = 1627; 
	public const int featInquisitor = 1416; 

	public const int featWIL = 1626; 
	public const int featFoxMaid = 1415; 

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

	public const int featLER = 1624; 
	public const int featFairysan = 1413; 

	public const int featPER = 1623; 
	public const int featStamina = 1612; 

	public const int featEND = 1622; 
	public const int featEvade = 1632; 

	public const int featDEX = 1621; 
	public const int featRapidMagic = 1648; 

	public const int featSTR = 1620; 
	public const int featNegotiate = 1634; 

	public const int featStamina = 1612; 
	public const int featLuckyCat = 1412; 

	public const int featEvade = 1632; 
	public const int featDismantler = 1661; 

	public const int featMagicManner = 1651; 
	public const int featLooter = 1660; 

	public const int featRapidArrow = 1652; 
	public const int featFisher = 1659; 

	public const int featDreamWaker = 1653; 
	public const int featChef = 1658; 

	public const int featSpike = 1221; 
	public const int featManaCost = 1657; 

	public const int featSlowFood = 1200; 
	public const int featScavenger = 1656; 

	public const int featManaBond = 1201; 
	public const int featModelBeliever = 1655; 

	public const int featFastLearner = 1202; 
	public const int featHeavyCasting = 1654; 

	public const int featGrowParts = 1203; 
	public const int featDreamWaker = 1653; 

	public const int featFairyWeak = 1204; 
	public const int featRapidArrow = 1652; 

	public const int featCannibalism = 1205; 
	public const int featSpotting = 1633; 

	public const int featMelilithCurse = 1206; 
	public const int featMagicManner = 1651; 

	public const int featFoxBless = 1207; 
	public const int featDefender = 1649; 

	public const int featFoxLearn = 1208; 
	public const int featSummoner = 1647; 

	public const int featFluffyTail = 1209; 
	public const int featLonelySoul = 1646; 

	public const int featUndead = 1210; 
	public const int featParty = 1645; 

	public const int featSnail = 1211; 
	public const int featBodyParts = 1644; 

	public const int featFairyResist = 1212; 
	public const int featSorter = 1643; 

	public const int featElea = 1213; 
	public const int featSleeper = 1642; 

	public const int featManaPrecision = 1214; 
	public const int featResCurse = 1641; 

	public const int featDwarf = 1215; 
	public const int featAnimalLover = 1640; 

	public const int featSuccubus = 1216; 
	public const int featFaith = 1636; 

	public const int featGolem = 1217; 
	public const int featMartial = 1635; 

	public const int featElderCrab = 1219; 
	public const int featGourmet = 1650; 

	public const int featFate = 1220; 
	public const int featEarthStrength = 1411; 

	public const int featDismantler = 1661; 
	public const int featNirvana = 1231; 

	public const int featLooter = 1660; 
	public const int featBoost = 1409; 

	public const int featFisher = 1659; 
	public const int featLittleOne = 1229; 

	public const int featChef = 1658; 
	public const int featAdam = 1230; 

	public const int featManaCost = 1657; 
	public const int featBaby = 1232; 

	public const int featScavenger = 1656; 
	public const int featCosmicHorror = 1233; 

	public const int featModelBeliever = 1655; 
	public const int featHeavyEater = 1234; 

	public const int featHeavyCasting = 1654; 
	public const int featLightEater = 1235; 

	public const int featMana = 1611; 
	public const int featNorland = 1236; 

	public const int featLife = 1610; 
	public const int featRoran = 1237; 

	public const int featMetal = 1218; 
	public const int featElder = 1238; 

	public const int featGod_oblivion1 = 1340; 
	public const int featDemon = 1239; 

	public const int featPaladin = 1407; 
	public const int featMassSummoner = 1240; 

	public const int featPaladin2 = 1408; 
	public const int featMeatCushion = 1241; 

	public const int featBoost = 1409; 
	public const int featGeneSlot = 1242; 

	public const int featReboot = 1410;

	public const int featEarthStrength = 1411; 
	public const int featCentaur = 1244; 

	public const int featLuckyCat = 1412; 
	public const int featSevenSense = 1245; 

	public const int featFairysan = 1413; 
	public const int featPegasus = 1246; 

	public const int featWhiteVixen = 1414; 
	public const int featLibra = 1247; 

	public const int featFoxMaid = 1415; 
	public const int featMiscreation = 1248; 

	public const int featInquisitor = 1416; 
	public const int featBloodBond = 1249; 

	public const int featWitch = 1417; 
	public const int featGoodKarma = 1270; 

	public const int featSwordsage = 1418; 
	public const int featBadKarma = 1271; 

	public const int featMilitant = 1419; 
	public const int featGoddess = 1290; 

	public const int featExecutioner = 1420; 
	public const int featGod_element1 = 1300; 

	public const int featManaMeat = 1421; 
	public const int featGod_earth1 = 1305; 

	public const int featTourist = 1406; 
	public const int featDemigod = 1228; 

	public const int featPianist = 1405; 
	public const int featGod_wind1 = 1310; 

	public const int featArcher = 1404; 
	public const int featServant = 1227; 

	public const int featFarmer = 1403; 
	public const int featLoyal = 1225; 

	public const int featBadKarma = 1271; 
	public const int featSlowFood = 1200; 

	public const int featGod_element1 = 1300; 
	public const int featManaBond = 1201; 

	public const int featGod_earth1 = 1305; 
	public const int featFastLearner = 1202; 

	public const int featGod_wind1 = 1310; 
	public const int featGrowParts = 1203; 

	public const int featGod_machine1 = 1315; 
	public const int featFairyWeak = 1204; 

	public const int featGod_healing1 = 1320; 
	public const int featCannibalism = 1205; 

	public const int featGod_harvest1 = 1325; 
	public const int featMelilithCurse = 1206; 

	public const int featHealer = 1422; 
	public const int featFoxBless = 1207; 

	public const int featGod_luck1 = 1330; 
	public const int featFoxLearn = 1208; 

	public const int featLibra = 1247; 
	public const int featFluffyTail = 1209; 

	public const int featGod_trickery1 = 1345; 
	public const int featUndead = 1210; 

	public const int featGod_moonshadow1 = 1350; 
	public const int featSnail = 1211; 

	public const int featGod_strife1 = 1355; 
	public const int featFairyResist = 1212; 

	public const int featWarrior = 1400; 
	public const int featElea = 1213; 

	public const int featThief = 1401; 
	public const int featManaPrecision = 1214; 

	public const int featWizard = 1402; 
	public const int featDwarf = 1215; 

	public const int featGod_harmony1 = 1335; 
	public const int featSuccubus = 1216; 

	public const int featGoodKarma = 1270; 
	public const int featGolem = 1217; 

	public const int featPegasus = 1246; 
	public const int featMetal = 1218; 

	public const int featCentaur = 1244; 
	public const int featElderCrab = 1219; 

	public const int featAdam = 1230; 
	public const int featFate = 1220; 

	public const int featLittleOne = 1229; 
	public const int featSpike = 1221; 

	public const int featDemigod = 1228; 
	public const int featSplit = 1222; 

	public const int featServant = 1227; 
	public const int featAcidBody = 1223; 
	public const int featShiva = 1224; 

	public const int featUnderground = 1226;

	public const int featLoyal = 1225; 
	public const int featGod_machine1 = 1315; 

	public const int featShiva = 1224; 
	public const int featEternalYouth = 1243; 

	public const int featSevenSense = 1245; 
	public const int featGod_harvest1 = 1325; 

	public const int featNirvana = 1231; 
	public const int featTourist = 1406; 

	public const int featBaby = 1232; 
	public const int featPianist = 1405; 

	public const int featCosmicHorror = 1233; 
	public const int featArcher = 1404; 

	public const int featMiscreation = 1248; 
	public const int featFarmer = 1403; 

	public const int featLightEater = 1235; 
	public const int featWizard = 1402; 

	public const int featNorland = 1236; 
	public const int featThief = 1401; 

	public const int featEternalYouth = 1243; 
	public const int featPaladin = 1407; 

	public const int featGeneSlot = 1242; 
	public const int featWarrior = 1400; 

	public const int featRoran = 1237; 
	public const int featGod_healing1 = 1320; 

	public const int featAcidBody = 1223; 
	public const int featGod_moonshadow1 = 1350; 

	public const int featMeatCushion = 1241; 
	public const int featGod_trickery1 = 1345; 

	public const int featMassSummoner = 1240; 
	public const int featGod_oblivion1 = 1340; 

	public const int featDemon = 1239; 
	public const int featGod_harmony1 = 1335; 

	public const int featElder = 1238; 
	public const int featGod_luck1 = 1330; 

	public const int featHeavyEater = 1234; 
	public const int featGod_strife1 = 1355; 

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

public List<string> Apply(int a, ElementContainer owner, bool hint = false)

cs
		ModBase(956, a * 10, hide: false);
		ModBase(950, a * -5, hide: false);
		break;
	case 1290:
		ModBase(418, a * 100, hide: false); 
		break; 
	case 1239:
		ModBase(956, a * 5, hide: false);
		ModBase(959, a * 5, hide: false);

FOOD

public class FOOD

cs
public class FOOD
{
	public const int food_CHA = 700; 
	public const int creativeDish = 764;

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

	public const int food_undead = 709;

public class FOOD

cs

	public const int food_bug = 704;

	public const int food_poison = 702; 
	public const int food_cat = 701; 
	public const int food_love = 703; 

	public const int food_god = 758;

	public const int food_love = 703; 
	public const int food_cat = 701; 
	public const int food_CHA = 700; 

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

GameLang

public static string ConvertDrama(string text, Chara c = null)

cs
	stringBuilder.Replace("#self", newValue);
	stringBuilder.Replace("#his", newValue2);
	stringBuilder.Replace("#me", newValue);
	if (int.TryParse(refDrama1, out var result)) 
	{ 
		refDrama1 = result.ToFormat(); 
	} 
	if (int.TryParse(refDrama2, out var result2)) 
	{ 
		refDrama2 = result2.ToFormat(); 
	} 
	if (int.TryParse(refDrama3, out var result3)) 
	{ 
		refDrama3 = result3.ToFormat(); 
	} 
	if (int.TryParse(refDrama4, out var result4)) 
	{ 
		refDrama4 = result4.ToFormat(); 
	} 
	stringBuilder.Replace("#1", refDrama1);
	stringBuilder.Replace("#2", refDrama2);
	stringBuilder.Replace("#3", refDrama3);

GuildFighter

public int ServicePrice(int a)

cs
		{
			return a;
		}
		return a * 100 / (125 + relation.rank * 2); 
		return (int)((long)a * 100L / (125 + relation.rank * 2)); 
	}

	public bool CanGiveContribution(Chara c)

MUTATION

public class MUTATION

cs
public class MUTATION
{
	public const int mutationSkin = 1510; 
	public const int mutationSkinN = 1511; 
	public const int etherPoisonHand = 1565; 
	public const int mutationLightning = 1528; 
	public const int mutationColdN = 1527; 
	public const int mutationCold = 1526; 
	public const int mutationBrainN = 1525; 
	public const int mutationBrain = 1524; 
	public const int mutationDexN = 1515; 

	public const int mutationCha = 1522; 
	public const int mutationDex = 1514; 

	public const int mutationStrN = 1521; 
	public const int mutationRegen = 1516; 

	public const int mutationLightningN = 1529; 
	public const int mutationSkinN = 1511; 

	public const int mutationStr = 1520; 
	public const int mutationSkin = 1510; 

	public const int mutationSpeed = 1518; 
	public const int mutationEye = 1512; 

	public const int mutationRegenN = 1517;

	public const int mutationRegen = 1516; 
	public const int mutationDexN = 1515; 
	public const int mutationDex = 1514; 
	public const int mutationEyeN = 1513;

	public const int mutationEye = 1512; 
	public const int mutationSpeedN = 1519;

	public const int mutationBody = 1530; 
	public const int mutationChaN = 1523; 
	public const int mutationHair = 1532; 
	public const int etherPoisonHand = 1565; 

	public const int etherManaBattery = 1564;

	public const int mutationBodyN = 1531; 
	public const int etherProvoke = 1563; 

	public const int etherArmor = 1562;

public class MUTATION

cs

	public const int etherRain = 1558;

	public const int etherHead = 1557; 
	public const int mutationSpeed = 1518; 

	public const int etherProvoke = 1563; 
	public const int etherViolence = 1556; 

	public const int etherNeck = 1555;

public class MUTATION

cs

	public const int etherUgly = 1551;

	public const int etherGravity = 1550; 
	public const int etherHead = 1557; 

	public const int mutationHairN = 1533;

	public const int etherViolence = 1556; 
	public const int etherGravity = 1550; 
	public const int mutationStrN = 1521; 
	public const int mutationCha = 1522; 
	public const int mutationChaN = 1523; 
	public const int mutationBrain = 1524; 
	public const int mutationBrainN = 1525; 
	public const int mutationCold = 1526; 
	public const int mutationStr = 1520; 
	public const int mutationLightning = 1528; 
	public const int mutationLightningN = 1529; 
	public const int mutationBody = 1530; 
	public const int mutationBodyN = 1531; 
	public const int mutationHair = 1532; 
	public const int mutationColdN = 1527; 

	public static readonly int[] IDS = new int[40]
	{
		1510, 1511, 1565, 1528, 1527, 1526, 1525, 1524, 1522, 1521, 
		1529, 1520, 1518, 1517, 1516, 1515, 1514, 1513, 1512, 1519, 
		1530, 1523, 1532, 1564, 1531, 1562, 1561, 1560, 1559, 1558, 
		1557, 1563, 1555, 1554, 1553, 1552, 1551, 1550, 1533, 1556
		1515, 1514, 1516, 1511, 1510, 1512, 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
	};
}
public class Mutation : Feat

POLICY

public class POLICY

cs

	public const int legendary_heirloom = 2821;

	public const int milk_fan = 2825; 
	public const int license_stolen = 2824; 

	public const int legendary_exhibition = 2823;

	public const int license_stolen = 2824; 
	public const int milk_fan = 2825; 

	public const int egg_fan = 2826;

public class POLICY

cs

	public const int mass_exhibition = 2814;

	public const int weed_no = 2703; 
	public const int prohibition = 2503; 

	public const int bed_quality = 2812;

	public const int taxfree = 2514; 
	public const int resident_wanted = 2513;

	public const int resident_tax = 2512;

	public const int inquisition = 2507; 
	public const int suite_room = 2813; 
	public const int self_sufficient = 2511; 

	public const int wealth_tax = 2500; 
	public const int ban_radio = 2510; 

	public const int faith_tax = 2501; 
	public const int vaccination = 2509; 

	public const int taxfree = 2514; 
	public const int stop_growth = 2515; 

	public const int food_for_people = 2502; 
	public const int nocturnal_life = 2508; 

	public const int impressment = 2504; 
	public const int human_right = 2506; 

	public const int legal_drug = 2505;

	public const int self_sufficient = 2511; 
	public const int impressment = 2504; 

	public const int ban_radio = 2510; 
	public const int food_for_people = 2502; 

	public const int vaccination = 2509; 
	public const int wealth_tax = 2500; 

	public const int nocturnal_life = 2508; 
	public const int suite_room = 2813; 

	public const int prohibition = 2503; 
	public const int inquisition = 2507; 

	public const int stop_growth = 2515; 
	public const int speed_growth = 2516; 

	public const int human_right = 2506; 
	public const int faith_tax = 2501; 

	public const int energy_conservation = 2700; 
	public const int trash_sort = 2701; 

	public const int speed_growth = 2516; 
	public const int tourist_safety = 2811; 

	public const int demon_invocation = 2706; 
	public const int open_business = 2810; 

	public const int auto_farm = 2707; 
	public const int home_discount = 2800; 

	public const int taxTransfer = 2705; 
	public const int livestock_priv = 2715; 

	public const int noAnimal = 2709; 
	public const int energy_conservation = 2700; 
	public const int incomeTransfer = 2711; 

	public const int noMother = 2710;

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

	public const int noDM = 2708;

	public const int livestock_priv = 2715; 
	public const int home_discount = 2800; 
	public const int auto_farm = 2707; 

	public const int open_business = 2810; 
	public const int demon_invocation = 2706; 

	public const int tourist_safety = 2811; 
	public const int taxTransfer = 2705; 

	public const int border_watch = 2704;

	public const int trash_no = 2702; 
	public const int weed_no = 2703; 

	public const int trash_sort = 2701; 
	public const int trash_no = 2702; 

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

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

Player

public Layer SelectDomain(Action onKill = null)

cs
	List<SourceElement.Row> list2 = new List<SourceElement.Row>();
	foreach (SourceElement.Row row2 in EClass.sources.elements.rows)
	{
		if (row2.categorySub == "eleAttack" && !row2.tag.Contains("hidden") && (!row2.tag.Contains("high") || EClass.pc.job.domain.Contains(row2.id))) 
		if (row2.categorySub == "eleAttack" && !row2.tag.Contains("hidden") && ((EClass.pc.HasElement(1402) && Guild.Mage.relation.rank >= 6 && row2.id != 925 && row2.id != 926) || !row2.tag.Contains("high") || EClass.pc.job.domain.Contains(row2.id))) 
		{
			list2.Add(row2);
		}

public Layer SelectDomain(Action onKill = null)

cs
		}
	}, delegate(List<UIList.ButtonPair> list)
	{
		bool flag = EClass.player.domains.Count >= 3 + EClass.pc.Evalue(1402) + Guild.Mage.DomainBonus(); 
		bool flag = EClass.player.domains.Count >= ((EClass.pc.job.id == "swordsage") ? 5 : 3) + EClass.pc.Evalue(1402) + Guild.Mage.DomainBonus(); 
		foreach (UIList.ButtonPair item in list)
		{
			UIButton button = (item.component as ItemGeneral).button1;

SKILL

public class SKILL

cs
public class SKILL
{
	public const int shield = 123; 
	public const int eyeofmind = 134; 

	public const int fireproof = 50; 
	public const int marksman = 133; 

	public const int weaponCrossbow = 109; 
	public const int tactics = 132; 

	public const int weaponScythe = 110; 
	public const int twowield = 131; 

	public const int fishing = 245; 
	public const int twohand = 130; 
	public const int shield = 123; 
	public const int throwing = 108; 

	public const int armorLight = 120;

	public const int armorHeavy = 122; 
	public const int weaponBlunt = 111; 

	public const int twohand = 130; 
	public const int weaponScythe = 110; 

	public const int marksman = 133; 
	public const int weaponCrossbow = 109; 

	public const int tactics = 132; 
	public const int strategy = 135; 

	public const int climbing = 242; 
	public const int weaponDagger = 107; 

	public const int music = 241; 
	public const int armorHeavy = 122; 

	public const int travel = 240; 
	public const int evasion = 150; 

	public const int taming = 237; 
	public const int riding = 226; 

	public const int milking = 235; 
	public const int stealth = 152; 

	public const int digging = 230; 
	public const int swimming = 200; 

	public const int parasite = 227; 
	public const int weightlifting = 207; 

	public const int riding = 226; 
	public const int spotting = 210; 
	public const int mining = 220; 

	public const int lumberjack = 225;

	public const int spotting = 210; 
	public const int parasite = 227; 

	public const int weightlifting = 207; 
	public const int digging = 230; 

	public const int swimming = 200; 
	public const int milking = 235; 

	public const int stealth = 152; 
	public const int taming = 237; 

	public const int evasionPlus = 151; 
	public const int travel = 240; 

	public const int evasion = 150; 
	public const int music = 241; 

	public const int strategy = 135; 
	public const int weaponPolearm = 106; 

	public const int eyeofmind = 134; 
	public const int climbing = 242; 

	public const int twowield = 131; 
	public const int evasionPlus = 151; 

	public const int mining = 220; 
	public const int weaponGun = 105; 

	public const int weaponSword = 101; 
	public const int PER = 73; 

	public const int weaponDagger = 107; 
	public const int weaponStaff = 103; 

	public const int END = 71; 
	public const int fireproof = 50; 

	public const int STR = 70; 
	public const int acidproof = 51; 

	public const int FPV = 68; 
	public const int PDR = 55; 

	public const int DMG = 67; 
	public const int EDR = 56; 

	public const int HIT = 66; 
	public const int evasionPerfect = 57; 

	public const int PV = 65; 
	public const int life = 60; 

	public const int DEX = 72; 
	public const int mana = 61; 

	public const int DV = 64;

	public const int mana = 61; 
	public const int PV = 65; 

	public const int life = 60; 
	public const int HIT = 66; 

	public const int evasionPerfect = 57; 
	public const int DMG = 67; 

	public const int EDR = 56; 
	public const int FPV = 68; 

	public const int PDR = 55; 
	public const int STR = 70; 

	public const int acidproof = 51; 
	public const int END = 71; 

	public const int vigor = 62; 
	public const int weaponBow = 104; 

	public const int PER = 73; 
	public const int DEX = 72; 

	public const int LER = 74;

	public const int WIL = 75;

	public const int weaponPolearm = 106; 
	public const int weaponGun = 105; 
	public const int weaponBow = 104; 
	public const int MAG = 76; 

	public const int weaponStaff = 103; 
	public const int CHA = 77; 

	public const int weaponAxe = 102; 
	public const int LUC = 78; 

	public const int martial = 100; 
	public const int SPD = 79; 

	public const int antiMagic = 93; 
	public const int INT = 80; 

	public const int penetration = 92; 
	public const int critical = 90; 

	public const int vopal = 91;

	public const int critical = 90; 
	public const int INT = 80; 
	public const int penetration = 92; 

	public const int SPD = 79; 
	public const int antiMagic = 93; 

	public const int LUC = 78; 
	public const int martial = 100; 

	public const int CHA = 77; 
	public const int weaponSword = 101; 

	public const int MAG = 76; 
	public const int weaponAxe = 102; 

	public const int throwing = 108; 
	public const int fishing = 245; 

	public const int gathering = 250;

	public const int weaponBlunt = 111; 
	public const int vigor = 62; 

	public const int blacksmith = 256;

public class SKILL

cs

	public const int eleNerve = 918;

	public const int eleHoly = 919; 
	public const int eleChaos = 920;

	public const int eleMagic = 921;

public class SKILL

cs

	public const int resLightning = 952;

	public const int elePoison = 915; 
	public const int resDarkness = 953;

	public const int resPoison = 955; 
	public const int elePoison = 915; 
	public const int resMind = 954; 

	public const int resNether = 956;

	public const int resSound = 957; 
	public const int resNerve = 958;

	public const int resChaos = 959;

public class SKILL

cs

	public const int resMagic = 961;

	public const int resCurse = 972; 
	public const int resEther = 962;

	public const int resAcid = 963;

public class SKILL

cs

	public const int resDamage = 971;

	public const int resCurse = 972; 
	public const int carpentry = 255;

	public const int resMind = 954; 
	public const int resPoison = 955; 

	public const int eleMind = 914;

	public const int resSound = 957; 
	public const int eleHoly = 919; 

	public const int eleLightning = 912;

	public const int alchemy = 257;

	public const int eleDarkness = 913; 
	public const int sculpture = 258;

	public const int jewelry = 259;

	public const int weaving = 260;

	public const int handicraft = 261; 
	public const int lockpicking = 280;

	public const int stealing = 281;

public class SKILL

cs

	public const int cooking = 287;

	public const int building = 288; 
	public const int eleDarkness = 913; 

	public const int appraising = 289;

public class SKILL

cs

	public const int investing = 292;

	public const int handicraft = 261; 
	public const int building = 288; 

	public const int regeneration = 300;

	public const int eleCold = 911;

	public const int disarmTrap = 293; 
	public const int eleFire = 910; 

	public const int env = 313; 
	public const int disarmTrap = 293; 

	public const int fun = 312;

public class SKILL

cs

	public const int hygine = 310;

	public const int memorization = 307; 
	public const int env = 313; 

	public const int eleFire = 910; 
	public const int faith = 306; 

	public const int magicDevice = 305;

public class SKILL

cs

	public const int controlmana = 302;

	public const int meditation = 301; 
	public const int memorization = 307; 

	public const int faith = 306; 
	public const int meditation = 301; 

	public static readonly int[] IDS = new int[133]
	{
		123, 50, 109, 110, 245, 120, 122, 130, 133, 132, 
		242, 241, 240, 237, 235, 230, 227, 226, 225, 210, 
		207, 200, 152, 151, 150, 135, 134, 131, 220, 101, 
		107, 71, 70, 68, 67, 66, 65, 72, 64, 61, 
		60, 57, 56, 55, 51, 62, 73, 74, 75, 106, 
		105, 104, 103, 102, 100, 93, 92, 91, 90, 80, 
		79, 78, 77, 76, 108, 250, 111, 256, 916, 917, 
		918, 919, 920, 921, 922, 923, 924, 925, 926, 950, 
		951, 952, 915, 953, 955, 956, 958, 959, 960, 961, 
		962, 963, 964, 965, 970, 971, 972, 255, 954, 914, 
		957, 912, 257, 913, 258, 259, 260, 280, 281, 285, 
		286, 287, 288, 289, 290, 291, 292, 261, 300, 911, 
		293, 313, 312, 311, 310, 307, 910, 305, 304, 303, 
		302, 301, 306
		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, 
		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, 
		93, 100, 101, 102, 245, 250, 62, 256, 916, 917, 
		918, 920, 921, 922, 923, 924, 925, 926, 950, 951, 
		952, 953, 915, 954, 956, 957, 958, 959, 960, 961, 
		972, 962, 963, 964, 965, 970, 971, 255, 955, 914, 
		919, 912, 257, 258, 259, 260, 261, 280, 281, 285, 
		286, 287, 913, 289, 290, 291, 292, 288, 300, 911, 
		910, 293, 312, 311, 310, 313, 306, 305, 304, 303, 
		302, 307, 301
	};
}
public class Skill : Element

SLOT

public class SLOT

cs
public class SLOT
{
	public const int arm = 34; 
	public const int toolbelt = 44;

	public const int torso = 32;

	public const int neck = 31; 
	public const int foot = 39; 

	public const int lightsource = 45;

	public const int hand = 35; 
	public const int arm = 34; 

	public const int range = 41; 
	public const int leg = 38; 

	public const int waist = 37;

	public const int hand = 35; 
	public const int tool = 40;

	public const int head = 30; 
	public const int back = 33; 

	public const int foot = 39; 
	public const int neck = 31; 

	public const int finger = 36; 
	public const int range = 41; 

	public const int ammo = 42; 
	public const int finger = 36; 

	public const int back = 33; 
	public const int head = 30; 

	public const int leg = 38; 
	public const int ammo = 42; 

	public const int token = 43;

	public static readonly int[] IDS = new int[16]
	{
		34, 44, 32, 31, 45, 35, 41, 37, 40, 30, 
		39, 36, 42, 33, 38, 43
		44, 32, 39, 45, 34, 38, 37, 35, 40, 33, 
		31, 41, 36, 30, 42, 43
	};
}

SPELL

public class SPELL

cs
public class SPELL
{
	public const int miasma_Sound = 50707; 
	public const int puddle_Sound = 50907; 
	public const int funnel_Sound = 50607; 
	public const int sword_Sound = 51007; 
	public const int bit_Sound = 51107; 
	public const int arrow_Sound = 50507; 
	public const int ball_Nerve = 50108; 
	public const int weapon_Sound = 50807; 
	public const int arrow_Holy = 50509; 
	public const int hand_Nerve = 50408; 
	public const int puddle_Holy = 50909;

	public const int weapon_Holy = 50809; 
	public const int miasma_Holy = 50709; 
	public const int funnel_Holy = 50609; 
	public const int flare_Sound = 51207; 

	public const int hand_Holy = 50409; 
	public const int ball_Nerve = 50108; 

	public const int bolt_Holy = 50309; 
	public const int bit_Mind = 51104; 

	public const int bolt_Nerve = 50308;

	public const int ball_Holy = 50109; 
	public const int sword_Void = 51016; 

	public const int sword_Nerve = 51008; 
	public const int hand_Nerve = 50408; 

	public const int puddle_Nerve = 50908; 
	public const int arrow_Nerve = 50508; 

	public const int weapon_Nerve = 50808; 
	public const int sword_Mind = 51004; 

	public const int miasma_Nerve = 50708; 
	public const int flare_Holy = 51209; 

	public const int funnel_Nerve = 50608;

	public const int arrow_Nerve = 50508; 
	public const int miasma_Nerve = 50708; 

	public const int bit_Nerve = 51108; 
	public const int weapon_Nerve = 50808; 

	public const int hand_Sound = 50407; 
	public const int sword_Holy = 51009; 

	public const int miasma_Mind = 50704; 
	public const int puddle_Nerve = 50908; 

	public const int ball_Sound = 50107; 
	public const int bit_Sound = 51107; 

	public const int bolt_Mind = 50304; 
	public const int flare_Nerve = 51208; 

	public const int hand_Mind = 50404; 
	public const int ball_Holy = 50109; 

	public const int arrow_Mind = 50504; 
	public const int puddle_Mind = 50904; 

	public const int funnel_Mind = 50604; 
	public const int bolt_Holy = 50309; 
	public const int hand_Holy = 50409; 

	public const int weapon_Mind = 50804;

	public const int puddle_Mind = 50904; 
	public const int arrow_Holy = 50509; 

	public const int sword_Mind = 51004; 
	public const int bit_Holy = 51109; 

	public const int bit_Mind = 51104; 
	public const int funnel_Holy = 50609; 

	public const int ball_Poison = 50105; 
	public const int miasma_Holy = 50709; 

	public const int bolt_Poison = 50305; 
	public const int weapon_Holy = 50809; 

	public const int hand_Poison = 50405; 
	public const int sword_Nerve = 51008; 

	public const int arrow_Poison = 50505; 
	public const int bit_Nerve = 51108; 

	public const int funnel_Poison = 50605; 
	public const int puddle_Sound = 50907; 

	public const int bolt_Sound = 50307; 
	public const int flare_Mind = 51204; 

	public const int miasma_Poison = 50705; 
	public const int weapon_Poison = 50805; 

	public const int puddle_Poison = 50905;

public class SPELL

cs

	public const int bit_Poison = 51105;

	public const int flare_Poison = 51205; 
	public const int funnel_Poison = 50605; 
	public const int ball_Nether = 50106;

	public const int arrow_Poison = 50505; 
	public const int bolt_Nether = 50306;

	public const int hand_Nether = 50406;

	public const int arrow_Nether = 50506;

	public const int hand_Poison = 50405; 
	public const int funnel_Nether = 50606;

	public const int miasma_Nether = 50706;

public class SPELL

cs

	public const int sword_Nether = 51006;

	public const int bolt_Poison = 50305; 
	public const int bit_Nether = 51106;

	public const int weapon_Poison = 50805; 
	public const int flare_Nether = 51206; 

	public const int sword_Holy = 51009; 
	public const int ball_Sound = 50107; 

	public const int bolt_Acid = 50313; 
	public const int bolt_Sound = 50307; 
	public const int hand_Sound = 50407; 

	public const int ball_Chaos = 50110;

	public const int puddle_Acid = 50913; 
	public const int arrow_Sound = 50507; 

	public const int sword_Acid = 51013; 
	public const int funnel_Sound = 50607; 

	public const int bit_Acid = 51113; 
	public const int miasma_Sound = 50707; 

	public const int ball_Cut = 50114; 
	public const int weapon_Sound = 50807; 

	public const int bolt_Cut = 50314; 
	public const int ball_Poison = 50105; 

	public const int hand_Cut = 50414; 
	public const int sword_Sound = 51007; 

	public const int arrow_Cut = 50514; 
	public const int miasma_Poison = 50705; 

	public const int funnel_Cut = 50614; 
	public const int ball_Acid = 50113; 

	public const int miasma_Cut = 50714; 
	public const int hand_Chaos = 50410; 

	public const int weapon_Cut = 50814; 
	public const int ball_Impact = 50115; 

	public const int puddle_Cut = 50914; 
	public const int flare_Cut = 51214; 
	public const int bit_Cut = 51114; 

	public const int sword_Cut = 51014;

	public const int bit_Cut = 51114; 
	public const int puddle_Cut = 50914; 

	public const int ball_Impact = 50115; 
	public const int weapon_Cut = 50814; 

	public const int bolt_Impact = 50315;

	public const int miasma_Cut = 50714; 
	public const int arrow_Cut = 50514; 
	public const int hand_Cut = 50414; 
	public const int bolt_Cut = 50314; 
	public const int ball_Cut = 50114; 
	public const int flare_Acid = 51213; 
	public const int bit_Acid = 51113; 
	public const int funnel_Cut = 50614; 
	public const int hand_Impact = 50415;

	public const int arrow_Impact = 50515;

	public const int funnel_Impact = 50615; 
	public const int miasma_Mind = 50704; 
	public const int puddle_Void = 50916;

	public const int weapon_Void = 50816;

public class SPELL

cs

	public const int hand_Void = 50416;

	public const int weapon_Acid = 50813; 
	public const int bolt_Void = 50316;

	public const int ball_Void = 50116; 
	public const int flare_Impact = 51215; 
	public const int bit_Impact = 51115;

	public const int sword_Impact = 51015;

public class SPELL

cs

	public const int miasma_Impact = 50715;

	public const int funnel_Impact = 50615; 
	public const int sword_Acid = 51013; 

	public const int ball_Void = 50116; 
	public const int puddle_Acid = 50913; 

	public const int bit_Holy = 51109; 
	public const int weapon_Acid = 50813; 

	public const int miasma_Acid = 50713;

	public const int arrow_Acid = 50513; 
	public const int weapon_Magic = 50811; 

	public const int bolt_Chaos = 50310; 
	public const int miasma_Magic = 50711; 

	public const int hand_Chaos = 50410; 
	public const int funnel_Magic = 50611; 

	public const int arrow_Chaos = 50510; 
	public const int arrow_Magic = 50511; 

	public const int funnel_Chaos = 50610; 
	public const int hand_Magic = 50411; 

	public const int miasma_Chaos = 50710; 
	public const int bolt_Magic = 50311; 

	public const int weapon_Chaos = 50810; 
	public const int ball_Magic = 50111; 

	public const int puddle_Chaos = 50910; 
	public const int flare_Chaos = 51210; 
	public const int bit_Chaos = 51110; 

	public const int sword_Chaos = 51010;

	public const int bit_Chaos = 51110; 
	public const int puddle_Chaos = 50910; 

	public const int ball_Magic = 50111; 
	public const int weapon_Chaos = 50810; 

	public const int bolt_Magic = 50311; 
	public const int miasma_Chaos = 50710; 

	public const int hand_Magic = 50411; 
	public const int funnel_Chaos = 50610; 

	public const int arrow_Magic = 50511; 
	public const int arrow_Chaos = 50510; 

	public const int funnel_Magic = 50611; 
	public const int puddle_Magic = 50911; 

	public const int miasma_Magic = 50711; 
	public const int bolt_Chaos = 50310; 

	public const int weapon_Magic = 50811; 
	public const int sword_Magic = 51011; 

	public const int puddle_Magic = 50911; 
	public const int flare_Magic = 51211; 
	public const int funnel_Acid = 50613; 
	public const int arrow_Acid = 50513; 

	public const int hand_Acid = 50413;

	public const int ball_Acid = 50113; 
	public const int bolt_Acid = 50313; 
	public const int flare_Ether = 51212; 

	public const int bit_Ether = 51112;

public class SPELL

cs

	public const int weapon_Ether = 50812;

	public const int funnel_Acid = 50613; 
	public const int miasma_Ether = 50712;

	public const int funnel_Ether = 50612; 
	public const int arrow_Ether = 50512;

	public const int hand_Ether = 50412;

public class SPELL

cs

	public const int bit_Magic = 51111;

	public const int sword_Magic = 51011; 
	public const int funnel_Mind = 50604; 

	public const int funnel_Ether = 50612; 
	public const int SpIncognito = 8780; 

	public const int ball_Mind = 50104; 
	public const int hand_Mind = 50404; 

	public const int bit_Fire = 51100; 
	public const int SpWisdom = 8503; 

	public const int sword_Darkness = 51003; 
	public const int SpHolyShield = 8502; 

	public const int SpHealCritical = 8402; 
	public const int SpCatsEye = 8501; 

	public const int SpHeal = 8403; 
	public const int SpHolyVeil = 8500; 

	public const int SpHealEris = 8404; 
	public const int SpVanishHex = 8491; 

	public const int SpHealOdina = 8405; 
	public const int SpRemoveHex = 8490; 

	public const int SpHealJure = 8406; 
	public const int SpCureMutation = 8480; 

	public const int SpRevive = 8430; 
	public const int SpRestoreMind = 8471; 
	public const int SpRestoreBody = 8470; 

	public const int SpHOT = 8450;

	public const int SpRestoreBody = 8470; 
	public const int SpRevive = 8430; 

	public const int SpRestoreMind = 8471; 
	public const int SpHealJure = 8406; 

	public const int SpCureMutation = 8480; 
	public const int SpHealOdina = 8405; 

	public const int SpRemoveHex = 8490; 
	public const int SpHealEris = 8404; 

	public const int SpVanishHex = 8491; 
	public const int SpHeal = 8403; 

	public const int SpHolyVeil = 8500; 
	public const int SpHero = 8504; 

	public const int SpCatsEye = 8501; 
	public const int SpHealCritical = 8402; 

	public const int SpHolyShield = 8502; 
	public const int SpResEle = 8506; 

	public const int SpWisdom = 8503; 
	public const int SpSpeedUp = 8510; 

	public const int SpHero = 8504; 
	public const int SpTransmutePutit = 8791; 
	public const int SpTransmuteBroom = 8790; 
	public const int SpSeeInvisible = 8776; 
	public const int SpInvisibility = 8775; 

	public const int SpTelepathy = 8770;

public class SPELL

cs

	public const int SpNightmare = 8705;

	public const int SpHealHeavy = 8401; 
	public const int SpWeakResEle = 8704;

	public const int SpWeakness = 8702; 
	public const int SpSilence = 8700;

	public const int SpBrightnessOfLife = 8555;

	public const int SpRebirth = 8550;

	public const int SpSpeedUp = 8510; 
	public const int SpBreath = 8507;

	public const int SpResEle = 8506; 
	public const int SpWeakness = 8702; 
	public const int SpTransmuteCat = 8792; 

	public const int SpHealLight = 8400; 
	public const int SpHealHeavy = 8401; 

	public const int SpWish = 8390;

	public const int SpMutation = 8380; 
	public const int SpGate = 8202;

	public const int SpTeleportShort = 8201;

public class SPELL

cs

	public const int bit_ = 7009;

	public const int SpReturn = 8220; 
	public const int sword_ = 7008;

	public const int weapon_ = 7007; 
	public const int miasma_ = 7006;

	public const int funnel_ = 7005;

public class SPELL

cs

	public const int ball_ = 7001;

	public const int weapon_ = 7007; 
	public const int bit_Void = 51116; 

	public const int SpInvisibility = 8775; 
	public const int SpReturn = 8220; 
	public const int SpHealLight = 8400; 

	public const int SpEvac = 8221;

	public const int SpIdentifyG = 8232;

	public const int SpMutation = 8380; 
	public const int SpLevitate = 8300;

	public const int SpReconstruction = 8288;

public class SPELL

cs

	public const int SpFaith = 8281;

	public const int SpIdentify = 8230; 
	public const int SpLighten = 8280;

	public const int SpMagicMap = 8260; 
	public const int SpEnchantArmorGreat = 8256;

	public const int SpEnchantArmor = 8255;

public class SPELL

cs

	public const int SpUncurse = 8240;

	public const int SpMagicMap = 8260; 
	public const int SpIdentify = 8230; 

	public const int SpSeeInvisible = 8776; 
	public const int arrow_Mind = 50504; 

	public const int SpIncognito = 8780; 
	public const int SpDarkness = 8800; 

	public const int SpTransmuteBroom = 8790; 
	public const int SpSummon = 9000; 
	public const int funnel_Lightning = 50602; 
	public const int arrow_Lightning = 50502; 
	public const int hand_Lightning = 50402; 
	public const int bolt_Lightning = 50302; 
	public const int ball_Lightning = 50102; 
	public const int flare_Cold = 51201; 

	public const int bit_Cold = 51101;

public class SPELL

cs

	public const int funnel_Cold = 50601;

	public const int ball_Lightning = 50102; 
	public const int arrow_Cold = 50501;

	public const int hand_Cold = 50401; 
	public const int bolt_Cold = 50301;

	public const int ball_Cold = 50101; 
	public const int miasma_Lightning = 50702; 

	public const int sword_Fire = 51000; 
	public const int ball_Cold = 50101; 

	public const int puddle_Fire = 50900; 
	public const int weapon_Lightning = 50802; 

	public const int weapon_Fire = 50800; 
	public const int sword_Lightning = 51002; 

	public const int miasma_Fire = 50700; 
	public const int bolt_Mind = 50304; 

	public const int hand_Cold = 50401; 
	public const int ball_Mind = 50104; 

	public const int funnel_Fire = 50600; 
	public const int flare_Darkness = 51203; 

	public const int bolt_Lightning = 50302; 
	public const int bit_Darkness = 51103; 

	public const int arrow_Lightning = 50502; 
	public const int sword_Darkness = 51003; 

	public const int puddle_Darkness = 50903;

public class SPELL

cs

	public const int hand_Darkness = 50403;

	public const int hand_Lightning = 50402; 
	public const int bolt_Darkness = 50303;

	public const int bit_Lightning = 51102; 
	public const int ball_Darkness = 50103; 

	public const int sword_Lightning = 51002; 
	public const int flare_Lightning = 51202; 
	public const int bit_Lightning = 51102; 

	public const int puddle_Lightning = 50902;

	public const int weapon_Lightning = 50802; 
	public const int SpWeb = 8801; 

	public const int miasma_Lightning = 50702; 
	public const int flare_Fire = 51200; 

	public const int funnel_Lightning = 50602; 
	public const int sword_Fire = 51000; 

	public const int ball_Darkness = 50103; 
	public const int SpSummonDragon = 9054; 

	public const int bit_Darkness = 51103; 
	public const int SpSummonMachine = 9053; 

	public const int arrow_Fire = 50500; 
	public const int SpSummonTrooper = 9052; 

	public const int bolt_Fire = 50300; 
	public const int SpSummonTidalWave = 9051; 
	public const int SpSummonShadow = 9050; 
	public const int SpSummonShubKid = 9010; 

	public const int SpSummonTako = 9009;

public class SPELL

cs

	public const int SpSummonMonster = 9004;

	public const int SpSummonShubKid = 9010; 
	public const int SpSummonTentacle = 9003;

	public const int SpSummonFire = 9002; 
	public const int SpSummonUndeadSister = 9001;

	public const int SpSummon = 9000; 
	public const int SpMeteor = 9150; 

	public const int SpWeb = 8801; 
	public const int bit_Fire = 51100; 

	public const int SpDarkness = 8800; 
	public const int SpEarthquake = 9151; 

	public const int SpTransmuteCat = 8792; 
	public const int SpMoonArrow = 9156; 

	public const int SpTransmutePutit = 8791; 
	public const int puddle_Fire = 50900; 

	public const int SpSummonFire = 9002; 
	public const int weapon_Fire = 50800; 

	public const int hand_Fire = 50400; 
	public const int miasma_Fire = 50700; 

	public const int SpSummonShadow = 9050; 
	public const int funnel_Fire = 50600; 

	public const int SpSummonTrooper = 9052; 
	public const int arrow_Fire = 50500; 

	public const int sword_Void = 51016; 
	public const int hand_Fire = 50400; 
	public const int bolt_Fire = 50300; 

	public const int ball_Fire = 50100;

public class SPELL

cs

	public const int SpWardMonster = 9500;

	public const int SpSummonTidalWave = 9051; 
	public const int SpStripBlessing = 9210;

	public const int SpExterminate = 9160; 
	public const int SpShutterHex = 9200; 

	public const int SpMoonArrow = 9156; 
	public const int SpExterminate = 9160; 

	public const int SpMoonSpear = 9155;

	public const int SpEarthquake = 9151; 
	public const int SpMeteor = 9150; 
	public const int SpSummonMachine = 9053; 
	public const int SpShutterHex = 9200; 
	public const int bit_Void = 51116; 
	public const int flare_Void = 51216; 

	public static readonly int[] IDS = new int[271] 
	public static readonly int[] IDS = new int[289] 
	{
		50707, 50907, 50607, 51007, 51107, 50507, 50108, 50807, 50509, 50408, 
		50909, 50809, 50709, 50609, 50409, 50309, 50308, 50109, 51008, 50908, 
		50808, 50708, 50608, 50508, 51108, 50407, 50704, 50107, 50304, 50404, 
		50504, 50604, 50804, 50904, 51004, 51104, 50105, 50305, 50405, 50505, 
		50605, 50307, 50705, 50905, 51005, 51105, 50106, 50306, 50406, 50506, 
		50606, 50706, 50806, 50906, 51006, 51106, 50805, 51009, 50313, 50110, 
		50913, 51013, 51113, 50114, 50314, 50414, 50514, 50614, 50714, 50814, 
		50914, 51014, 51114, 50115, 50315, 50415, 50515, 50916, 50816, 50716, 
		50616, 50516, 50416, 50813, 50316, 51115, 51015, 50915, 50815, 50715, 
		50615, 50116, 51109, 50713, 50513, 50310, 50410, 50510, 50610, 50710, 
		50810, 50910, 51010, 51110, 50111, 50311, 50411, 50511, 50611, 50711, 
		50811, 50911, 50413, 50113, 51112, 51012, 50912, 50812, 50613, 50712, 
		50512, 50412, 50312, 50112, 51111, 51011, 50612, 50104, 51100, 51003, 
		8402, 8403, 8404, 8405, 8406, 8430, 8450, 8470, 8471, 8480, 
		8490, 8491, 8500, 8501, 8502, 8503, 8504, 8770, 8710, 8708, 
		8707, 8706, 8705, 8401, 8704, 8700, 8555, 8550, 8510, 8507, 
		8506, 8702, 8400, 8390, 8380, 8202, 8201, 8200, 7800, 7010, 
		7009, 8220, 7008, 7006, 7005, 7004, 7003, 7002, 7001, 7007, 
		8775, 8221, 8232, 8300, 8288, 8286, 8285, 8284, 8281, 8230, 
		8280, 8256, 8255, 8251, 8250, 8241, 8240, 8260, 8776, 8780, 
		8790, 51101, 51001, 50901, 50801, 50701, 50601, 50102, 50501, 50301, 
		50101, 51000, 50900, 50800, 50700, 50401, 50600, 50302, 50502, 50903, 
		50803, 50703, 50603, 50503, 50403, 50402, 50303, 51102, 51002, 50902, 
		50802, 50702, 50602, 50103, 51103, 50500, 50300, 9009, 9008, 9007, 
		9006, 9005, 9004, 9010, 9003, 9001, 9000, 8801, 8800, 8792, 
		8791, 9002, 50400, 9050, 9052, 51016, 50100, 9503, 9502, 9501, 
		9500, 9051, 9210, 9160, 9156, 9155, 9151, 9150, 9053, 9200, 
		51116
		50909, 51207, 50108, 51104, 50308, 51016, 50408, 50508, 51004, 51209, 
		50608, 50708, 50808, 51009, 50908, 51107, 51208, 50109, 50904, 50309, 
		50409, 50804, 50509, 51109, 50609, 50709, 50809, 51008, 51108, 50907, 
		51204, 50805, 50905, 51005, 51105, 51205, 50605, 50106, 50505, 50306, 
		50406, 50506, 50405, 50606, 50706, 50806, 50906, 51006, 50305, 51106, 
		51206, 50107, 50307, 50407, 50110, 50507, 50607, 50707, 50807, 50105, 
		51007, 50705, 50113, 50410, 50115, 51214, 51114, 51014, 50914, 50814, 
		50315, 50714, 50514, 50414, 50314, 50114, 51213, 51113, 50614, 50415, 
		50515, 50615, 50704, 50916, 50816, 50716, 50616, 50516, 50416, 50316, 
		50116, 51215, 51115, 51015, 50915, 50815, 50715, 51013, 50913, 50813, 
		50713, 50811, 50711, 50611, 50511, 50411, 50311, 50111, 51210, 51110, 
		51010, 50910, 50810, 50710, 50610, 50510, 50911, 50310, 51011, 51211, 
		50613, 50513, 50413, 50313, 51212, 51112, 51012, 50912, 50812, 50712, 
		50612, 50512, 50412, 50312, 50112, 51111, 50604, 8780, 50404, 8503, 
		8502, 8501, 8500, 8491, 8490, 8480, 8471, 8470, 8450, 8430, 
		8406, 8405, 8404, 8403, 8504, 8402, 8506, 8510, 8791, 8790, 
		8776, 8775, 8770, 8710, 8708, 8707, 8706, 8705, 8704, 8702, 
		8700, 8555, 8550, 8507, 8792, 8401, 8390, 8202, 8201, 8200, 
		7800, 7010, 7009, 7008, 7007, 7006, 7005, 7004, 7003, 7002, 
		7001, 51116, 8220, 8400, 8221, 8232, 8380, 8300, 8288, 8286, 
		8285, 8284, 8281, 8280, 8260, 8256, 8255, 8251, 8250, 8241, 
		8240, 8230, 50504, 8800, 9000, 50602, 50502, 50402, 50302, 50102, 
		51201, 51101, 51001, 50901, 50801, 50701, 50601, 50501, 50401, 50301, 
		50702, 50101, 50802, 51002, 50304, 50104, 51203, 51103, 51003, 50903, 
		50803, 50703, 50603, 50503, 50403, 50303, 50103, 51202, 51102, 50902, 
		8801, 51200, 51000, 9054, 9053, 9052, 9051, 9050, 9010, 9009, 
		9008, 9007, 9006, 9005, 9004, 9003, 9002, 9001, 9150, 51100, 
		9151, 9156, 50900, 50800, 50700, 50600, 50500, 50400, 50300, 50100, 
		9503, 9502, 9501, 9500, 9210, 9200, 9160, 9155, 51216
	};
}
public class Spell : Ability

Thing

public void DoAct(Act act)

cs
		ActionMode.Adv.SetTurbo();
	}

	public static Tuple<SourceElement.Row, int> GetEnchant(int lv, Func<SourceElement.Row, bool> func, bool neg) 
	public static Tuple<SourceElement.Row, int> GetEnchant(long lv, Func<SourceElement.Row, bool> func, bool neg) 
	{
		List<SourceElement.Row> list = new List<SourceElement.Row>();
		int num = 0;
		int num2 = lv + 5 + EClass.rndSqrt(10); 
		long num2 = lv + 5 + EClass.rndSqrt(10); 
		foreach (SourceElement.Row row in EClass.sources.elements.rows)
		{
			if ((!neg || !row.tag.Contains("flag")) && func(row) && row.LV < num2)

public void DoAct(Act act)

cs
		{
			string text = EClass.sources.elements.map[item.id].category;
			bool flag = text == "skill" || text == "attribute" || text == "resist";
			float num5 = (float)(3 + Mathf.Min(lv / 10, 15)) + Mathf.Sqrt(lv * item.encFactor / 100); 
			float num5 = 3f + Mathf.Min(lv / 10, 15f) + Mathf.Sqrt(lv * item.encFactor / 100); 
			int num6 = (item.mtp + EClass.rnd(item.mtp + (int)num5)) / item.mtp * ((!(flag && neg)) ? 1 : (-1));
			if (item.encFactor == 0 && num6 > 25)
			{

ThingContainer

public int GetCurrency(string id, ref int sum, SourceMaterial.Row mat = null)

cs
				}
			}
		}
		if (sum < 0) 
		{ 
			sum = int.MaxValue; 
		} 
		return sum;
	}

TraitContainer

public override void TrySetAct(ActPlan p)

cs

	public void TryOpen()
	{
		if (owner.c_lockLv != 0) 
		if (owner.c_lockLv > 0) 
		{
			if (owner.GetRootCard() == EClass.pc && EClass.pc.HasNoGoal && EClass.ui.layers.Count == 0)
			{

+TraitEternalMonument

File Created
cs
public class TraitEternalMonument : Trait
{
}

WidgetStats

public override void OnSetContextMenu(UIContextMenu m)

cs
			extra.sort_ascend = a;
			RefreshAll();
		});
		SetBaseContextMenu(m); 
		base.OnSetContextMenu(m); 
	}
}

Zone

public override string NameSuffix

cs

	public string NameWithLevel => Name + TextLevel(base.lv);

	public string TextDangerLv => "dangerLv".lang(DangerLv + ((DangerLvBoost == 0) ? "" : ("<size=15> +" + DangerLvBoost + "</size>"))); 
	public string TextDangerLv => "dangerLv".lang(DangerLv.ToFormat() + ((DangerLvBoost == 0) ? "" : ("<size=15> +" + DangerLvBoost + "</size>"))); 

	public string TextDeepestLv
	{

public void OnVisit()

cs
	{
		ResetHostility();
		Revive();
		List<Chara> list = new List<Chara>(); 
		foreach (Chara chara in EClass._map.charas)
		{
			chara.TryRestock(onCreate: false);

public void OnVisit()

cs
			{
				chara.c_fur = 0;
			}
			if (chara.IsMinion && chara.master != null && !chara.master.IsPCParty) 
			{ 
				list.Add(chara); 
			} 
		} 
		foreach (Chara item in list) 
		{ 
			item.Destroy(); 
		}
	}
	RefreshCriminal();

public Chara SpawnMob(Point pos = null, SpawnSetting setting = null)

cs
		biome = ((EClass.rnd(4) != 0) ? EClass.core.refs.biomes.Water : EClass.core.refs.biomes.Sand);
	}
	SpawnList spawnList = null;
	Debug.Log(setting.idSpawnList + "/" + biome.name + "/" + biome.id); 
	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
	{
		ShouldPass = delegate(SourceChara.Row s)

public Chara SpawnMob(Point pos = null, SpawnSetting setting = null)

cs
	long num3 = ((setting.fixedLv == -1) ? cardRow.LV : setting.fixedLv);
	if (ScaleType == ZoneScaleType.Void)
	{
		num3 = (50 + cardRow.LV) * Mathf.Max(1, (num - 1) / 50); 
		num3 = (50L + (long)cardRow.LV) * Mathf.Max(1, (num - 1) / 50); 
	}
	num3 += DangerLvBoost;
	if (setting.rarity == Rarity.Random && cardRow.quality == 0)

Zone_EternalGarden

public class Zone_EternalGarden : Zone_Civilized

cs
public class Zone_EternalGarden : Zone_Civilized
{
	public override void OnActivate() 
	{ 
		if (EClass._map.version.IsBelow(0, 23, 226)) 
		{ 
			SetBGM(121, refresh: false); 
		} 
		base.OnActivate(); 
	} 
}

Zone_Nefu

public class Zone_Nefu : Zone_SubTown

cs
{
	public override void OnActivate()
	{
		if (EClass._map.version.IsBelow(0, 23, 226)) 
		{ 
			SetBGM(119, refresh: false); 
		} 
		if (base.lv == 0)
		{
			EClass._map.config.blossom = EClass.pc.faith == EClass.game.religions.MoonShadow;