Skip to content

EA 23.303 Nightly โ€‹

May 5, 2026

23 files modified.

Important Changes โ€‹

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

Card (1) โ€‹

cs
public void RefreshColor() 
public int RefreshColor() 

ABILITY โ€‹

``

cs

public class ABILITY
{
	public const int ActMoneyDump = 5058; 
	public const int ActMoneyThrow = 5057; 
	public const int ActDreamBug = 6020; 
	public const int ActParasite = 6019; 
	public const int ActRide = 6018; 
	public const int AI_SelfHarm = 6015; 
	public const int AI_PassTime = 6013; 
	public const int ActQuickCraft = 6012; 
	public const int AI_Steal = 6011; 
	public const int AI_Meditate = 6003; 

	public const int AI_PlayMusic = 6001;

	public const int ActMoneyThrow = 5057; 
	public const int ActMoneyDump = 5058; 

	public const int ActMoneySlap = 5056;

public class ABILITY

cs

	public const int ActBash = 5052;

	public const int ActZap = 5051; 
	public const int AI_Sleep = 5050; 
	public const int AI_OpenLock = 5049; 
	public const int ActPray = 6050; 

	public const int ActItem = 5048; 
	public const int ActEscape = 6400; 

	public const int ActPick = 5047; 
	public const int ActSuicide = 6410; 

	public const int ActInstall = 5046; 
	public const int ActDuplicate = 6420; 

	public const int AI_Drink = 5045; 
	public const int ActGazeInsane = 6621; 

	public const int ActChat = 5044; 
	public const int ActGazeDim = 6620; 

	public const int AI_TendAnimal = 5043; 
	public const int ActTouchDrown = 6613; 

	public const int ActKick = 5042; 
	public const int ActTouchSleep = 6612; 

	public const int AI_Meditate = 6003; 
	public const int ActFear = 6611; 

	public const int AI_Read = 5041; 
	public const int ActWeaken = 6610; 

	public const int AI_Steal = 6011; 
	public const int ActSlime = 6608; 

	public const int AI_PassTime = 6013; 
	public const int ActZap = 5051; 

	public const int ActBurnMana = 6606;

	public const int ActCrySad = 6605; 
	public const int ActCryRage = 6604;

	public const int ActNTR = 6603;

public class ABILITY

cs

	public const int ActRush = 6450;

	public const int ActDuplicate = 6420; 
	public const int ActCrySad = 6605; 

	public const int ActSuicide = 6410; 
	public const int ActGazeMutation = 6622; 

	public const int ActEscape = 6400; 
	public const int AI_Sleep = 5050; 

	public const int ActPray = 6050; 
	public const int ActItem = 5048; 

	public const int ActDreamBug = 6020; 
	public const int Ranged = 5003; 

	public const int ActParasite = 6019; 
	public const int Sleep = 5004; 

	public const int ActRide = 6018; 
	public const int Wait = 5005; 

	public const int AI_SelfHarm = 6015; 
	public const int Shoot = 5006; 

	public const int ActQuickCraft = 6012; 
	public const int Use = 5007; 

	public const int ActSlime = 6608; 
	public const int General = 5008; 

	public const int ActRanged = 5040; 
	public const int TaskMine = 5009; 

	public const int ActThrow = 5038; 
	public const int TaskDig = 5010; 
	public const int TaskCut = 5011; 
	public const int AI_Goto = 5012; 
	public const int ActAttack = 5013; 

	public const int TaskPlow = 5014;

public class ABILITY

cs

	public const int TaskTalk = 5017;

	public const int TaskPick = 5018; 
	public const int TaskReadBoard = 5019; 
	public const int TaskFarm = 5020; 
	public const int TaskTrain = 5021; 
	public const int Melee = 5002; 

	public const int TaskSleepOnBed = 5022; 
	public const int ActMelee = 5001; 

	public const int TaskGoOut = 5023; 
	public const int ActWait = 5000; 

	public const int AI_Eat = 5024; 
	public const int AI_Deconstruct = 5031; 

	public const int AI_Grab = 5025; 
	public const int ActPick = 5047; 

	public const int AI_Haul = 5026; 
	public const int ActInstall = 5046; 

	public const int GoalSleep = 5027; 
	public const int AI_Drink = 5045; 

	public const int ActReleaseHeld = 5028; 
	public const int ActChat = 5044; 

	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 ActAttack = 5013; 
	public const int AI_Read = 5041; 

	public const int AI_Fish = 5039; 
	public const int AI_OpenLock = 5049; 

	public const int AI_Goto = 5012; 
	public const int ActRanged = 5040; 

	public const int TaskDig = 5010; 
	public const int ActThrow = 5038; 

	public const int ActNoItem = 5037;

public class ABILITY

cs

	public const int AI_Equip = 5032;

	public const int AI_Deconstruct = 5031; 
	public const int ActWait = 5000; 
	public const int ActMelee = 5001; 
	public const int Melee = 5002; 
	public const int Ranged = 5003; 
	public const int Sleep = 5004; 
	public const int Wait = 5005; 
	public const int Shoot = 5006; 
	public const int Use = 5007; 
	public const int General = 5008; 
	public const int TaskMine = 5009; 
	public const int TaskCut = 5011; 
	public const int AI_Fish = 5039; 

	public const int ActWeaken = 6610; 
	public const int ActGazeMana = 6623; 

	public const int ActBloodsuck = 6607;

	public const int ActTouchSleep = 6612; 
	public const int SongValor = 6752; 
	public const int ActCatHuffing = 6627; 

	public const int SongEnd = 6753; 
	public const int breathe_Magic = 50211; 

	public const int ActManaAbsorb = 6900; 
	public const int breathe_Chaos = 50210; 

	public const int ActJureHeal = 6901; 
	public const int breathe_Holy = 50209; 

	public const int ActLulwyTrick = 6902; 
	public const int ActDrainBlood = 6626; 

	public const int ActKizuamiTrick = 6903; 
	public const int breathe_Sound = 50207; 

	public const int ActHeadpat = 6904; 
	public const int breathe_Nether = 50206; 

	public const int breathe_ = 7000; 
	public const int breathe_Ether = 50212; 

	public const int SpTransmuteBat = 8793; 
	public const int breathe_Poison = 50205; 

	public const int SpTransmuteMimic = 8794; 
	public const int breathe_Darkness = 50203; 

	public const int ActFear = 6611; 
	public const int breathe_Lightning = 50202; 

	public const int SpTransmuteHuman = 8796; 
	public const int breathe_Cold = 50201; 

	public const int breathe_Fire = 50200;

	public const int breathe_Cold = 50201; 
	public const int breathe_Lightning = 50202; 
	public const int SpTransmuteHuman = 8796; 

	public const int breathe_Darkness = 50203; 
	public const int SpTransmuteShadow = 8795; 

	public const int breathe_Mind = 50204;

	public const int breathe_Poison = 50205; 
	public const int SpTransmuteMimic = 8794; 

	public const int breathe_Nether = 50206; 
	public const int breathe_Acid = 50213; 

	public const int breathe_Sound = 50207; 
	public const int breathe_Impact = 50215; 

	public const int breathe_Nerve = 50208; 
	public const int AI_ReleaseHeld = 5030; 

	public const int breathe_Holy = 50209; 
	public const int AI_Offer = 5029; 

	public const int breathe_Chaos = 50210; 
	public const int ActReleaseHeld = 5028; 

	public const int breathe_Magic = 50211; 
	public const int GoalSleep = 5027; 

	public const int breathe_Ether = 50212; 
	public const int AI_Haul = 5026; 

	public const int breathe_Acid = 50213; 
	public const int AI_Grab = 5025; 

	public const int breathe_Cut = 50214;

	public const int breathe_Impact = 50215; 
	public const int breathe_Void = 50216; 
	public const int SongTulip = 6751; 
	public const int SongSleep = 6750; 
	public const int SpTransmuteShadow = 8795; 
	public const int AI_Eat = 5024; 

	public const int StTaunt = 6700; 
	public const int TaskSleepOnBed = 5022; 

	public const int ActTouchDrown = 6613; 
	public const int TaskTrain = 5021; 

	public const int StManaCost = 6720; 
	public const int TaskFarm = 5020; 

	public const int ActGazeDim = 6620; 
	public const int TaskReadBoard = 5019; 

	public const int ActGazeInsane = 6621; 
	public const int TaskPick = 5018; 

	public const int ActGazeMutation = 6622; 
	public const int breathe_Void = 50216; 

	public const int ActGazeMana = 6623; 
	public const int TaskGoOut = 5023; 

	public const int ActDrainBlood = 6626; 
	public const int SpTransmuteBat = 8793; 

	public const int ActCatHuffing = 6627; 
	public const int breathe_Nerve = 50208; 

	public const int ActKiss = 6628; 
	public const int ActHeadpat = 6904; 

	public const int ActDeepKiss = 6629;

public class ABILITY

cs

	public const int ActScream = 6631;

	public const int ActSteal = 6640; 
	public const int ActStealFood = 6641;

	public const int ActStealMoney = 6642;

	public const int ActSteal = 6640; 
	public const int ActNeckHunt = 6650; 

	public const int ActDropMine = 6660;

	public const int ActThrowPotion = 6661;

	public const int breathe_ = 7000; 
	public const int ActSwarm = 6662;

	public const int ActMultiHit = 6663; 
	public const int ActKiss = 6628; 

	public const int ActBladeStorm = 6664;

public class ABILITY

cs

	public const int ActWhirlwind = 6666;

	public const int ActNeckHunt = 6650; 
	public const int ActMultiHit = 6663; 
	public const int ActSummonSpecial = 6800; 
	public const int ActKizuamiTrick = 6903; 
	public const int ActLulwyTrick = 6902; 
	public const int ActJureHeal = 6901; 
	public const int ActManaAbsorb = 6900; 
	public const int SongEnd = 6753; 
	public const int SongValor = 6752; 
	public const int SongTulip = 6751; 

	public const int ActMissileBarrage = 6667;

	public const int ActSummonSpecial = 6800; 
	public const int StManaCost = 6720; 

	public const int ActWombDark = 6801; 
	public const int SongSleep = 6750; 
	public const int StTaunt = 6700; 

	public const int ActDeathSentense = 6802;

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

AI_OpenLock โ€‹

public override AIProgress CreateProgress()

cs
				p.Cancel();
				EClass.Sound.Stop("lock_pick");
				break;
			default: 
				if (EClass._zone.IsCrime(owner, this)) 
				{ 
					owner.pos.TryWitnessCrime(owner); 
				} 
				break; 
			}
		},
		onProgressComplete = delegate

AI_PryOpen โ€‹

public override AIProgress CreateProgress()

cs
		onProgress = delegate(Progress_Custom p)
		{
			owner.PlaySound("lock_pry");
			if (p.progress >= 3 && base.target.trait.TryPryOpenLock(owner, msgFail: false) == LockOpenState.Success) 
			if (p.progress >= 3) 
			{
				p.CompleteProgress(); 
				if (base.target.trait.TryPryOpenLock(owner, msgFail: false) == LockOpenState.Success) 
				{ 
					p.CompleteProgress(); 
				} 
				else if (EClass._zone.IsCrime(owner, this)) 
				{ 
					owner.pos.TryWitnessCrime(owner); 
				} 
			}
		},
		onProgressComplete = delegate

AttackProcess โ€‹

public bool Perform(int count, bool hasHit, float dmgMulti = 1f, bool maxRoll =

cs
	{
		return true;
	}
	if (CC.HasElement(1253)) 
	{ 
		TC.DamageHP(num7 / 10, 916, 100, AttackSource.None, CC); 
	} 
	if (!CC.IsAliveInCurrentZone || !TC.IsAliveInCurrentZone) 
	{ 
		return true; 
	} 
	if (TC.isChara && !TC.HasCondition<ConGravity>() && num3 > 0 && num3 * 2 + 15 > EClass.rnd(100) && !TC.isRestrained && TC.Chara.TryMoveFrom(CC.pos) == Card.MoveResult.Success)
	{
		TC.pos.PlayEffect("vanish");

public bool CalcHit()

cs
	{
		return Crit();
	}
	if (CC.HasCondition<ConSevenSense>() && (CC.HasElement(1244) || CC.HasElement(1246) || CC.HasElement(1247))) 
	if (CC.HasCondition<ConSevenSense>() && (CC.HasElement(1244) || CC.HasElement(1246) || CC.HasElement(1247) || CC.HasElement(1253))) 
	{
		return true;
	}

Card โ€‹

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

cs
		if (!e.source.aliasRef.IsEmpty() && attackSource != AttackSource.ManaBackfire)
		{
			int num3 = ((origin != null) ? origin.Evalue(1238) : 0);
			if (attackSource == AttackSource.MagicSword) 
			if (origin != null) 
			{
				num3 += 2; 
				if (origin.HasElement(1247)) 
				if (attackSource == AttackSource.MagicSword) 
				{ 
					num3 += 2; 
					if (origin.HasElement(1247)) 
					{ 
						num3++; 
					} 
				} 
				if (attackSource == AttackSource.MagicArrow && origin.HasElement(1244)) 
				{ 
					num3++; 
				} 
				if (attackSource == AttackSource.MagicHand && origin.HasElement(1246)) 
				{ 
					num3++; 
				} 
				if (e.id == 916 && (HasElement(1253) || origin.HasElement(1253))) 
				{
					num3++;
				}
			} 
			if (attackSource == AttackSource.MagicArrow && origin != null && origin.HasElement(1244)) 
			{ 
				num3++; 
			} 
			if (attackSource == AttackSource.MagicHand && origin != null && origin.HasElement(1246)) 
			{ 
				num3++; 
			}
			dmg = Element.GetResistDamage(dmg, Evalue(e.source.aliasRef), num3);
			dmg = dmg * 100 / (100 + Mathf.Clamp(Evalue(961) * 5, -50, 200));

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_10dd; 
						goto IL_1111; 
					}
				}
				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_10dd; 
							goto IL_1111; 
						}
					}
					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_10dd; 
	IL_10dd: 
	goto IL_1111; 
	IL_1111: 
	if (trait.CanBeAttacked)
	{
		renderer.PlayAnime(AnimeID.HitObj);

public void Dye(SourceMaterial.Row mat)

cs
		_colorInt = 0;
	}

	public void RefreshColor() 
	public int RefreshColor() 
	{
		if (isChara)
		{
			if (isDyed) 
			if (Chara.mimicry != null) 
			{ 
				_colorInt = Chara.mimicry.Card.RefreshColor(); 
			} 
			else if (isDyed) 
			{
				_colorInt = BaseTileMap.GetColorInt(ref DyeMat.matColor, TileRow.colorMod);
			}

public void RefreshColor()

cs
		{
			_colorInt = BaseTileMap.GetColorInt(ref material.matColor, TileRow.colorMod);
		}
		return _colorInt; 
	}

	public ref Color GetRandomColor()

ConTransmute โ€‹

public void Change()

cs
	{
		goalCombat.BuildAbilityList();
	}
	owner._colorInt = 0; 
	owner._CreateRenderer();
	if (owner.IsPCParty)
	{

public void Change()

cs
public override void OnRemoved()
{
	bool isSynced = owner.isSynced;
	owner._colorInt = 0; 
	owner._CreateRenderer();
	if (isSynced)
	{

Core โ€‹

public void Update()

cs
	{
		for (int num = actionsNextFrame.Count - 1; num >= 0; num--)
		{
			actionsNextFrame[num](); 
			Action action = actionsNextFrame[num]; 
			actionsNextFrame.RemoveAt(num);
			action?.Invoke(); 
		}
	}
}

DOMAIN โ€‹

``

cs

public class DOMAIN
{
	public const int domTest = 800; 
	public const int domLuck = 810; 
	public const int domHealing = 811; 

	public const int domOblivion = 813; 
	public const int domMachine = 809; 

	public const int domEarth = 812; 
	public const int domHarvest = 808; 

	public const int domSurvival = 801; 
	public const int domWind = 807; 

	public const int domHealing = 811; 
	public const int domElement = 806; 

	public const int domFaith = 802; 
	public const int domEarth = 812; 

	public const int domHarmony = 815; 
	public const int domComm = 805; 

	public const int domArcane = 804;

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

	public const int domHarvest = 808; 
	public const int domOblivion = 813; 

	public const int domWind = 807; 
	public const int domEyth = 814; 

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

	public const int domMiracle = 803; 
	public const int domHarmony = 815; 

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

	public const int domComm = 805; 
	public const int domFaith = 802; 
	public const int domTest = 800; 

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

DramaCustomSequence โ€‹

public void Build(Chara c)

cs
			bool num2;
			if (condition == null)
			{
				if (EClass.pc.HasElement(1232) || EClass.pc.faith == EClass.game.religions.MoonShadow) 
				if (EClass.pc.HasElement(1232)) 
				{
					goto IL_0959; 
					goto IL_093e; 
				}
				num2 = EClass.pc.HasElement(1291);
			}

public void Build(Chara c)

cs
			}
			if (num2)
			{
				goto IL_0959; 
				goto IL_093e; 
			}
			goto IL_096a; 
			goto IL_094f; 
		}
		if (c.isDrunk || c.HasElement(1275) || EClass.debug.enable)
		{
			Choice2(flag2 ? "daBird" : "daTail", "_tail");
		}
	}
	goto IL_0d83; 
	IL_09a9: 
	Choice2("daBaby", "_baby"); 
	goto IL_09ba; 
	IL_0959: 
	Choice2("daMama", "_mama"); 
	goto IL_096a; 
	IL_09ba: 
	if (c.trait.CanRevive) 
	{ 
		Choice2("daRevive", "_revive").DisableSound(); 
	} 
	if (!c.trait.IDTrainer.IsEmpty() && !EClass._zone.IsUserZone && (Guild.GetCurrentGuild() == null || Guild.GetCurrentGuild().relation.IsMember())) 
	{ 
		Choice2("daTrain", "_train").DisableSound(); 
	} 
	if (c.trait.CanWhore) 
	{ 
		Choice2(flag2 ? "daBirdBuy" : "daTailBuy", "_whore"); 
	} 
	if (c.trait.CanHeal) 
	{ 
		Choice2("daHeal", "_heal"); 
	} 
	if (c.trait.CanServeFood) 
	{ 
		Choice2("daFood", "_food"); 
	} 
	if (c.trait is TraitInformer) 
	{ 
		Choice2("daSellFame", "_sellFame"); 
	} 
	if (EClass._zone.AllowInvest) 
	{ 
		if (c.trait.CanInvestTown && Guild.GetCurrentGuild() == null) 
		{ 
			Choice2("daInvest", "_investZone"); 
		} 
		if (c.trait.CanInvest) 
		{ 
			Choice2("daInvest", "_investShop"); 
		} 
	} 
	if (c.trait.CanIdentify) 
	{ 
		Choice2("daIdentify", "_identify").DisableSound(); 
		Choice2("daIdentifyAll", "_identifyAll"); 
		Choice2("daIdentifySP", "_identifySP").DisableSound(); 
	} 
	if (c.trait.CanPicklock) 
	{ 
		if (c.Evalue(280) < 20) 
		{ 
			c.elements.SetBase(280, 20); 
		} 
		foreach (Thing item4 in EClass.pc.things.List((Thing a) => a.c_lockLv > 0, onlyAccessible: true)) 
		{ 
			Thing _t4 = item4; 
			Choice2("daPicklock".lang(_t4.Name), "_picklock").SetOnClick(delegate
			{ 
				destThing = _t4; 
			}); 
		} 
	} 
	if (c.trait is TraitBanker) 
	{ 
		Choice2("daDeposit", "_deposit"); 
	} 
	if (c.IsMaid || (c.trait.CanInvestTown && (EClass._zone.source.faction == "mysilia" || EClass._zone.IsPCFaction))) 
	{ 
		Choice2("daExtraTax", "_extraTax"); 
	} 
	if ((c.trait is TraitMiko_Mifu || c.trait is TraitMiko_Nefu || c.trait is TraitEureka) && EClass.world.date.IsExpired(c.c_dateStockExpire)) 
	{ 
		Choice2("daBlessing", "_blessing"); 
	} 
	goto IL_0d83; 
	IL_0d83: 
	goto IL_0d68; 
	IL_0d68: 
	if (c.IsHomeMember())
	{
		if (c.IsMaid)

public void Build(Chara c)

cs
	Talk("what", StepDefault);
	if (!c.IsMarried || EClass.debug.enable)
	{
		foreach (Thing item5 in EClass.pc.things.List((Thing a) => !a.c_isImportant && !a.isEquipped && a.c_uidAttune == 0 && (a.id == "amulet_engagement" || a.id == "ring_engagement"))) 
		foreach (Thing item4 in EClass.pc.things.List((Thing a) => !a.c_isImportant && !a.isEquipped && a.c_uidAttune == 0 && (a.id == "amulet_engagement" || a.id == "ring_engagement"))) 
		{
			Thing _t3 = item5; 
			Choice("daMarry".lang(item5.Name), "_marry").SetOnClick(delegate
			Thing _t4 = item4; 
			Choice("daMarry".lang(item4.Name), "_marry").SetOnClick(delegate
			{
				destThing = _t3; 
				destThing = _t4; 
			});
		}
	}

public void Build(Chara c)

cs
		QuestSupply supply = c.quest as QuestSupply;
		if (supply != null)
		{
			foreach (Thing item6 in supply.ListDestThing()) 
			foreach (Thing item5 in supply.ListDestThing()) 
			{
				Thing _t2 = item6; 
				Choice("daDeliver".lang(supply.GetTitle() ?? "", _t2.GetName(NameStyle.Full, supply.num)), "_deliver").SetOnClick(delegate
				Thing _t3 = item5; 
				Choice("daDeliver".lang(supply.GetTitle() ?? "", _t3.GetName(NameStyle.Full, supply.num)), "_deliver").SetOnClick(delegate
				{
					EClass.game.quests.Start(c.quest);
					destThing = _t2; 
					destThing = _t3; 
					destQuest = supply;
				}).SetOnTooltip(delegate(UITooltip a)
				{
					_t2.WriteNote(a.note); 
					_t3.WriteNote(a.note); 
				});
			}
		}

public void Build(Chara c)

cs
		{
			EClass.pc.party.AddMemeber(c);
		}
		foreach (Chara item7 in EClass.pc.party.members.ToList()) 
		foreach (Chara item6 in EClass.pc.party.members.ToList()) 
		{
			if (item7 != EClass.pc && item7 != c) 
			if (item6 != EClass.pc && item6 != c) 
			{
				EClass.pc.party.RemoveMember(item7); 
				EClass.pc.party.RemoveMember(item6); 
			}
		}
		if (c.host != null)

public void Build(Chara c)

cs
	Method(delegate
	{
		TempTalkTopic("blooming1", null);
		foreach (Chara item8 in EClass.pc.party.members.Where((Chara c2) => c2.CanBloom())) 
		foreach (Chara item7 in EClass.pc.party.members.Where((Chara c2) => c2.CanBloom())) 
		{
			Chara c4 = item8; 
			Chara c4 = item7; 
			Choice("daBloom".lang(c4.Name), delegate
			{
				if (EClass._zone.influence < 10)

public void Build(Chara c)

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

void Invest(bool quick)

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

void Invest(bool quick)

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

void Invest(bool quick)

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

void Invest(bool quick)

cs
	Step("_end");
	End();
	return;
	IL_096a: 
	IL_093e: 
	Choice2("daMama", "_mama"); 
	goto IL_094f; 
	IL_098e: 
	Choice2("daBaby", "_baby"); 
	goto IL_099f; 
	IL_094f: 
	ConTransmuteHuman condition2 = c.GetCondition<ConTransmuteHuman>();
	bool num3;
	if (condition2 == null)
	{
		if (c.HasElement(1232))
		{
			goto IL_09a9; 
			goto IL_098e; 
		}
		num3 = c.HasElement(1291);
	}

void Invest(bool quick)

cs
	}
	if (num3)
	{
		goto IL_09a9; 
		goto IL_098e; 
	} 
	goto IL_099f; 
	IL_099f: 
	if (c.trait.CanRevive) 
	{ 
		Choice2("daRevive", "_revive").DisableSound(); 
	} 
	if (!c.trait.IDTrainer.IsEmpty() && !EClass._zone.IsUserZone && (Guild.GetCurrentGuild() == null || Guild.GetCurrentGuild().relation.IsMember())) 
	{ 
		Choice2("daTrain", "_train").DisableSound(); 
	} 
	if (c.trait.CanWhore) 
	{ 
		Choice2(flag2 ? "daBirdBuy" : "daTailBuy", "_whore"); 
	} 
	if (c.trait.CanHeal) 
	{ 
		Choice2("daHeal", "_heal"); 
	} 
	if (c.trait.CanServeFood) 
	{ 
		Choice2("daFood", "_food"); 
	} 
	if (c.trait is TraitInformer) 
	{ 
		Choice2("daSellFame", "_sellFame"); 
	} 
	if (EClass._zone.AllowInvest) 
	{ 
		if (c.trait.CanInvestTown && Guild.GetCurrentGuild() == null) 
		{ 
			Choice2("daInvest", "_investZone"); 
		} 
		if (c.trait.CanInvest) 
		{ 
			Choice2("daInvest", "_investShop"); 
		} 
	} 
	if (c.trait.CanIdentify) 
	{ 
		Choice2("daIdentify", "_identify").DisableSound(); 
		Choice2("daIdentifyAll", "_identifyAll"); 
		Choice2("daIdentifySP", "_identifySP").DisableSound(); 
	} 
	if (c.trait.CanPicklock) 
	{ 
		if (c.Evalue(280) < 20) 
		{ 
			c.elements.SetBase(280, 20); 
		} 
		foreach (Thing item11 in EClass.pc.things.List((Thing a) => a.c_lockLv > 0, onlyAccessible: true)) 
		{ 
			Thing _t2 = item11; 
			Choice2("daPicklock".lang(_t2.Name), "_picklock").SetOnClick(delegate
			{ 
				destThing = _t2; 
			}); 
		} 
	} 
	if (c.trait is TraitBanker) 
	{ 
		Choice2("daDeposit", "_deposit"); 
	} 
	if (c.IsMaid || (c.trait.CanInvestTown && (EClass._zone.source.faction == "mysilia" || EClass._zone.IsPCFaction))) 
	{ 
		Choice2("daExtraTax", "_extraTax"); 
	} 
	if ((c.trait is TraitMiko_Mifu || c.trait is TraitMiko_Nefu || c.trait is TraitEureka) && EClass.world.date.IsExpired(c.c_dateStockExpire)) 
	{ 
		Choice2("daBlessing", "_blessing"); 
	}
	goto IL_09ba; 
	goto IL_0d68; 
	void BackChill()
	{
		Method(RumorChill, null, StepDefault);

ELEMENT โ€‹

``

cs

public class ELEMENT
{
	public const int purity = 759; 
	public const int hotspring = 756; 
	public const int difficulty = 765; 

	public const int blood = 755; 
	public const int air = 763; 

	public const int recharge = 761; 
	public const int roasted = 762; 

	public const int antidote = 753; 
	public const int rare = 751; 

	public const int cute = 752;

	public const int rare = 751; 
	public const int antidote = 753; 

	public const int comfort = 750; 
	public const int nerve = 754; 

	public const int roasted = 762; 
	public const int blood = 755; 

	public const int air = 763; 
	public const int hotspring = 756; 

	public const int difficulty = 765; 
	public const int purity = 759; 

	public const int stimulant = 760;

	public const int nerve = 754; 
	public const int recharge = 761; 
	public const int comfort = 750; 

	public const int _void = 0;

	public const int socket = 5; 
	public const int nutrition = 10; 

	public const int lv = 1;

public class ELEMENT

cs

	public const int d = 3;

	public const int nutrition = 10; 
	public const int socket = 5; 

	public const int weight = 11;

public class ELEMENT

cs

	public const int taste = 18;

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

	public const int fire = 21; 
	public const int heat = 16; 

	public const int cut = 22;

public class ELEMENT

cs

	public const int piety = 85;

	public const int poison = 20; 
	public const int fire = 21; 

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

public static Element Create(int id, int v = 0)

cs
		{
			return null;
		}
		Element element = ClassCache.Create<Element>(row.type.IsEmpty("Element"), "Elin"); 
		element.id = id; 
		element.vBase = v; 
		element._source = row; 
		return element; 
		Element obj = ClassCache.Create<Element>(row.type.IsEmpty("Element"), "Elin") ?? new Element(); 
		obj.id = id; 
		obj.vBase = v; 
		obj._source = row; 
		return obj; 
	}

	public static Element Create(string id, int v = 1)

ENC โ€‹

public class ENC

cs
public class ENC
{
	public const int permaCurse = 656; 
	public const int onlyPet = 655;

	public const int noDamage = 654;

	public const int living = 653;

	public const int eco = 652; 
	public const int r_PV = 651;

	public const int r_mana = 641;

	public const int r_DV = 650;

	public const int permaCurse = 656; 
	public const int eco = 652; 
	public const int absorbHP = 660; 

	public const int r_life = 640;

	public const int absorbHP = 660; 
	public const int absorbMP = 661; 

	public const int convertCold = 851;

	public const int absorbSP = 662; 
	public const int eheluck = 663;

	public const int boostMachine = 664;

public class ENC

cs

	public const int convertHoly = 864;

	public const int absorbMP = 661; 
	public const int convertLightning = 852; 
	public const int absorbSP = 662; 

	public const int mod_feint = 623;

	public const int convertLightning = 852; 
	public const int sustain_STR = 440; 

	public const int mod_flurry = 621;

	public const int encTail = 419; 
	public const int negatePoison = 420; 
	public const int negateBlind = 421; 
	public const int negateParalysis = 422;

	public const int negateFear = 423;

public class ENC

cs

	public const int parry = 437;

	public const int knightly = 438; 
	public const int negateParry = 439; 
	public const int sustain_STR = 440; 
	public const int sustain_END = 441; 
	public const int sustain_DEX = 442; 
	public const int sustain_PER = 443; 
	public const int sustain_LER = 444; 
	public const int negateBlind = 421; 
	public const int innocence = 418; 

	public const int sustain_WIL = 445; 
	public const int loving = 417; 

	public const int negatePoison = 420; 
	public const int seeInvisible = 416; 

	public const int innocence = 418; 
	public const int invisibility = 415; 

	public const int mod_cleave = 622; 
	public const int counter = 380; 

	public const int basher = 381;

public class ENC

cs

	public const int expMod = 403;

	public const int weightMod = 404; 
	public const int knightly = 438; 

	public const int slowDecay = 405; 
	public const int weightMod = 404; 

	public const int resMutation = 406;

public class ENC

cs

	public const int throwReturn = 410;

	public const int encSpell = 411; 
	public const int mod_cleave = 622; 

	public const int slowCorruption = 412;

	public const int encHit = 414;

	public const int invisibility = 415; 
	public const int seeInvisible = 416; 
	public const int slowDecay = 405; 

	public const int loving = 417; 
	public const int negateParry = 439; 

	public const int encTail = 419; 
	public const int encSpell = 411; 

	public const int sustain_MAG = 446; 
	public const int sustain_END = 441; 

	public const int counter = 380; 
	public const int nonLethal = 485; 

	public const int sustain_figure = 450; 
	public const int safetyMeasure = 486; 

	public const int creativeChef = 487;

public class ENC

cs

	public const int mod_rapid = 602;

	public const int mod_ammo_knockback = 603; 
	public const int mod_ammo_recover = 604;

	public const int mod_precision = 605;

public class ENC

cs

	public const int mod_talisman = 609;

	public const int safetyMeasure = 486; 
	public const int mod_chaser = 620; 

	public const int nonLethal = 485; 
	public const int slot_rune = 484; 

	public const int sustain_CHA = 447; 
	public const int optimizeMana = 483; 
	public const int mod_ammo_knockback = 603; 
	public const int revealFaith = 481; 

	public const int force_weapon = 482;

	public const int bane_animal = 463; 
	public const int sustain_DEX = 442; 

	public const int bane_man = 464; 
	public const int sustain_PER = 443; 

	public const int bane_machine = 465; 
	public const int sustain_LER = 444; 

	public const int bane_god = 466; 
	public const int sustain_WIL = 445; 

	public const int slot_rune = 484; 
	public const int sustain_CHA = 447; 

	public const int bane_undead = 461; 
	public const int sustain_figure = 450; 

	public const int bane_fish = 467; 
	public const int bane_dragon = 460; 

	public const int bane_all = 468; 
	public const int sustain_MAG = 446; 

	public const int strongStomach = 480; 
	public const int bane_fairy = 462; 

	public const int bane_dragon = 460; 
	public const int bane_animal = 463; 

	public const int revealFaith = 481; 
	public const int bane_man = 464; 

	public const int mod_chaser = 620; 
	public const int bane_machine = 465; 

	public const int optimizeMana = 483; 
	public const int bane_god = 466; 

	public const int bane_fairy = 462; 
	public const int bane_fish = 467; 
	public const int bane_all = 468; 
	public const int bane_undead = 461; 
	public const int strongStomach = 480; 

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

FACTION โ€‹

``

cs

public class FACTION
{
	public const int fRation = 2207; 
	public const int actBuildMine = 4001; 
	public const int actBuildCut = 4000; 
	public const int bfForest = 3601; 

	public const int bfStart = 3900; 
	public const int bfSnow = 3602; 

	public const int bfChitin = 3805; 
	public const int bfHill = 3603; 

	public const int bfIce = 3804; 
	public const int bfBeach = 3604; 

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

	public const int bfSilica = 3802; 
	public const int bfUndersea = 3606; 

	public const int bfMushroom = 3801; 
	public const int bfFertile = 3700; 

	public const int bfCoal = 3800; 
	public const int bfPlain = 3600; 

	public const int fLoyal = 2117; 
	public const int bfRuin = 3702; 

	public const int fConstruction = 2003; 
	public const int bfSea = 3605; 

	public const int fEducation = 2116; 
	public const int bfCave = 3500; 

	public const int bfLandmark5 = 3784; 
	public const int fLuck = 2118; 

	public const int fSafety = 2205;

public class FACTION

cs

	public const int fTaxEvasion = 2119;

	public const int fLuck = 2118; 
	public const int fLoyal = 2117; 

	public const int fAdmin = 2115; 
	public const int fEducation = 2116; 

	public const int bfLandmark4 = 3783; 
	public const int bfTranquil = 3703; 

	public const int fAttraction = 2206;

	public const int bfLandmark2 = 3781; 
	public const int bfVolcano = 3704; 

	public const int bfLandmark3 = 3782; 
	public const int actBuildMine = 4001; 

	public const int bfHunt = 3705; 
	public const int bfFish = 3706; 

	public const int bfVolcano = 3704; 
	public const int actBuildInspect = 4006; 

	public const int bfTranquil = 3703; 
	public const int actBuildRecipe = 4005; 

	public const int bfFish = 3706; 
	public const int actBuildCollect = 4004; 

	public const int bfRuin = 3702; 
	public const int actBuildAnywhere = 4003; 

	public const int bfGeyser = 3701; 
	public const int actBuildTerrain = 4002; 

	public const int bfFertile = 3700; 
	public const int fAdmin = 2115; 

	public const int bfUndersea = 3606; 
	public const int actBuildCut = 4000; 

	public const int bfBeach = 3604; 
	public const int bfStart = 3900; 

	public const int bfHill = 3603; 
	public const int bfChitin = 3805; 

	public const int bfSnow = 3602; 
	public const int bfIce = 3804; 

	public const int bfForest = 3601; 
	public const int bfGum = 3803; 

	public const int bfSea = 3605; 
	public const int bfSilica = 3802; 

	public const int bfCave = 3500; 
	public const int bfMushroom = 3801; 

	public const int actBuildInspect = 4006; 
	public const int bfCoal = 3800; 

	public const int bfLandmark1 = 3780; 
	public const int bfLandmark5 = 3784; 

	public const int actBuildRecipe = 4005; 
	public const int bfLandmark4 = 3783; 

	public const int actBuildCollect = 4004; 
	public const int bfLandmark3 = 3782; 

	public const int actBuildAnywhere = 4003; 
	public const int bfLandmark2 = 3781; 

	public const int actBuildTerrain = 4002; 
	public const int bfLandmark1 = 3780; 

	public const int bfMonster = 3707; 
	public const int bfBreed = 3710; 
	public const int bfBasin = 3709; 

	public const int bfFreshAir = 3708;

	public const int bfBasin = 3709; 
	public const int bfMonster = 3707; 

	public const int bfPlain = 3600; 
	public const int bfHunt = 3705; 

	public const int bfBreed = 3710; 
	public const int fConstruction = 2003; 
	public const int fRation = 2207; 

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

FEAT โ€‹

``

cs

public class FEAT
{
	public const int featPER = 1623; 
	public const int featHeavyEater = 1234; 

	public const int featLER = 1624; 
	public const int featSleeper = 1642; 

	public const int featMAG = 1625; 
	public const int featSorter = 1643; 

	public const int featHardy = 1630; 
	public const int featBodyParts = 1644; 

	public const int featCHA = 1627; 
	public const int featParty = 1645; 

	public const int featLuck = 1628; 
	public const int featLonelySoul = 1646; 

	public const int featSPD = 1629; 
	public const int featSummoner = 1647; 

	public const int featEND = 1622; 
	public const int featRapidMagic = 1648; 

	public const int featDefense = 1631; 
	public const int featResCurse = 1641; 

	public const int featWIL = 1626; 
	public const int featDefender = 1649; 

	public const int featDEX = 1621; 
	public const int featMagicManner = 1651; 

	public const int featManaMeat = 1421; 
	public const int featRapidArrow = 1652; 

	public const int featStamina = 1612; 
	public const int featDreamWaker = 1653; 

	public const int featMana = 1611; 
	public const int featHeavyCasting = 1654; 

	public const int featLife = 1610; 
	public const int featModelBeliever = 1655; 

	public const int featManyFace = 1429; 
	public const int featScavenger = 1656; 

	public const int featMurderer = 1428; 
	public const int featManaCost = 1657; 

	public const int featDisguise = 1427; 
	public const int featGourmet = 1650; 

	public const int featNeckHunter = 1426; 
	public const int featChef = 1658; 

	public const int featMimic = 1425; 
	public const int featAnimalLover = 1640; 

	public const int featElite = 1424; 
	public const int featMartial = 1635; 

	public const int featPeaky = 1423; 
	public const int featStamina = 1612; 

	public const int featHealer = 1422; 
	public const int featSTR = 1620; 

	public const int featEvade = 1632; 
	public const int featDEX = 1621; 

	public const int featExecutioner = 1420; 
	public const int featEND = 1622; 

	public const int featSTR = 1620; 
	public const int featPER = 1623; 

	public const int featSpotting = 1633; 
	public const int featLER = 1624; 

	public const int featDefender = 1649; 
	public const int featMAG = 1625; 

	public const int featMartial = 1635; 
	public const int featFaith = 1636; 

	public const int featMilitant = 1419; 
	public const int featWIL = 1626; 

	public const int featComat = 1750; 
	public const int featLuck = 1628; 

	public const int featFastFucker = 1664; 
	public const int featSPD = 1629; 

	public const int featFastEater = 1663; 
	public const int featHardy = 1630; 

	public const int featGoldenFinger = 1662; 
	public const int featDefense = 1631; 

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

	public const int featLooter = 1660; 
	public const int featSpotting = 1633; 

	public const int featFisher = 1659; 
	public const int featNegotiate = 1634; 

	public const int featChef = 1658; 
	public const int featCHA = 1627; 

	public const int featManaCost = 1657; 
	public const int featFisher = 1659; 

	public const int featScavenger = 1656; 
	public const int featLooter = 1660; 

	public const int featModelBeliever = 1655; 
	public const int featDismantler = 1661; 

	public const int featHeavyCasting = 1654; 
	public const int featManaPrecision = 1214; 

	public const int featDreamWaker = 1653; 
	public const int featElea = 1213; 

	public const int featRapidArrow = 1652; 
	public const int featFairyResist = 1212; 

	public const int featMagicManner = 1651; 
	public const int featSnail = 1211; 

	public const int featGourmet = 1650; 
	public const int featUndead = 1210; 

	public const int featRapidMagic = 1648; 
	public const int featFluffyTail = 1209; 

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

	public const int featLonelySoul = 1646; 
	public const int featDwarf = 1215; 

	public const int featParty = 1645; 
	public const int featFoxBless = 1207; 

	public const int featBodyParts = 1644; 
	public const int featCannibalism = 1205; 

	public const int featSorter = 1643; 
	public const int featFairyWeak = 1204; 

	public const int featSleeper = 1642; 
	public const int featGrowParts = 1203; 

	public const int featResCurse = 1641; 
	public const int featFastLearner = 1202; 

	public const int featAnimalLover = 1640; 
	public const int featManaBond = 1201; 

	public const int featFaith = 1636; 
	public const int featSlowFood = 1200; 

	public const int featNegotiate = 1634; 
	public const int featCosmicHorror = 1233; 

	public const int featSwordsage = 1418; 
	public const int featMelilithCurse = 1206; 

	public const int featGod_trickery1 = 1345; 
	public const int featSuccubus = 1216; 

	public const int featInquisitor = 1416; 
	public const int featGolem = 1217; 

	public const int featCosmicHorror = 1233; 
	public const int featMetal = 1218; 

	public const int featHeavyEater = 1234; 
	public const int featGoldenFinger = 1662; 

	public const int featLightEater = 1235; 
	public const int featFastEater = 1663; 

	public const int featNorland = 1236; 
	public const int featFastFucker = 1664; 

	public const int featRoran = 1237; 
	public const int featComat = 1750; 

	public const int featElder = 1238; 
	public const int featBaby = 1232; 

	public const int featDemon = 1239; 
	public const int featNirvana = 1231; 

	public const int featMassSummoner = 1240; 
	public const int featAdam = 1230; 

	public const int featMeatCushion = 1241; 
	public const int featDemigod = 1228; 

	public const int featGeneSlot = 1242; 
	public const int featServant = 1227; 

	public const int featEternalYouth = 1243; 
	public const int featUnderground = 1226; 

	public const int featCentaur = 1244; 
	public const int featLoyal = 1225; 

	public const int featSevenSense = 1245; 
	public const int featShiva = 1224; 

	public const int featPegasus = 1246; 
	public const int featAcidBody = 1223; 

	public const int featLibra = 1247; 
	public const int featSplit = 1222; 

	public const int featMiscreation = 1248; 
	public const int featSpike = 1221; 

	public const int featBloodBond = 1249; 
	public const int featFate = 1220; 

	public const int featVampire = 1250; 
	public const int featElderCrab = 1219; 

	public const int featAshborn = 1251; 
	public const int featMana = 1611; 

	public const int featAquatic = 1252; 
	public const int featLife = 1610; 

	public const int featWitch = 1417; 
	public const int featLittleOne = 1229; 

	public const int featBadKarma = 1271; 
	public const int featWizard = 1402; 

	public const int featPeacemaker = 1272; 
	public const int featPaladin2 = 1408; 

	public const int featBloom = 1273; 
	public const int featBoost = 1409; 

	public const int featSlimeEvolution = 1274; 
	public const int featReboot = 1410; 

	public const int featBelovedOne = 1275; 
	public const int featEarthStrength = 1411; 

	public const int featHarem = 1276; 
	public const int featLuckyCat = 1412; 

	public const int featGoddess = 1290; 
	public const int featFairysan = 1413; 

	public const int featSadCreature = 1291; 
	public const int featWhiteVixen = 1414; 

	public const int featBaby = 1232; 
	public const int featFoxMaid = 1415; 

	public const int featGod_element1 = 1300; 
	public const int featInquisitor = 1416; 

	public const int featNirvana = 1231; 
	public const int featWitch = 1417; 

	public const int featLittleOne = 1229; 
	public const int featSwordsage = 1418; 

	public const int featSlowFood = 1200; 
	public const int featMilitant = 1419; 

	public const int featManaBond = 1201; 
	public const int featExecutioner = 1420; 

	public const int featFastLearner = 1202; 
	public const int featManaMeat = 1421; 

	public const int featGrowParts = 1203; 
	public const int featHealer = 1422; 

	public const int featFairyWeak = 1204; 
	public const int featPeaky = 1423; 

	public const int featCannibalism = 1205; 
	public const int featElite = 1424; 

	public const int featMelilithCurse = 1206; 
	public const int featPaladin = 1407; 

	public const int featFoxBless = 1207; 
	public const int featTourist = 1406; 

	public const int featFoxLearn = 1208; 
	public const int featPianist = 1405; 

	public const int featFluffyTail = 1209; 
	public const int featArcher = 1404; 

	public const int featUndead = 1210; 
	public const int featSadCreature = 1291; 

	public const int featSnail = 1211; 
	public const int featGod_element1 = 1300; 

	public const int featFairyResist = 1212; 
	public const int featGod_earth1 = 1305; 

	public const int featElea = 1213; 
	public const int featLightEater = 1235; 

	public const int featManaPrecision = 1214; 
	public const int featGod_wind1 = 1310; 

	public const int featDwarf = 1215; 
	public const int featGod_machine1 = 1315; 

	public const int featSuccubus = 1216; 
	public const int featGod_healing1 = 1320; 

	public const int featGolem = 1217; 
	public const int featGod_harvest1 = 1325; 

	public const int featMetal = 1218; 
	public const int featMimic = 1425; 

	public const int featElderCrab = 1219; 
	public const int featGod_luck1 = 1330; 

	public const int featFate = 1220; 
	public const int featGod_oblivion1 = 1340; 

	public const int featSpike = 1221; 
	public const int featGod_trickery1 = 1345; 

	public const int featSplit = 1222; 
	public const int featGod_moonshadow1 = 1350; 

	public const int featAcidBody = 1223; 
	public const int featGod_strife1 = 1355; 

	public const int featShiva = 1224; 
	public const int featWarrior = 1400; 

	public const int featLoyal = 1225; 
	public const int featThief = 1401; 

	public const int featUnderground = 1226; 
	public const int featBelovedOne = 1275; 

	public const int featServant = 1227; 
	public const int featFarmer = 1403; 

	public const int featDemigod = 1228; 
	public const int featGod_harmony1 = 1335; 

	public const int featAdam = 1230; 
	public const int featGoddess = 1290; 

	public const int featGod_earth1 = 1305; 
	public const int featNeckHunter = 1426; 

	public const int featGoodKarma = 1270; 
	public const int featMurderer = 1428; 

	public const int featGod_machine1 = 1315; 
	public const int featElder = 1238; 

	public const int featWhiteVixen = 1414; 
	public const int featDemon = 1239; 

	public const int featFairysan = 1413; 
	public const int featMassSummoner = 1240; 

	public const int featLuckyCat = 1412; 
	public const int featMeatCushion = 1241; 

	public const int featEarthStrength = 1411; 
	public const int featGeneSlot = 1242; 

	public const int featReboot = 1410; 
	public const int featEternalYouth = 1243; 

	public const int featBoost = 1409; 
	public const int featCentaur = 1244; 

	public const int featPaladin2 = 1408; 
	public const int featSevenSense = 1245; 

	public const int featPaladin = 1407; 
	public const int featPegasus = 1246; 

	public const int featTourist = 1406; 
	public const int featLibra = 1247; 

	public const int featGod_wind1 = 1310; 
	public const int featMiscreation = 1248; 

	public const int featPianist = 1405; 
	public const int featBloodBond = 1249; 

	public const int featArcher = 1404; 
	public const int featVampire = 1250; 

	public const int featFarmer = 1403; 
	public const int featAshborn = 1251; 

	public const int featWizard = 1402; 
	public const int featAquatic = 1252; 

	public const int featThief = 1401; 
	public const int featCancer = 1253; 

	public const int featWarrior = 1400; 
	public const int featGoodKarma = 1270; 

	public const int featGod_strife1 = 1355; 
	public const int featRoran = 1237; 

	public const int featGod_moonshadow1 = 1350; 
	public const int featDisguise = 1427; 

	public const int featGod_oblivion1 = 1340; 
	public const int featNorland = 1236; 

	public const int featGod_harmony1 = 1335; 
	public const int featHarem = 1276; 

	public const int featGod_luck1 = 1330; 
	public const int featManyFace = 1429; 

	public const int featGod_harvest1 = 1325; 
	public const int featSlimeEvolution = 1274; 

	public const int featGod_healing1 = 1320; 
	public const int featBloom = 1273; 

	public const int featFoxMaid = 1415; 
	public const int featPeacemaker = 1272; 
	public const int featBadKarma = 1271; 

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

FOOD โ€‹

public class FOOD

cs
public class FOOD
{
	public const int creativeDish = 764; 
	public const int food_human = 708; 
	public const int justcooked = 757; 
	public const int food_CHA = 700;

	public const int food_cat = 701;

	public const int food_god = 758; 
	public const int creativeDish = 764; 

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

	public const int food_bug = 704;

	public const int food_poison = 702; 
	public const int gainWeight = 705; 

	public const int loseWeight = 706;

	public const int kirimi = 707;

	public const int food_human = 708; 
	public const int food_undead = 709;

	public const int food_blood = 710;

	public const int gainWeight = 705; 
	public const int justcooked = 757; 
	public const int food_love = 703; 
	public const int food_god = 758; 

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

MUTATION โ€‹

public class MUTATION

cs
public class MUTATION
{
	public const int mutationDexN = 1515; 
	public const int mutationSpeedN = 1519; 
	public const int mutationStr = 1520; 

	public const int mutationSkin = 1510;

	public const int mutationSkinN = 1511; 
	public const int etherEye = 1553; 

	public const int mutationEye = 1512; 
	public const int etherFeet = 1552; 

	public const int mutationEyeN = 1513; 
	public const int etherGravity = 1550; 

	public const int mutationDex = 1514; 
	public const int mutationHairN = 1533; 

	public const int mutationRegen = 1516; 
	public const int mutationHair = 1532; 

	public const int mutationStr = 1520; 
	public const int mutationBodyN = 1531; 

	public const int mutationSpeed = 1518; 
	public const int mutationBody = 1530; 

	public const int etherPoisonHand = 1565; 
	public const int etherWing = 1554; 

	public const int etherManaBattery = 1564; 
	public const int mutationLightningN = 1529; 

	public const int etherProvoke = 1563; 
	public const int mutationColdN = 1527; 

	public const int etherArmor = 1562; 
	public const int mutationCold = 1526; 

	public const int etherStupid = 1561; 
	public const int mutationBrainN = 1525; 

	public const int etherWeak = 1560; 
	public const int mutationBrain = 1524; 

	public const int etherAddict = 1559; 
	public const int mutationChaN = 1523; 

	public const int etherRain = 1558; 
	public const int mutationCha = 1522; 

	public const int etherHead = 1557; 
	public const int mutationStrN = 1521; 

	public const int etherViolence = 1556; 
	public const int mutationLightning = 1528; 

	public const int etherNeck = 1555;

	public const int mutationRegenN = 1517; 
	public const int etherEye = 1553; 
	public const int etherUgly = 1551; 

	public const int etherFeet = 1552; 
	public const int etherHead = 1557; 

	public const int etherUgly = 1551; 
	public const int mutationSkinN = 1511; 

	public const int etherWing = 1554; 
	public const int mutationEye = 1512; 

	public const int mutationChaN = 1523; 
	public const int mutationEyeN = 1513; 

	public const int mutationSpeedN = 1519; 
	public const int mutationDex = 1514; 

	public const int mutationStrN = 1521; 
	public const int etherViolence = 1556; 

	public const int mutationCha = 1522; 
	public const int mutationRegen = 1516; 

	public const int etherGravity = 1550; 
	public const int mutationRegenN = 1517; 

	public const int mutationBrain = 1524; 
	public const int mutationSpeed = 1518; 

	public const int mutationBrainN = 1525; 
	public const int mutationDexN = 1515; 

	public const int mutationCold = 1526; 
	public const int etherManaBattery = 1564; 

	public const int mutationLightning = 1528; 
	public const int etherProvoke = 1563; 

	public const int mutationLightningN = 1529; 
	public const int etherArmor = 1562; 

	public const int mutationBody = 1530; 
	public const int etherStupid = 1561; 

	public const int mutationBodyN = 1531; 
	public const int etherWeak = 1560; 

	public const int mutationHair = 1532; 
	public const int etherAddict = 1559; 

	public const int mutationHairN = 1533; 
	public const int etherRain = 1558; 

	public const int mutationColdN = 1527; 
	public const int etherPoisonHand = 1565; 

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

ModUtil โ€‹

using System.IO;

cs
using System.IO;
using System.Linq;
using System.Reflection;
using System.Text.RegularExpressions; 
using System.Threading;
using NPOI.SS.UserModel;
using NPOI.XSSF.UserModel;

public static void AddOrReplaceBGM(string bgmId)

cs
	{
		List<BGMData> bgms = Core.Instance.refs.bgms;
		Dictionary<int, BGMData> dictBGM = Core.Instance.refs.dictBGM;
		BGMData bGMData = SoundManager.current.GetData(bgmId) as BGMData; 
		if (!(bGMData == null)) 
		BGMData bGMData = LoadSoundData(bgmId) as BGMData; 
		if (bGMData == null) 
		{
			bGMData.name = bgmId[4..]; 
			if (bGMData.id <= 0) 
			{ 
				bGMData.id = bgms.Count + 1; 
				UnityEngine.Debug.Log($"#sound bgm unassigned/{bGMData.id}/{bGMData.name}"); 
			} 
			if (dictBGM.TryGetValue(bGMData.id, out var value)) 
			return; 
		} 
		bGMData.name = bgmId.Replace("BGM/", ""); 
		if (bGMData.id <= 0) 
		{ 
			Match match = Regex.Match(bGMData.name, "^(\\d+)(?:_(.*))?$"); 
			if (match.Success) 
			{
				value.clip = bGMData.clip; 
				UnityEngine.Debug.Log($"#sound bgm replace/{bGMData.id}/{value.name}/>/{bGMData.name}"); 
				int id = match.Groups[1].Value.ToInt(); 
				string text = (match.Groups[2].Success ? match.Groups[2].Value : null); 
				bGMData.id = id; 
				if (!text.IsEmpty()) 
				{ 
					bGMData.name = text; 
				} 
			}
			else
			{
				bgms.Add(bGMData); 
				dictBGM[bGMData.id] = bGMData; 
				UnityEngine.Debug.Log($"#sound bgm addon/{bGMData.id}/{bGMData.name}"); 
				bGMData.id = bgms.Count + 1; 
				UnityEngine.Debug.Log($"#sound bgm unassigned/{bGMData.id}/{bGMData.name}"); 
			}
		}
		if (dictBGM.TryGetValue(bGMData.id, out var value)) 
		{ 
			value.clip = bGMData.clip; 
			UnityEngine.Debug.Log($"#sound bgm replace/{bGMData.id}/{value.name}/>/{bGMData.name}"); 
		} 
		else
		{ 
			bgms.Add(bGMData); 
			dictBGM[bGMData.id] = bGMData; 
			UnityEngine.Debug.Log($"#sound bgm addon/{bGMData.id}/{bGMData.name}"); 
		} 
	}

	public static ModPackage FindSoundPackage(string soundId)

POLICY โ€‹

``

cs

public class POLICY
{
	public const int legendary_exhibition = 2823; 
	public const int celeb = 2822;

	public const int legendary_exhibition = 2823; 
	public const int license_stolen = 2824;

	public const int legendary_heirloom = 2821; 
	public const int license_slaver = 2828; 

	public const int egg_fan = 2826;

	public const int breed_season = 2827;

	public const int license_slaver = 2828; 
	public const int legendary_heirloom = 2821; 

	public const int milk_fan = 2825;

	public const int license_general = 2820;

	public const int wealth_tax = 2500; 
	public const int forcePanty = 2712; 

	public const int license_food = 2818;

	public const int energy_conservation = 2700; 
	public const int speed_growth = 2516;

	public const int stop_growth = 2515;

public class POLICY

cs

	public const int resident_wanted = 2513;

	public const int resident_tax = 2512; 
	public const int inquisition = 2507; 

	public const int self_sufficient = 2511; 
	public const int license_furniture = 2819; 

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

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

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

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

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

	public const int legal_drug = 2505;

	public const int prohibition = 2503; 
	public const int resident_tax = 2512; 

	public const int food_for_people = 2502; 
	public const int self_sufficient = 2511; 

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

	public const int license_furniture = 2819; 
	public const int vaccination = 2509; 

	public const int trash_sort = 2701; 
	public const int nocturnal_life = 2508; 

	public const int trash_no = 2702; 
	public const int energy_conservation = 2700; 

	public const int impressment = 2504; 
	public const int trash_sort = 2701; 

	public const int border_watch = 2704; 
	public const int human_right = 2506; 

	public const int weed_no = 2703;

	public const int store_premium = 2817; 
	public const int store_ripoff = 2816; 
	public const int trash_no = 2702; 

	public const int mass_exhibition = 2814; 
	public const int noMother = 2710; 

	public const int suite_room = 2813; 
	public const int incomeTransfer = 2711; 

	public const int bed_quality = 2812; 
	public const int livestock_priv = 2715; 

	public const int tourist_safety = 2811; 
	public const int home_discount = 2800; 

	public const int open_business = 2810;

	public const int home_discount = 2800; 
	public const int tourist_safety = 2811; 

	public const int platinum_ticket = 2815; 
	public const int bed_quality = 2812; 

	public const int forcePanty = 2712; 
	public const int suite_room = 2813; 

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

	public const int noMother = 2710; 
	public const int platinum_ticket = 2815; 

	public const int noAnimal = 2709; 
	public const int store_ripoff = 2816; 
	public const int store_premium = 2817; 

	public const int noDM = 2708;

	public const int auto_farm = 2707;

	public const int livestock_priv = 2715; 
	public const int demon_invocation = 2706;

	public const int taxTransfer = 2705;

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

Point โ€‹

public void CallGuard(Chara criminal, Chara caller)

cs
	List<Chara> list = EClass._map.charas.Where((Chara c) => c.trait is TraitGuard && !c.IsInCombat).ToList();
	if (list.Count > 0)
	{
		Chara chara = list.RandomItem(); 
		list.Sort((Chara a, Chara b) => a.Dist(criminal) - b.Dist(criminal)); 
		Chara chara = list.First(); 
		caller.Say("calledGuard", caller);
		chara.DoHostileAction(criminal);
	}

SKILL โ€‹

public class SKILL

cs
public class SKILL
{
	public const int marksman = 133; 
	public const int armorLight = 120; 

	public const int tactics = 132; 
	public const int fireproof = 50; 

	public const int twowield = 131; 
	public const int throwing = 108; 

	public const int twohand = 130; 
	public const int weaponCrossbow = 109; 

	public const int shield = 123; 
	public const int climbing = 242; 
	public const int weaponBlunt = 111; 

	public const int armorHeavy = 122;

	public const int weaponScythe = 110; 
	public const int tactics = 132; 

	public const int weaponBlunt = 111; 
	public const int twohand = 130; 

	public const int weaponCrossbow = 109; 
	public const int music = 241; 

	public const int throwing = 108; 
	public const int travel = 240; 

	public const int weaponDagger = 107; 
	public const int taming = 237; 

	public const int eyeofmind = 134; 
	public const int milking = 235; 

	public const int weaponPolearm = 106; 
	public const int digging = 230; 

	public const int armorLight = 120; 
	public const int parasite = 227; 

	public const int strategy = 135; 
	public const int riding = 226; 

	public const int parasite = 227; 
	public const int mining = 220; 

	public const int evasionPlus = 151; 
	public const int shield = 123; 

	public const int stealth = 152; 
	public const int spotting = 210; 

	public const int swimming = 200;

	public const int weightlifting = 207; 
	public const int spotting = 210; 
	public const int stealth = 152; 

	public const int mining = 220; 
	public const int evasionPlus = 151; 

	public const int lumberjack = 225; 
	public const int evasion = 150; 

	public const int riding = 226; 
	public const int strategy = 135; 

	public const int digging = 230; 
	public const int eyeofmind = 134; 

	public const int milking = 235; 
	public const int marksman = 133; 

	public const int taming = 237; 
	public const int twowield = 131; 

	public const int travel = 240; 
	public const int weightlifting = 207; 

	public const int music = 241; 
	public const int lumberjack = 225; 

	public const int weaponGun = 105; 
	public const int antiMagic = 93; 

	public const int evasion = 150; 
	public const int weaponPolearm = 106; 

	public const int weaponBow = 104; 
	public const int END = 71; 

	public const int STR = 70;

	public const int weaponAxe = 102; 
	public const int fireproof = 50; 
	public const int FPV = 68; 

	public const int acidproof = 51; 
	public const int DMG = 67; 

	public const int PDR = 55; 
	public const int HIT = 66; 

	public const int EDR = 56; 
	public const int PV = 65; 

	public const int evasionPerfect = 57; 
	public const int DEX = 72; 

	public const int life = 60; 
	public const int DV = 64; 

	public const int mana = 61;

	public const int vigor = 62; 
	public const int DV = 64; 
	public const int HIT = 66; 
	public const int life = 60; 

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

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

	public const int climbing = 242; 
	public const int PDR = 55; 

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

	public const int weaponStaff = 103; 
	public const int vigor = 62; 

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

	public const int LER = 74;

	public const int WIL = 75;

	public const int MAG = 76; 
	public const int weaponGun = 105; 

	public const int CHA = 77; 
	public const int weaponBow = 104; 

	public const int LUC = 78; 
	public const int weaponStaff = 103; 

	public const int SPD = 79; 
	public const int weaponAxe = 102; 

	public const int INT = 80; 
	public const int weaponSword = 101; 

	public const int critical = 90; 
	public const int martial = 100; 

	public const int vopal = 91; 
	public const int dmgDealt = 94; 

	public const int penetration = 92;

	public const int antiMagic = 93; 
	public const int vopal = 91; 

	public const int dmgDealt = 94; 
	public const int critical = 90; 

	public const int martial = 100; 
	public const int INT = 80; 

	public const int weaponSword = 101; 
	public const int SPD = 79; 

	public const int PER = 73; 
	public const int LUC = 78; 
	public const int CHA = 77; 
	public const int MAG = 76; 
	public const int weaponDagger = 107; 

	public const int fishing = 245;

	public const int PV = 65; 
	public const int weaponScythe = 110; 

	public const int carpentry = 255;

public class SKILL

cs

	public const int resAcid = 963;

	public const int resCut = 964; 
	public const int gathering = 250; 
	public const int resCurse = 972;

	public const int resDamage = 971;

public class SKILL

cs

	public const int resImpact = 965;

	public const int resCut = 964; 
	public const int gathering = 250; 
	public const int resPoison = 955;

	public const int eleMind = 914;

public class SKILL

cs

	public const int eleLightning = 912;

	public const int jewelry = 259; 
	public const int sculpture = 258; 
	public const int anatomy = 290; 

	public const int alchemy = 257; 
	public const int appraising = 289; 

	public const int blacksmith = 256; 
	public const int building = 288; 

	public const int lockpicking = 280; 
	public const int cooking = 287; 

	public const int stealing = 281; 
	public const int eleDarkness = 913; 

	public const int reading = 285;

	public const int farming = 286; 
	public const int negotiation = 291; 

	public const int eleDarkness = 913; 
	public const int stealing = 281; 

	public const int cooking = 287; 
	public const int handicraft = 261; 

	public const int building = 288; 
	public const int weaving = 260; 

	public const int appraising = 289; 
	public const int jewelry = 259; 

	public const int anatomy = 290; 
	public const int sculpture = 258; 

	public const int negotiation = 291; 
	public const int alchemy = 257; 

	public const int weaving = 260; 
	public const int blacksmith = 256; 
	public const int lockpicking = 280; 

	public const int investing = 292;

	public const int farming = 286; 
	public const int regeneration = 300;

	public const int eleCold = 911;

public class SKILL

cs

	public const int fun = 312;

	public const int bladder = 311; 
	public const int disarmTrap = 293;

	public const int hygine = 310;

	public const int handicraft = 261; 
	public const int bladder = 311; 

	public const int faith = 306;

	public const int magicDevice = 305; 
	public const int meditation = 301; 

	public const int casting = 304; 
	public const int controlmana = 302; 

	public const int manaCapacity = 303; 
	public const int magicDevice = 305; 

	public const int controlmana = 302; 
	public const int manaCapacity = 303; 

	public const int meditation = 301; 
	public const int casting = 304; 

	public const int memorization = 307;

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

SLOT โ€‹

public class SLOT

cs
public class SLOT
{
	public const int back = 33; 
	public const int arm = 34;

	public const int hand = 35;

	public const int back = 33; 
	public const int token = 43; 
	public const int finger = 36; 

	public const int waist = 37;

	public const int leg = 38; 
	public const int foot = 39;

	public const int lightsource = 45;

public class SLOT

cs

	public const int range = 41;

	public const int token = 43; 
	public const int torso = 32;

	public const int finger = 36; 
	public const int leg = 38; 

	public const int neck = 31;

public class SLOT

cs

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

SPELL โ€‹

public class SPELL

cs
public class SPELL
{
	public const int ball_Impact = 50115; 
	public const int hand_Impact = 50415; 

	public const int flare_Sound = 51207;

public class SPELL

cs

	public const int puddle_Sound = 50907;

	public const int sword_Void = 51016; 
	public const int weapon_Sound = 50807;

	public const int miasma_Sound = 50707;

public class SPELL

cs

	public const int bolt_Sound = 50307;

	public const int arrow_Void = 50516; 
	public const int hand_Void = 50416; 

	public const int ball_Sound = 50107;

	public const int flare_Nether = 51206; 
	public const int ball_Nerve = 50108;

	public const int hand_Void = 50416; 
	public const int bolt_Void = 50316; 

	public const int bolt_Nerve = 50308;

public class SPELL

cs

	public const int ball_Holy = 50109;

	public const int bolt_Void = 50316; 
	public const int bolt_Holy = 50309;

	public const int hand_Holy = 50409;

	public const int arrow_Holy = 50509;

	public const int flare_Nether = 51206; 
	public const int funnel_Holy = 50609; 

	public const int bit_Nether = 51106;

	public const int sword_Nether = 51006;

	public const int funnel_Void = 50616; 
	public const int puddle_Nether = 50906; 
	public const int arrow_Void = 50516; 

	public const int hand_Poison = 50405;

public class SPELL

cs

	public const int flare_Mind = 51204;

	public const int bolt_Mind = 50304; 
	public const int sword_Void = 51016; 

	public const int arrow_Poison = 50505;

public class SPELL

cs

	public const int sword_Mind = 51004;

	public const int funnel_Holy = 50609; 
	public const int miasma_Holy = 50709; 

	public const int funnel_Poison = 50605;

	public const int weapon_Poison = 50805;

	public const int puddle_Nether = 50906; 
	public const int funnel_Void = 50616; 

	public const int weapon_Nether = 50806;

public class SPELL

cs

	public const int miasma_Void = 50716;

	public const int miasma_Holy = 50709; 
	public const int bolt_Impact = 50315; 

	public const int weapon_Holy = 50809;

	public const int puddle_Holy = 50909; 
	public const int funnel_Ether = 50612; 
	public const int sword_Holy = 51009; 

	public const int miasma_Ether = 50712;

	public const int funnel_Impact = 50615; 
	public const int weapon_Ether = 50812; 

	public const int puddle_Ether = 50912; 
	public const int bolt_Mind = 50304; 

	public const int sword_Ether = 51012;

public class SPELL

cs

	public const int ball_Acid = 50113;

	public const int arrow_Impact = 50515; 
	public const int funnel_Impact = 50615; 

	public const int bolt_Acid = 50313;

public class SPELL

cs

	public const int sword_Acid = 51013;

	public const int bit_Acid = 51113; 
	public const int ball_Impact = 50115; 
	public const int flare_Cut = 51214;

	public const int bit_Cut = 51114;

public class SPELL

cs

	public const int weapon_Cut = 50814;

	public const int miasma_Cut = 50714; 
	public const int funnel_Ether = 50612; 

	public const int arrow_Ether = 50512; 
	public const int miasma_Cut = 50714; 

	public const int funnel_Cut = 50614; 
	public const int arrow_Cut = 50514; 

	public const int hand_Cut = 50414;

	public const int bolt_Cut = 50314;

	public const int hand_Impact = 50415; 
	public const int arrow_Impact = 50515; 

	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 arrow_Cut = 50514; 
	public const int arrow_Ether = 50512; 

	public const int hand_Ether = 50412;

	public const int bolt_Ether = 50312;

	public const int miasma_Impact = 50715; 
	public const int weapon_Chaos = 50810;

	public const int miasma_Chaos = 50710;

	public const int puddle_Impact = 50915; 
	public const int sword_Impact = 51015;

	public const int bit_Impact = 51115;

	public const int flare_Impact = 51215;

	public const int ball_Void = 50116; 
	public const int puddle_Impact = 50915; 
	public const int puddle_Chaos = 50910; 

	public const int funnel_Chaos = 50610;

public class SPELL

cs

	public const int bolt_Chaos = 50310;

	public const int ball_Void = 50116; 
	public const int ball_Chaos = 50110;

	public const int flare_Holy = 51209;

	public const int bit_Holy = 51109;

	public const int sword_Holy = 51009; 
	public const int arrow_Chaos = 50510;

	public const int bolt_Impact = 50315; 
	public const int puddle_Holy = 50909; 

	public const int puddle_Chaos = 50910; 
	public const int sword_Chaos = 51010; 

	public const int bit_Chaos = 51110; 
	public const int flare_Chaos = 51210; 
	public const int miasma_Impact = 50715; 

	public const int ball_Ether = 50112;

public class SPELL

cs

	public const int puddle_Magic = 50911;

	public const int weapon_Magic = 50811; 
	public const int bit_Chaos = 51110; 

	public const int sword_Chaos = 51010; 
	public const int weapon_Magic = 50811; 

	public const int miasma_Magic = 50711; 
	public const int funnel_Magic = 50611; 

	public const int arrow_Magic = 50511;

public class SPELL

cs

	public const int ball_Magic = 50111;

	public const int flare_Chaos = 51210; 
	public const int funnel_Magic = 50611; 
	public const int miasma_Magic = 50711; 

	public const int weapon_Ether = 50812; 
	public const int puddle_Ether = 50912; 

	public const int SpTransmuteBroom = 8790; 
	public const int bolt_Cold = 50301; 

	public const int flare_Darkness = 51203;

	public const int SpHero = 8504; 
	public const int SpWisdom = 8503;

	public const int SpHolyShield = 8502;

public class SPELL

cs

	public const int SpHealEris = 8404;

	public const int SpHeal = 8403; 
	public const int SpHero = 8504; 
	public const int SpResEle = 8506;

	public const int SpBreath = 8507;

	public const int SpSpeedUp = 8510;

	public const int SpRebirth = 8550; 
	public const int SpTransmuteBroom = 8790; 
	public const int SpIncognito = 8780;

	public const int SpSeeInvisible = 8776;

public class SPELL

cs

	public const int SpFear = 8720;

	public const int SpSpeedDown = 8710; 
	public const int SpHeal = 8403; 

	public const int SpHealCritical = 8402; 
	public const int SpSpeedDown = 8710; 

	public const int SpGravity = 8708; 
	public const int SpBerserk = 8707; 

	public const int SpBane = 8706;

public class SPELL

cs

	public const int SpBrightnessOfLife = 8555;

	public const int SpRebirth = 8550; 
	public const int SpBerserk = 8707; 
	public const int SpGravity = 8708; 

	public const int SpTransmutePutit = 8791;

	public const int SpHealHeavy = 8401; 
	public const int SpHealCritical = 8402; 

	public const int SpWish = 8390; 
	public const int SpHealLight = 8400; 
	public const int SpTelekinesis = 8215; 

	public const int SpGate = 8202;

public class SPELL

cs

	public const int ball_ = 7001;

	public const int bit_Void = 51116; 
	public const int SpTelekinesis = 8215; 
	public const int SpReturn = 8220;

	public const int SpEvac = 8221;

	public const int SpIdentify = 8230;

	public const int SpIdentifyG = 8232; 
	public const int SpWish = 8390; 
	public const int SpMutation = 8380;

	public const int SpLevitate = 8300;

public class SPELL

cs

	public const int SpChangeMaterialLesser = 8284;

	public const int SpFaith = 8281; 
	public const int SpHealHeavy = 8401; 

	public const int SpHealLight = 8400; 
	public const int SpFaith = 8281; 

	public const int SpLighten = 8280; 
	public const int SpMagicMap = 8260; 

	public const int SpEnchantArmorGreat = 8256;

public class SPELL

cs

	public const int SpUncurse = 8240;

	public const int SpIdentifyG = 8232; 
	public const int SpMagicMap = 8260; 
	public const int SpLighten = 8280; 

	public const int ball_Mind = 50104;

public class SPELL

cs

	public const int hand_Cold = 50401;

	public const int bolt_Cold = 50301; 
	public const int ball_Cold = 50101;

	public const int flare_Fire = 51200;

public class SPELL

cs

	public const int sword_Fire = 51000;

	public const int puddle_Fire = 50900; 
	public const int bolt_Lightning = 50302;

	public const int hand_Lightning = 50402;

public class SPELL

cs

	public const int arrow_Darkness = 50503;

	public const int puddle_Fire = 50900; 
	public const int weapon_Fire = 50800; 

	public const int hand_Darkness = 50403;

public class SPELL

cs

	public const int SpDarkness = 8800;

	public const int weapon_Fire = 50800; 
	public const int miasma_Fire = 50700; 

	public const int funnel_Fire = 50600; 
	public const int arrow_Fire = 50500; 

	public const int SpSummonMachine = 9053;

public class SPELL

cs

	public const int SpMeteor = 9150;

	public const int arrow_Fire = 50500; 
	public const int hand_Fire = 50400;

	public const int bolt_Fire = 50300;

	public const int bit_Void = 51116; 
	public const int ball_Fire = 50100;

	public const int FieldFeast = 10001;

public class SPELL

cs

	public const int SpDrawBacker = 9503;

	public const int miasma_Fire = 50700; 
	public const int funnel_Fire = 50600; 

	public const int SpDrawMetal = 9502;

public class SPELL

cs

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

SpatialGen โ€‹

public static Spatial CreateRecursive(string id, Spatial parent = null)

cs
public static Spatial Create(string id, Spatial parent, bool register, int x = -99999, int y = -99999, int icon = 0)
{
	SourceZone.Row row = EClass.sources.zones.map[id];
	Spatial spatial = ClassCache.Create<Spatial>(row.type, "Elin"); 
	Spatial spatial = ClassCache.Create<Spatial>(row.type, "Elin") ?? new Zone(); 
	if (x == -99999)
	{
		x = ((row.pos.Length != 0) ? row.pos[0] : (-1000));

Trait โ€‹

public virtual LockOpenState TryPryOpenLock(Chara cc, bool msgFail = true)

cs
		OnLockOpen(cc);
		foreach (Thing item in owner.things.List((Thing a) => a.Num > 10))
		{
			item.SetNum(item.Num / 10 * 9); 
			item.SetNum(item.Num / 10 * 8); 
		}
		if (!(owner.trait is TraitChestPractice))
		{

public virtual LockOpenState TryPryOpenLock(Chara cc, bool msgFail = true)

cs

	public void DamageRandomProperty(Chara cc)
	{
		Thing thing = owner.things.List((Thing a) => true).RandomItem(); 
		Thing thing = owner.things.List((Thing a) => a.category.id == "currency" || !a.IsUnique).RandomItem(); 
		if (thing != null)
		{
			if (thing.Num > 10)