Skip to content

EA 23.273 Nightly

February 21, 2026

45 files modified. 1 new file created.

Important Changes

None.

ABILITY

``

cs

public class ABILITY
{
	public const int ActBloodsuck = 6607; 
	public const int AI_Meditate = 6003; 
	public const int AI_Steal = 6011; 
	public const int TaskHarvest = 5053; 

	public const int ActQuickCraft = 6012; 
	public const int ActPray = 6050; 

	public const int AI_PassTime = 6013; 
	public const int ActDreamBug = 6020; 

	public const int AI_SelfHarm = 6015; 
	public const int ActParasite = 6019; 

	public const int ActRide = 6018;

	public const int ActParasite = 6019; 
	public const int ActDreamBug = 6020; 
	public const int AI_SelfHarm = 6015; 

	public const int ActPray = 6050; 
	public const int AI_PassTime = 6013; 

	public const int ActEscape = 6400;

	public const int ActSuicide = 6410; 
	public const int ActQuickCraft = 6012; 

	public const int ActDuplicate = 6420; 
	public const int AI_Meditate = 6003; 

	public const int ActRush = 6450; 
	public const int AI_PlayMusic = 6001; 

	public const int ActCrabBreathe = 6500; 
	public const int ActRestrain = 5055; 

	public const int ActCurse = 6600; 
	public const int AI_Bladder = 5054; 

	public const int ActEntangle = 6601; 
	public const int ActBash = 5052; 

	public const int ActDraw = 6602; 
	public const int ActZap = 5051; 

	public const int ActCatHuffing = 6627; 
	public const int AI_Steal = 6011; 

	public const int ActGazeMana = 6623; 
	public const int ActSuicide = 6410; 

	public const int ActGazeMutation = 6622; 
	public const int ActDuplicate = 6420; 
	public const int ActRush = 6450; 

	public const int ActGazeInsane = 6621;

public class ABILITY

cs

	public const int ActTouchDrown = 6613;

	public const int AI_PlayMusic = 6001; 
	public const int ActTouchSleep = 6612;

	public const int ActFear = 6611; 
	public const int ActWeaken = 6610;

	public const int ActSlime = 6608;

public class ABILITY

cs

	public const int ActNTR = 6603;

	public const int ActFear = 6611; 
	public const int ActInsult = 6630; 
	public const int ActDraw = 6602; 

	public const int ActRestrain = 5055; 
	public const int ActEntangle = 6601; 

	public const int TaskHarvest = 5053; 
	public const int ActCurse = 6600; 

	public const int AI_Eat = 5024; 
	public const int ActCrabBreathe = 6500; 

	public const int TaskGoOut = 5023; 
	public const int AI_Sleep = 5050; 

	public const int TaskSleepOnBed = 5022; 
	public const int AI_OpenLock = 5049; 

	public const int AI_Grab = 5025; 
	public const int ActItem = 5048; 

	public const int AI_Haul = 5026; 
	public const int ActPick = 5047; 

	public const int GoalSleep = 5027;

	public const int ActReleaseHeld = 5028; 
	public const int AI_Haul = 5026; 

	public const int AI_Offer = 5029; 
	public const int AI_Grab = 5025; 

	public const int AI_ReleaseHeld = 5030; 
	public const int ActWait = 5000; 

	public const int AI_Deconstruct = 5031; 
	public const int ActMelee = 5001; 

	public const int AI_Equip = 5032; 
	public const int Melee = 5002; 

	public const int ActCancelTask = 5033; 
	public const int Ranged = 5003; 

	public const int GoalIdle = 5034; 
	public const int Sleep = 5004; 

	public const int TaskBuild = 5035; 
	public const int Wait = 5005; 

	public const int TaskMoveInstalled = 5036; 
	public const int Shoot = 5006; 

	public const int ActNoItem = 5037; 
	public const int Use = 5007; 

	public const int ActThrow = 5038; 
	public const int General = 5008; 

	public const int ActBash = 5052; 
	public const int TaskMine = 5009; 

	public const int ActZap = 5051; 
	public const int TaskDig = 5010; 

	public const int AI_Sleep = 5050; 
	public const int TaskCut = 5011; 

	public const int AI_OpenLock = 5049; 
	public const int ActReleaseHeld = 5028; 

	public const int ActItem = 5048; 
	public const int ActGazeMutation = 6622; 

	public const int ActPick = 5047; 
	public const int AI_Offer = 5029; 

	public const int AI_Bladder = 5054; 
	public const int AI_Deconstruct = 5031; 

	public const int ActInstall = 5046;

	public const int AI_Drink = 5045; 
	public const int ActChat = 5044;

	public const int AI_TendAnimal = 5043;

public class ABILITY

cs

	public const int AI_Fish = 5039;

	public const int AI_Drink = 5045; 
	public const int ActThrow = 5038; 

	public const int ActScream = 6631; 
	public const int ActNoItem = 5037; 

	public const int ActDrainBlood = 6626; 
	public const int TaskMoveInstalled = 5036; 

	public const int ActStealFood = 6641; 
	public const int TaskBuild = 5035; 

	public const int TaskPick = 5018; 
	public const int GoalIdle = 5034; 

	public const int TaskReadBoard = 5019; 
	public const int ActCancelTask = 5033; 

	public const int TaskFarm = 5020; 
	public const int AI_Equip = 5032; 

	public const int breathe_Void = 50216; 
	public const int AI_ReleaseHeld = 5030; 

	public const int breathe_Impact = 50215; 
	public const int ActGazeMana = 6623; 

	public const int breathe_Cut = 50214; 
	public const int ActBloodsuck = 6607; 

	public const int TaskTalk = 5017; 
	public const int ActCatHuffing = 6627; 

	public const int breathe_Acid = 50213; 
	public const int breathe_Fire = 50200; 

	public const int breathe_Magic = 50211; 
	public const int breathe_Cold = 50201; 

	public const int breathe_Chaos = 50210; 
	public const int breathe_Lightning = 50202; 

	public const int breathe_Holy = 50209; 
	public const int breathe_Darkness = 50203; 

	public const int breathe_Nerve = 50208; 
	public const int breathe_Mind = 50204; 
	public const int breathe_Poison = 50205; 
	public const int breathe_Nether = 50206; 

	public const int breathe_Sound = 50207;

	public const int ActSteal = 6640; 
	public const int breathe_Nerve = 50208; 

	public const int breathe_Ether = 50212; 
	public const int breathe_Holy = 50209; 

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

	public const int TaskTame = 5016; 
	public const int breathe_Magic = 50211; 

	public const int TaskPlow = 5014; 
	public const int breathe_Ether = 50212; 

	public const int ActWait = 5000; 
	public const int breathe_Acid = 50213; 

	public const int ActMelee = 5001; 
	public const int SpTransmuteShadow = 8795; 

	public const int Melee = 5002; 
	public const int breathe_Cut = 50214; 

	public const int Ranged = 5003; 
	public const int breathe_Void = 50216; 

	public const int Sleep = 5004; 
	public const int AI_Goto = 5012; 

	public const int Wait = 5005; 
	public const int ActAttack = 5013; 
	public const int TaskPlow = 5014; 

	public const int TaskAttack = 5015;

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

	public const int General = 5008; 
	public const int TaskTalk = 5017; 

	public const int TaskMine = 5009; 
	public const int TaskPick = 5018; 

	public const int TaskDig = 5010; 
	public const int TaskReadBoard = 5019; 

	public const int TaskCut = 5011; 
	public const int TaskFarm = 5020; 

	public const int AI_Goto = 5012; 
	public const int TaskTrain = 5021; 

	public const int ActAttack = 5013; 
	public const int TaskSleepOnBed = 5022; 

	public const int Use = 5007; 
	public const int TaskGoOut = 5023; 

	public const int breathe_Mind = 50204; 
	public const int AI_Eat = 5024; 

	public const int breathe_Nether = 50206; 
	public const int breathe_Impact = 50215; 

	public const int breathe_Lightning = 50202; 
	public const int SpTransmuteMimic = 8794; 
	public const int breathe_Chaos = 50210; 
	public const int SpTransmuteBat = 8793; 
	public const int ActScream = 6631; 
	public const int ActSteal = 6640; 
	public const int ActStealFood = 6641; 

	public const int ActStealMoney = 6642;

public class ABILITY

cs

	public const int ActSwarm = 6662;

	public const int TaskTrain = 5021; 
	public const int ActMultiHit = 6663; 
	public const int ActInsult = 6630; 

	public const int ActBladeStorm = 6664;

public class ABILITY

cs

	public const int ActMissileBarrage = 6667;

	public const int breathe_Darkness = 50203; 
	public const int ActSummonSpecial = 6800; 

	public const int ActWombDark = 6801; 
	public const int ActMultiHit = 6663; 

	public const int ActDeathSentense = 6802;

	public const int StTaunt = 6700;

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

	public const int SongSleep = 6750;

	public const int breathe_Cold = 50201; 
	public const int breathe_Fire = 50200; 
	public const int SpTransmuteShadow = 8795; 
	public const int SpTransmuteMimic = 8794; 
	public const int StManaCost = 6720; 
	public const int SongTulip = 6751; 

	public const int breathe_ = 7000;

	public const int ActHeadpat = 6904;

	public const int SpTransmuteBat = 8793; 
	public const int ActKizuamiTrick = 6903; 

	public const int ActLulwyTrick = 6902;

public class ABILITY

cs

	public const int ActManaAbsorb = 6900;

	public const int SongEnd = 6753; 
	public const int ActWombDark = 6801; 

	public const int SongValor = 6752;

	public const int SongTulip = 6751; 
	public const int ActKizuamiTrick = 6903; 
	public const int SongEnd = 6753; 

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

AI_Idle

public override IEnumerable<Status> Run()

cs
					});
				}
			}
			if (EClass.rnd(100) == 0 && !EClass._zone.IsRegion && owner.HasElement(1227)) 
			if (!EClass._zone.IsRegion) 
			{
				List<Chara> list2 = new List<Chara>(); 
				foreach (Chara member in EClass.pc.party.members) 
				if (EClass.rnd(100) == 0 && owner.HasElement(1227)) 
				{
					if (member.Evalue(1227) > 0) 
					List<Chara> list2 = new List<Chara>(); 
					foreach (Chara member in EClass.pc.party.members) 
					{
						list2.Add(member); 
						if (member.Evalue(1227) > 0) 
						{ 
							list2.Add(member); 
						} 
					} 
					if (list2.Count > 2 + EClass.pc.party.EvalueTotal(1272, (Chara c) => c.IsPC || c.faith == EClass.game.religions.Harmony)) 
					{ 
						list2.Remove(owner); 
						owner.SetEnemy(list2.RandomItem()); 
						yield return Success(); 
					}
				}
				if (list2.Count > 2 + EClass.pc.party.EvalueTotal(1272, (Chara c) => c.IsPC || c.faith == EClass.game.religions.Harmony)) 
				if (EClass.rnd(20) == 0 && owner.IsMarried) 
				{
					list2.Remove(owner); 
					owner.SetEnemy(list2.RandomItem()); 
					yield return Success(); 
					List<Chara> list3 = new List<Chara>(); 
					foreach (Chara member2 in EClass.pc.party.members) 
					{ 
						if (member2 != owner && member2.IsMarried) 
						{ 
							list3.Add(member2); 
						} 
					} 
					if (list3.Count > EClass.pc.Evalue(1276)) 
					{ 
						owner.SetEnemy(list3.RandomItem()); 
						yield return Success(); 
					} 
				}
			}
			if (EClass.rnd(150) == 0 && owner.host != null && owner.host.parasite == owner && owner.GetInt(108) == 1)

public override IEnumerable<Status> Run()

cs
				bool flag = EClass._zone.IsTown;
				if (EClass._zone.IsPCFaction)
				{
					foreach (Chara member2 in EClass._zone.branch.members) 
					foreach (Chara member3 in EClass._zone.branch.members) 
					{
						if (member2.ExistsOnMap && member2.trait is TraitTrainer) 
						if (member3.ExistsOnMap && member3.trait is TraitTrainer) 
						{
							flag = true;
						}

public override IEnumerable<Status> Run()

cs
			{
				break;
			}
			List<Thing> list3 = owner.things.List((Thing a) => a.parent == owner && (a.category.id == "spellbook" || a.category.id == "ancientbook" || a.category.id == "skillbook"), onlyAccessible: true); 
			List<Thing> list4 = owner.things.List((Thing a) => a.parent == owner && (a.category.id == "spellbook" || a.category.id == "ancientbook" || a.category.id == "skillbook"), onlyAccessible: true); 
			Thing thing7 = null;
			if (list3.Count > 0) 
			if (list4.Count > 0) 
			{
				thing7 = list3.RandomItem(); 
				thing7 = list4.RandomItem(); 
				if (!thing7.trait.CanRead(owner))
				{
					thing7 = null;

ActEffect

public static bool Wish(string s, string name, int power, BlessedState state)

cs
{
	Msg.thirdPerson1.Set(EClass.pc);
	string netMsg = GameLang.Parse("wish".langGame(), thirdPerson: true, name, s);
	bool net = EClass.core.config.net.enable && EClass.core.config.net.sendEvent; 
	List<WishItem> list = new List<WishItem>();
	int wishLv = 10 + power / 4;
	int wishValue = 5000 + power * 50;

public static bool Wish(string s, string name, int power, BlessedState state)

cs
					EClass._zone.AddCard(thing, EClass.pc.pos);
				}
				netMsg = netMsg + Lang.space + GameLang.Parse("wishNet".langGame(), Msg.IsThirdPerson(thing), Msg.GetName(thing).ToTitleCase());
				if (net) 
				{ 
					Net.SendChat(name, netMsg, ChatCategory.Wish, Lang.langCode); 
				} 
				Net.SendChat(name, netMsg, ChatCategory.Wish, Lang.langCode); 
				Msg.Say("dropReward");
			}
		});

public static bool Wish(string s, string name, int power, BlessedState state)

cs
	if (list.Count == 0)
	{
		netMsg = netMsg + Lang.space + "wishFail".langGame();
		if (net) 
		{ 
			Net.SendChat(name, netMsg, ChatCategory.Wish, Lang.langCode); 
		} 
		Net.SendChat(name, netMsg, ChatCategory.Wish, Lang.langCode); 
		Msg.Say("wishFail");
		return false;
	}

ActorEx

public void SetOwner(Card c)

cs

	public float GetVolume()
	{
		if (!EMono._zone.isStarted || !owner.IsInstalled) 
		if (!EMono._zone.isStarted || !owner.IsInstalled || ((bool)LayerDrama.Instance && !LayerDrama.Instance.drama.keepAmbientBGM)) 
		{
			return 0f;
		}

CINT

public class CINT

cs
	public const int fixedValue = 131;

	public const int isAlreadyCaptured = 132;
	public const int uidAttune = 133; 
}

COBJ

public class COBJ

cs
	public const int mixedFoodData = 18;

	public const int bloodData = 19;
	public const int loveData = 20; 
}

Card

public int c_fixedValue

cs
		}
	}

	public int c_uidAttune 
	{ 
		get 
		{ 
			return GetInt(133); 
		} 
		set 
		{ 
			Mod(); 
			SetInt(133, value); 
		} 
	} 
	public int c_dyeMat
	{
		get

public CharaUpgrade c_upgrades

cs
		}
	}

	public LoveData c_love 
	{ 
		get 
		{ 
			return GetObj<LoveData>(20); 
		} 
		set 
		{ 
			SetObj(20, value); 
		} 
	} 
	public CharaGenes c_genes
	{
		get

public CardRow refCard2

cs
		}
	}

	public int ExpToNext => (50 + LV * 30) * (100 - Evalue(403)) / 100; 
	public int ExpToNext => (int)Math.Min((50 + (long)LV * 30L) * (100 - Evalue(403)) / 100, 99999999L); 

	public int DefaultLV => sourceCard.LV;

public int GetExpMtp()

cs
				}
			}
		}
		return num * (100 + Evalue(1237) * 30 + Evalue(1273) * 50) / 100; 
		return num * (100 + Evalue(1237) * 30 + Evalue(1273) * 50 + Evalue(1275) * 50) / 100; 
	}

	public int GetAffinityExpBonus()

Chara

public bool IsLevitating

cs
		}
	}

	public bool IsMarried 
	{ 
		get 
		{ 
			if (base.c_love != null) 
			{ 
				return base.c_love.dateMarriage != 0; 
			} 
			return false; 
		} 
	} 
	public override bool IsMoving => idleTimer > 0f;

	public override bool IsGlobal => global != null;

public override void Die(Element e = null, Card origin = null, AttackSource atta

cs
	bool isInActiveZone = IsInActiveZone;
	if (isInActiveZone)
	{
		if (id == "putty" && origin != null && origin.IsPCParty) 
		{ 
			Steam.GetAchievement(ID_Achievement.PUTIT); 
		} 
		if (IsPC)
		{
			EClass._zone.ResetHostility();

public bool ShouldEquip(Thing t, bool useFav = false)

cs
			return false;
		}
	}
	if (t.HasTag(CTAG.gift)) 
	if (t.HasTag(CTAG.gift) && t.c_uidAttune != base.uid) 
	{
		return false;
	}

public SourceCategory.Row GetFavCat()

cs
		return r;
	}

	public void Marry(Chara c) 
	{ 
		if (base.c_love == null) 
		{ 
			base.c_love = new LoveData(); 
		} 
		base.c_love.dateMarriage = EClass.world.date.GetRaw(); 
		base.c_love.uidZoneMarriage = EClass._zone.uid; 
		base.c_love.nameZoneMarriage = EClass._zone.Name; 
		SetFeat(1275, 1, msg: true); 
		EClass.player.stats.married++; 
	} 
	public void Divorce(Chara c) 
	{ 
		if (base.c_love != null) 
		{ 
			base.c_love.dateMarriage = 0; 
			SetFeat(1275, 0, msg: true); 
			EClass.player.stats.divorced++; 
		} 
	} 
	public Chara GetNearbyCatToSniff()
	{
		using (List<Chara>.Enumerator enumerator = pos.ListCharasInRadius(this, 3, (Chara c) => c != this && c.race.id == "cat").GetEnumerator())

CharaBody

public bool IsEquippable(Thing thing, BodySlot slot, bool text = true)

cs
	{
		return CannotEquip();
	}
	if (thing.c_uidAttune != 0 && thing.c_uidAttune != owner.uid) 
	{ 
		if (text) 
		{ 
			Msg.Say("unequipCursed", thing); 
		} 
		return false; 
	} 
	if (IsTooHeavyToEquip(thing))
	{
		if (EClass.core.IsGameStarted && owner.IsPC && text)

ConDeathSentense

public override void Tick()

cs
		{
			owner.DamageHP(owner.MaxHP / (EClass.debug.enable ? 1 : 13) + 1, AttackSource.DeathSentence);
		}
		else if (owner.HasCondition<ConRebirth>()) 
		{ 
			owner.RemoveCondition<ConRebirth>(); 
		} 
		else
		{
			owner.Die(null, null, euthanasia ? AttackSource.Euthanasia : AttackSource.DeathSentence);

ConSleep

public override void OnRemoved()

cs
		{
			member.SAN.Mod(-15);
		}
		if (member.HasElement(1275) && !member.HasCondition<ConRebirth>()) 
		{ 
			member.AddCondition<ConRebirth>(); 
		} 
	}
	if (EClass.player.karma < 80 && EClass.pc.HasElement(1270))
	{

CoreDebug

public static string ChangeRace(string id = "?")

cs
		return text;
	}

	[ConsoleCommand("")] 
	public static string ResetAllAchievement() 
	{ 
		Steam.ResetAllAchievement(); 
		return "Done."; 
	} 
	[ConsoleCommand("")] 
	public static string ResetAchievement(ID_Achievement id) 
	{ 
		Steam.ResetAchievement(id); 
		return "Done."; 
	} 
	[ConsoleCommand("")]
	public static string ChangeJob(string id = "?")
	{

DOMAIN

``

cs

public class DOMAIN
{
	public const int domTest = 800; 
	public const int domOblivion = 813; 

	public const int domElement = 806; 
	public const int domEarth = 812; 

	public const int domSurvival = 801; 
	public const int domLuck = 810; 

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

	public const int domMiracle = 803; 
	public const int domHarvest = 808; 

	public const int domArcane = 804; 
	public const int domWind = 807; 

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

	public const int domWind = 807; 
	public const int domComm = 805; 

	public const int domEarth = 812; 
	public const int domArcane = 804; 

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

	public const int domLuck = 810; 
	public const int domFaith = 802; 

	public const int domHealing = 811;

	public const int domOblivion = 813; 
	public const int domEyth = 814;

	public const int domHarmony = 815; 
	public const int domTest = 800; 

	public const int domHarvest = 808; 
	public const int domSurvival = 801; 
	public const int domHarmony = 815; 

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

Date

public PeriodOfDay periodOfDay

cs
		}
	}

	public string NameMonth => month.ToString() ?? ""; 
	public string NameMonth => Lang.GetList("name_month")[month - 1]; 
	public string NameSeason => Lang.GetList("name_season")[(int)EClass.world.season.Current]; 

	public string NameMonthShort => month.ToString() ?? "";

public string GetText(TextFormat format)

cs
	case TextFormat.Widget:
		return "dateYearMonthDay".lang(year.ToString() ?? "", month.ToString() ?? "", day.ToString() ?? "");
	case TextFormat.Schedule:
		return "dateSchedule".lang(NameMonth, day.ToString() ?? ""); 
		return "dateSchedule".lang(NameMonthShort, day.ToString() ?? ""); 
	case TextFormat.Travel:
	{
		string text = "_short";

DialogDrama

public class DialogDrama : EMono

cs

	public Glitch glitch;

	public Image imageBgAdv; 
	private bool warned;

	private void Awake()

DramaActor

public string ConvertAdv(string text)

cs
	if (currentReligion != null)
	{
		stringBuilder.Replace("#god_name", currentReligion.Name);
		stringBuilder.Replace("#god_desc", currentReligion.source.GetDetail()); 
		stringBuilder.Replace("#god_desc", "<i>" + currentReligion.source.GetDetail() + "</i>"); 
		stringBuilder.Replace("#god_benefit", currentReligion.GetTextBenefit());
		stringBuilder.Replace("#godtalk_worship", currentReligion.GetGodTalk("worship"));
	}

DramaCustomSequence

public void Build(Chara c)

cs
		QuestDeliver questDeliver = _quest as QuestDeliver;
		foreach (Thing item2 in questDeliver.ListDestThing())
		{
			Thing _t4 = item2; 
			Choice2("daDeliver".lang(item.GetTitle() ?? "", _t4.GetName(NameStyle.Full, questDeliver.num)), "_deliver").SetOnClick(delegate
			Thing _t5 = item2; 
			Choice2("daDeliver".lang(item.GetTitle() ?? "", _t5.GetName(NameStyle.Full, questDeliver.num)), "_deliver").SetOnClick(delegate
			{
				destThing = _t4; 
				destThing = _t5; 
				destQuest = _quest;
			}).SetOnTooltip(delegate(UITooltip a)
			{
				_t4.WriteNote(a.note); 
				_t5.WriteNote(a.note); 
			});
		}
	}

public void Build(Chara c)

cs
			{
				Choice2("daBout", "_bout");
			}
			if (c.isDrunk || EClass.debug.enable) 
			if (c.isDrunk || c.HasElement(1275) || EClass.debug.enable) 
			{
				Choice2(flag2 ? "daBird" : "daTail", "_tail");
			}

public void Build(Chara c)

cs
				}
				foreach (Thing item4 in EClass.pc.things.List((Thing a) => a.c_lockLv > 0, onlyAccessible: true))
				{
					Thing _t3 = item4; 
					Choice2("daPicklock".lang(_t3.Name), "_picklock").SetOnClick(delegate
					Thing _t4 = item4; 
					Choice2("daPicklock".lang(_t4.Name), "_picklock").SetOnClick(delegate
					{
						destThing = _t3; 
						destThing = _t4; 
					});
				}
			}

public void Build(Chara c)

cs
	{
		Choice("disableMove", "_disableMove");
	}
	if (!c.IsMarried) 
	{ 
		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"))) 
		{ 
			Thing _t3 = item5; 
			Choice("daMarry".lang(item5.Name), "_marry").SetOnClick(delegate
			{ 
				destThing = _t3; 
			}); 
		} 
	} 
	Choice((c.GetInt(123) == 0) ? "daSleepBeside" : "daSleepBeside2", "_sleepBeside");
	if (c.HasElement(1225))
	{

public void Build(Chara c)

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

public void Build(Chara c)

cs
	});
	_Talk("tg", GetTopic(c, (c.GetInt(123) == 0) ? "ok" : "shutup"));
	End();
	Step("_marry"); 
	Method(delegate
	{ 
		if (!c.affinity.CanMarry()) 
		{ 
			TempTalkTopic("refuse", StepEnd); 
		} 
	}); 
	_Talk("tg", GetTopic(c, "marry")); 
	Method(delegate
	{ 
		manager.layer.SetOnKill(delegate
		{ 
			destThing.Attune(c); 
			destThing.elements.ModBase(484, 3); 
			c.AddCard(destThing); 
			c.TryEquip(destThing); 
			GameLang.refDrama1 = EClass.world.date.year.ToString() ?? ""; 
			GameLang.refDrama2 = EClass.world.date.NameMonth ?? ""; 
			GameLang.refDrama3 = EClass._zone.Name; 
			GameLang.refDrama4 = EClass.pc.NameBraced; 
			GameLang.refDrama5 = c.NameBraced; 
			LayerDrama.Activate("_adv", "general", "marry", c); 
			Net.SendChat(EClass.pc.NameTitled, "net_marriage".lang(EClass.pc.NameBraced, EClass._zone.Name, c.NameBraced), ChatCategory.Marriage, Lang.langCode); 
		}); 
	}); 
	End(); 
	Step("_disableLoyal");
	Method(delegate
	{

public void Build(Chara c)

cs
				TempTalkTopic("inviteReq1", null);
				foreach (Thing t2 in EClass.pc.things.List((Thing t) => t.id == reqId && t.Num >= reqNum, onlyAccessible: true))
				{
					Thing _t5 = t2; 
					Choice("daDeliver".lang("", _t5.GetName(NameStyle.Full, _t5.Num)), delegate
					Thing _t6 = t2; 
					Choice("daDeliver".lang("", _t6.GetName(NameStyle.Full, _t6.Num)), delegate
					{
						t2.ModNum(-reqNum);
						TempTalk("hired", StepEnd);

public void Build(Chara c)

cs
						c.MakeAlly();
					}).SetOnTooltip(delegate(UITooltip a)
					{
						_t5.WriteNote(a.note); 
						_t6.WriteNote(a.note); 
					});
				}
				Choice("no2", StepDefault, cancel: true).SetOnClick(RumorChill);

public void Build(Chara c)

cs
	Method(delegate
	{
		TempTalkTopic("blooming1", null);
		foreach (Chara item6 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 = item6; 
			Chara c4 = item7; 
			Choice("daBloom".lang(c4.Name), delegate
			{
				if (EClass._zone.influence < 10)

public void Build(Chara c)

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

void Invest(bool quick)

cs
				},
				onList = delegate
				{
					foreach (SourceElement.Row item8 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(item8.id)); 
						list.Add(Element.Create(item9.id)); 
					}
				}
			};

void Invest(bool quick)

cs
				{
					SE.Pay();
					EClass.pc.ModCurrency(-costIdentify);
					foreach (Thing item9 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)) 
					{
						item9.Thing.Identify(show: false); 
						if (!item9.IsInstalled) 
						item10.Thing.Identify(show: false); 
						if (!item10.IsInstalled) 
						{
							numSuperior++;
						}

DramaManager

public class DramaManager : EMono

cs

	public static Dictionary<string, ExcelData> dictCache = new Dictionary<string, ExcelData>();

	public bool keepAmbientBGM => !bgmChanged; 
	public DramaActor tgActor => sequence.GetActor("tg");

	private void Update()

public void ParseLine(Dictionary<string, string> item)

cs
			Util.Instantiate<Transform>("Media/Graphics/Image/Drama/" + p2, layer).SetAsFirstSibling();
		});
		break;
	case "setAdvBG":
		AddEvent(delegate
		{ 
			if (p2.IsEmpty()) 
			{ 
				dialog.imageBgAdv.enabled = false; 
			} 
			else
			{ 
				dialog.imageBgAdv.enabled = true; 
				dialog.imageBgAdv.sprite = Resources.Load<Sprite>("Media/Graphics/Image/Drama/" + p2); 
			} 
		}); 
		break; 
	case "glitch":
		AddEvent(delegate
		{

DramaOutcome

public void poppy_found()

cs
		cc.RemoveEditorTag(EditorTag.Invulnerable);
	}

	public void marry() 
	{ 
		Chara tc = manager.tg.chara; 
		SE.Play("dropRewardXmas"); 
		tc.Marry(EMono.pc); 
		EMono.pc.ShowEmo(Emo.love); 
		EMono.pc.PlayEffect("revive"); 
		tc.ShowEmo(Emo.love); 
		tc.PlayEffect("revive"); 
		EMono.pc.pos.TalkWitnesses(EMono.pc, (EMono.rnd(2) == 0) ? "musicGood" : "ding_other", 8, WitnessType.everyone, (Chara c) => c != tc); 
		foreach (Chara chara in EMono._map.charas) 
		{ 
			if (chara != EMono.pc && chara != tc && chara.IsMarried) 
			{ 
				Chara enemy = ((EMono.rnd(2) == 0) ? tc : EMono.pc); 
				chara.Say("angry", chara); 
				chara.SetEnemy(enemy); 
				chara.calmCheckTurn = 10000; 
			} 
		} 
	} 
	public void give_catball_recipe()
	{
		EMono.player.DropReward(ThingGen.CreateRecipe("silvercatball"));

ELEMENT

``

cs

public class ELEMENT
{
	public const int cute = 752; 
	public const int difficulty = 765; 

	public const int antidote = 753; 
	public const int air = 763; 

	public const int nerve = 754; 
	public const int roasted = 762; 

	public const int blood = 755; 
	public const int recharge = 761; 

	public const int hotspring = 756; 
	public const int comfort = 750; 

	public const int roasted = 762; 
	public const int rare = 751; 

	public const int stimulant = 760; 
	public const int cute = 752; 

	public const int recharge = 761; 
	public const int antidote = 753; 

	public const int air = 763; 
	public const int nerve = 754; 

	public const int difficulty = 765; 
	public const int blood = 755; 

	public const int rare = 751; 
	public const int hotspring = 756; 

	public const int purity = 759;

	public const int comfort = 750; 
	public const int stimulant = 760; 

	public const int _void = 0;

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

	public const int race = 29; 
	public const int lv = 1; 

	public const int cure = 26; 
	public const int quality = 2; 

	public const int old_heal = 24; 
	public const int socket = 5; 

	public const int old_detox = 23; 
	public const int nutrition = 10; 

	public const int cut = 22; 
	public const int weight = 11; 

	public const int fire = 21; 
	public const int size = 12; 

	public const int taste = 18; 
	public const int hardness = 13; 

	public const int decay = 17; 
	public const int growth = 14; 

	public const int heat = 16;

	public const int poison = 20; 
	public const int growth = 14; 
	public const int decay = 17; 

	public const int lv = 1; 
	public const int taste = 18; 

	public const int water = 15;

	public const int d = 3; 
	public const int fire = 21; 

	public const int socket = 5; 
	public const int cut = 22; 

	public const int quality = 2; 
	public const int old_detox = 23; 

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

	public const int size = 12; 
	public const int old_antidote = 25; 

	public const int hardness = 13; 
	public const int cure = 26; 

	public const int nutrition = 10; 
	public const int race = 29; 
	public const int piety = 85; 
	public const int poison = 20; 

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

ENC

public class ENC

cs
public class ENC
{
	public const int negateParalysis = 422; 
	public const int seeInvisible = 416; 
	public const int noDamage = 654; 

	public const int invisibility = 415; 
	public const int living = 653; 

	public const int loving = 417; 
	public const int eco = 652; 

	public const int innocence = 418; 
	public const int r_PV = 651; 

	public const int encTail = 419; 
	public const int r_DV = 650; 

	public const int negatePoison = 420; 
	public const int r_life = 640; 

	public const int negateBlind = 421; 
	public const int mod_cleave = 622; 

	public const int negateFear = 423; 
	public const int mod_feint = 623; 

	public const int breathing = 429; 
	public const int mod_frustration = 624; 

	public const int negateConfusion = 425; 
	public const int onlyPet = 655; 

	public const int negateSteal = 426; 
	public const int r_mana = 641; 

	public const int negateNeckHunt = 427; 
	public const int permaCurse = 656; 

	public const int encRagnarok = 667; 
	public const int convertCold = 851; 

	public const int meleeDistance = 666; 
	public const int absorbMP = 661; 

	public const int planter = 665; 
	public const int absorbSP = 662; 

	public const int encHit = 414; 
	public const int eheluck = 663; 

	public const int boostMachine = 664;

	public const int negateSleep = 424; 
	public const int slowCorruption = 412; 
	public const int negateTeleport = 400; 
	public const int planter = 665; 

	public const int throwReturn = 410; 
	public const int meleeDistance = 666; 

	public const int allNeckHunt = 428; 
	public const int encRagnarok = 667; 

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

	public const int rusher = 382; 
	public const int mod_flurry = 621; 

	public const int convertImpact = 865;

	public const int convertLightning = 852;

	public const int convertCold = 851; 
	public const int absorbHP = 660; 

	public const int convertFire = 850; 
	public const int mod_chaser = 620; 

	public const int redirect_blaser = 383; 
	public const int guts = 436; 

	public const int encSpell = 411; 
	public const int mod_splash = 608; 

	public const int eheluck = 663; 
	public const int innocence = 418; 

	public const int searchRange = 402; 
	public const int encTail = 419; 

	public const int expMod = 403; 
	public const int negatePoison = 420; 

	public const int weightMod = 404; 
	public const int negateBlind = 421; 

	public const int slowDecay = 405; 
	public const int negateParalysis = 422; 

	public const int resMutation = 406; 
	public const int negateFear = 423; 

	public const int travelSpeed = 407; 
	public const int negateSleep = 424; 

	public const int resWeather = 408; 
	public const int loving = 417; 

	public const int corruption = 409; 
	public const int negateConfusion = 425; 

	public const int levitation = 401; 
	public const int negateNeckHunt = 427; 

	public const int absorbSP = 662; 
	public const int allNeckHunt = 428; 

	public const int basher = 381; 
	public const int breathing = 429; 

	public const int absorbHP = 660; 
	public const int negateShockwave = 430; 

	public const int bane_animal = 463; 
	public const int negateSunburn = 431; 

	public const int bane_man = 464; 
	public const int sanctified = 432; 

	public const int bane_machine = 465; 
	public const int defense_range = 435; 

	public const int bane_god = 466; 
	public const int negateSteal = 426; 

	public const int bane_fish = 467; 
	public const int seeInvisible = 416; 

	public const int bane_all = 468; 
	public const int invisibility = 415; 

	public const int strongStomach = 480; 
	public const int encHit = 414; 

	public const int revealFaith = 481; 
	public const int counter = 380; 

	public const int force_weapon = 482; 
	public const int basher = 381; 

	public const int optimizeMana = 483; 
	public const int rusher = 382; 

	public const int slot_rune = 484; 
	public const int redirect_blaser = 383; 

	public const int nonLethal = 485; 
	public const int negateTeleport = 400; 

	public const int creativeChef = 487; 
	public const int levitation = 401; 

	public const int deathagony = 488; 
	public const int searchRange = 402; 

	public const int music_drunk = 489; 
	public const int expMod = 403; 

	public const int bane_fairy = 462; 
	public const int weightMod = 404; 

	public const int bane_undead = 461; 
	public const int slowDecay = 405; 

	public const int bane_dragon = 460; 
	public const int resMutation = 406; 

	public const int sustain_figure = 450; 
	public const int travelSpeed = 407; 

	public const int absorbMP = 661; 
	public const int resWeather = 408; 

	public const int negateSunburn = 431; 
	public const int corruption = 409; 

	public const int sanctified = 432; 
	public const int mod_talisman = 609; 

	public const int defense_range = 435; 
	public const int encSpell = 411; 

	public const int guts = 436; 
	public const int slowCorruption = 412; 

	public const int parry = 437;

	public const int knightly = 438;

	public const int farsee = 490; 
	public const int throwReturn = 410; 

	public const int negateParry = 439; 
	public const int sustain_STR = 440; 

	public const int sustain_END = 441; 
	public const int optimizeMana = 483; 

	public const int sustain_DEX = 442; 
	public const int slot_rune = 484; 

	public const int sustain_PER = 443; 
	public const int nonLethal = 485; 

	public const int sustain_LER = 444; 
	public const int safetyMeasure = 486; 

	public const int sustain_WIL = 445; 
	public const int creativeChef = 487; 

	public const int sustain_MAG = 446; 
	public const int deathagony = 488; 

	public const int sustain_CHA = 447; 
	public const int music_drunk = 489; 

	public const int sustain_STR = 440; 
	public const int farsee = 490; 

	public const int negateGravity = 491;

	public const int safetyMeasure = 486; 
	public const int mod_reload = 601;

	public const int living = 653; 
	public const int mod_rapid = 602; 

	public const int noDamage = 654; 
	public const int mod_ammo_knockback = 603; 

	public const int onlyPet = 655; 
	public const int mod_ammo_recover = 604; 

	public const int mod_ammo = 600; 
	public const int mod_precision = 605; 

	public const int r_PV = 651; 
	public const int mod_drill = 606; 

	public const int r_DV = 650; 
	public const int mod_scatter = 607; 

	public const int r_mana = 641; 
	public const int negateParry = 439; 

	public const int r_life = 640; 
	public const int force_weapon = 482; 

	public const int mod_frustration = 624; 
	public const int revealFaith = 481; 

	public const int mod_feint = 623; 
	public const int mod_ammo = 600; 

	public const int mod_cleave = 622; 
	public const int bane_all = 468; 

	public const int eco = 652; 
	public const int strongStomach = 480; 

	public const int negateShockwave = 430; 
	public const int sustain_END = 441; 

	public const int mod_rapid = 602; 
	public const int sustain_DEX = 442; 

	public const int mod_chaser = 620; 
	public const int sustain_PER = 443; 

	public const int mod_talisman = 609; 
	public const int sustain_WIL = 445; 

	public const int mod_splash = 608; 
	public const int sustain_MAG = 446; 

	public const int mod_scatter = 607; 
	public const int sustain_CHA = 447; 

	public const int mod_ammo_knockback = 603; 
	public const int sustain_figure = 450; 

	public const int mod_drill = 606; 
	public const int sustain_LER = 444; 

	public const int permaCurse = 656; 
	public const int bane_undead = 461; 

	public const int mod_flurry = 621; 
	public const int bane_fairy = 462; 

	public const int mod_ammo_recover = 604; 
	public const int bane_animal = 463; 

	public const int mod_precision = 605; 
	public const int bane_man = 464; 
	public const int bane_machine = 465; 
	public const int bane_god = 466; 
	public const int bane_dragon = 460; 
	public const int bane_fish = 467; 

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

FACTION

``

cs

public class FACTION
{
	public const int bfLandmark2 = 3781; 
	public const int bfRuin = 3702; 

	public const int bfSilica = 3802; 
	public const int bfForest = 3601; 

	public const int bfBreed = 3710; 
	public const int bfSnow = 3602; 

	public const int bfCoal = 3800; 
	public const int bfHill = 3603; 

	public const int bfLandmark5 = 3784; 
	public const int bfBeach = 3604; 

	public const int bfLandmark1 = 3780; 
	public const int bfFertile = 3700; 

	public const int bfLandmark3 = 3782; 
	public const int bfUndersea = 3606; 

	public const int bfMushroom = 3801; 
	public const int bfGeyser = 3701; 

	public const int bfLandmark4 = 3783; 
	public const int bfPlain = 3600; 

	public const int fElec = 2201; 
	public const int bfSea = 3605; 

	public const int fAdmin = 2115; 
	public const int bfCave = 3500; 

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

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

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

	public const int fTaxEvasion = 2119; 
	public const int fMoral = 2203; 

	public const int fHeirloom = 2120; 
	public const int fPromo = 2202; 

	public const int fSoil = 2200; 
	public const int fEducation = 2116; 

	public const int fPromo = 2202; 
	public const int fElec = 2201; 

	public const int fMoral = 2203; 
	public const int fSoil = 2200; 

	public const int fRation = 2207; 
	public const int fTaxEvasion = 2119; 

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

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

	public const int fAttraction = 2206; 
	public const int bfTranquil = 3703; 

	public const int bfBasin = 3709; 
	public const int fAttraction = 2206; 

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

	public const int bfFreshAir = 3708; 
	public const int actBuildCut = 4000; 

	public const int bfChitin = 3805; 
	public const int bfFish = 3706; 

	public const int bfGum = 3803; 
	public const int fAdmin = 2115; 

	public const int bfMonster = 3707; 
	public const int actBuildInspect = 4006; 

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

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

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

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

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

	public const int bfSea = 3605; 
	public const int bfStart = 3900; 

	public const int bfFertile = 3700; 
	public const int bfChitin = 3805; 

	public const int bfGeyser = 3701; 
	public const int bfIce = 3804; 

	public const int bfRuin = 3702; 
	public const int bfGum = 3803; 

	public const int bfTranquil = 3703; 
	public const int bfSilica = 3802; 

	public const int bfVolcano = 3704; 
	public const int bfMushroom = 3801; 

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

	public const int bfFish = 3706; 
	public const int bfLandmark5 = 3784; 

	public const int bfIce = 3804; 
	public const int bfLandmark4 = 3783; 

	public const int bfHunt = 3705; 
	public const int bfLandmark3 = 3782; 

	public const int bfStart = 3900; 
	public const int bfLandmark2 = 3781; 

	public const int actBuildCut = 4000; 
	public const int bfLandmark1 = 3780; 

	public const int actBuildMine = 4001; 
	public const int bfBreed = 3710; 

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

	public const int bfCave = 3500; 
	public const int bfFreshAir = 3708; 

	public const int actBuildCollect = 4004; 
	public const int bfMonster = 3707; 

	public const int actBuildRecipe = 4005; 
	public const int bfHunt = 3705; 

	public const int actBuildInspect = 4006; 
	public const int fConstruction = 2003; 

	public const int actBuildAnywhere = 4003; 
	public const int fRation = 2207; 

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

	public const int featLuck = 1628; 
	public const int featAnimalLover = 1640; 

	public const int featCHA = 1627; 
	public const int featResCurse = 1641; 

	public const int featWIL = 1626; 
	public const int featSleeper = 1642; 

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

	public const int featLER = 1624; 
	public const int featBodyParts = 1644; 

	public const int featPER = 1623; 
	public const int featParty = 1645; 

	public const int featEND = 1622; 
	public const int featFaith = 1636; 

	public const int featHardy = 1630; 
	public const int featLonelySoul = 1646; 

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

	public const int featSPD = 1629; 
	public const int featDefender = 1649; 

	public const int featSwordsage = 1418; 
	public const int featGourmet = 1650; 

	public const int featMana = 1611; 
	public const int featMagicManner = 1651; 

	public const int featLife = 1610; 
	public const int featRapidArrow = 1652; 

	public const int featNeckHunter = 1426; 
	public const int featDreamWaker = 1653; 

	public const int featMimic = 1425; 
	public const int featSummoner = 1647; 

	public const int featElite = 1424; 
	public const int featHeavyCasting = 1654; 

	public const int featPeaky = 1423; 
	public const int featMartial = 1635; 

	public const int featHealer = 1422; 
	public const int featSpotting = 1633; 

	public const int featManaMeat = 1421; 
	public const int featStamina = 1612; 

	public const int featExecutioner = 1420; 
	public const int featSTR = 1620; 

	public const int featMilitant = 1419; 
	public const int featDEX = 1621; 

	public const int featDefense = 1631; 
	public const int featEND = 1622; 

	public const int featWitch = 1417; 
	public const int featPER = 1623; 

	public const int featInquisitor = 1416; 
	public const int featLER = 1624; 

	public const int featStamina = 1612; 
	public const int featNegotiate = 1634; 

	public const int featEvade = 1632; 
	public const int featMAG = 1625; 

	public const int featRapidMagic = 1648; 
	public const int featCHA = 1627; 

	public const int featNegotiate = 1634; 
	public const int featLuck = 1628; 

	public const int featFoxMaid = 1415; 
	public const int featSPD = 1629; 

	public const int featComat = 1750; 
	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 featWIL = 1626; 

	public const int featFisher = 1659; 
	public const int featModelBeliever = 1655; 

	public const int featChef = 1658; 
	public const int featScavenger = 1656; 

	public const int featManaCost = 1657;

	public const int featScavenger = 1656; 
	public const int featModelBeliever = 1655; 
	public const int featFairyResist = 1212; 

	public const int featHeavyCasting = 1654; 
	public const int featSnail = 1211; 

	public const int featDreamWaker = 1653; 
	public const int featUndead = 1210; 

	public const int featSpotting = 1633; 
	public const int featFluffyTail = 1209; 

	public const int featRapidArrow = 1652; 
	public const int featFoxLearn = 1208; 

	public const int featGourmet = 1650; 
	public const int featFoxBless = 1207; 

	public const int featDefender = 1649; 
	public const int featElea = 1213; 

	public const int featSummoner = 1647; 
	public const int featMelilithCurse = 1206; 

	public const int featLonelySoul = 1646; 
	public const int featFairyWeak = 1204; 

	public const int featParty = 1645; 
	public const int featGrowParts = 1203; 

	public const int featBodyParts = 1644; 
	public const int featFastLearner = 1202; 

	public const int featSorter = 1643; 
	public const int featManaBond = 1201; 

	public const int featSleeper = 1642; 
	public const int featSlowFood = 1200; 

	public const int featResCurse = 1641; 
	public const int featServant = 1227; 

	public const int featAnimalLover = 1640; 
	public const int featCannibalism = 1205; 

	public const int featFaith = 1636; 
	public const int featManaPrecision = 1214; 

	public const int featMartial = 1635; 
	public const int featDwarf = 1215; 

	public const int featMagicManner = 1651; 
	public const int featSuccubus = 1216; 

	public const int featWhiteVixen = 1414; 
	public const int featChef = 1658; 

	public const int featMassSummoner = 1240; 
	public const int featFisher = 1659; 

	public const int featLuckyCat = 1412; 
	public const int featLooter = 1660; 

	public const int featBaby = 1232; 
	public const int featDismantler = 1661; 

	public const int featCosmicHorror = 1233; 
	public const int featGoldenFinger = 1662; 

	public const int featHeavyEater = 1234; 
	public const int featComat = 1750; 

	public const int featLightEater = 1235; 
	public const int featUnderground = 1226; 

	public const int featNorland = 1236; 
	public const int featShiva = 1224; 

	public const int featRoran = 1237; 
	public const int featAcidBody = 1223; 

	public const int featElder = 1238; 
	public const int featSplit = 1222; 

	public const int featDemon = 1239; 
	public const int featSpike = 1221; 

	public const int featMeatCushion = 1241; 
	public const int featFate = 1220; 

	public const int featGeneSlot = 1242; 
	public const int featElderCrab = 1219; 

	public const int featEternalYouth = 1243; 
	public const int featMetal = 1218; 

	public const int featCentaur = 1244; 
	public const int featGolem = 1217; 

	public const int featSevenSense = 1245; 
	public const int featMana = 1611; 

	public const int featPegasus = 1246; 
	public const int featLife = 1610; 

	public const int featLibra = 1247; 
	public const int featLoyal = 1225; 

	public const int featMiscreation = 1248; 
	public const int featGod_trickery1 = 1345; 

	public const int featFairysan = 1413; 
	public const int featArcher = 1404; 

	public const int featVampire = 1250; 
	public const int featPianist = 1405; 

	public const int featAshborn = 1251; 
	public const int featTourist = 1406; 

	public const int featAquatic = 1252; 
	public const int featPaladin = 1407; 

	public const int featGoodKarma = 1270; 
	public const int featPaladin2 = 1408; 

	public const int featBadKarma = 1271; 
	public const int featBoost = 1409; 

	public const int featPeacemaker = 1272; 
	public const int featReboot = 1410; 

	public const int featBloom = 1273; 
	public const int featEarthStrength = 1411; 

	public const int featSlimeEvolution = 1274; 
	public const int featLuckyCat = 1412; 

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

	public const int featGod_element1 = 1300; 
	public const int featWhiteVixen = 1414; 

	public const int featNirvana = 1231; 
	public const int featFoxMaid = 1415; 

	public const int featAdam = 1230; 
	public const int featInquisitor = 1416; 

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

	public const int featDemigod = 1228; 
	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 featFarmer = 1403; 

	public const int featGrowParts = 1203; 
	public const int featWizard = 1402; 

	public const int featFairyWeak = 1204; 
	public const int featThief = 1401; 

	public const int featCannibalism = 1205; 
	public const int featWarrior = 1400; 

	public const int featMelilithCurse = 1206; 
	public const int featPeacemaker = 1272; 

	public const int featFoxBless = 1207; 
	public const int featBloom = 1273; 

	public const int featFoxLearn = 1208; 
	public const int featSlimeEvolution = 1274; 

	public const int featFluffyTail = 1209; 
	public const int featBelovedOne = 1275; 

	public const int featUndead = 1210; 
	public const int featHarem = 1276; 

	public const int featSnail = 1211; 
	public const int featGoddess = 1290; 

	public const int featFairyResist = 1212; 
	public const int featGod_element1 = 1300; 

	public const int featGod_earth1 = 1305;

	public const int featElea = 1213; 
	public const int featManaMeat = 1421; 

	public const int featDwarf = 1215; 
	public const int featGod_wind1 = 1310; 

	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 featGod_luck1 = 1330; 

	public const int featElderCrab = 1219; 
	public const int featGod_harmony1 = 1335; 

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

	public const int featSpike = 1221; 
	public const int featGoodKarma = 1270; 

	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 featGod_machine1 = 1315; 

	public const int featLoyal = 1225; 
	public const int featHealer = 1422; 

	public const int featUnderground = 1226; 
	public const int featPeaky = 1423; 

	public const int featServant = 1227; 
	public const int featElite = 1424; 

	public const int featManaPrecision = 1214; 
	public const int featGeneSlot = 1242; 

	public const int featGod_wind1 = 1310; 
	public const int featMeatCushion = 1241; 

	public const int featBloodBond = 1249; 
	public const int featMassSummoner = 1240; 

	public const int featGod_healing1 = 1320; 
	public const int featDemon = 1239; 

	public const int featEarthStrength = 1411; 
	public const int featElder = 1238; 

	public const int featReboot = 1410; 
	public const int featRoran = 1237; 

	public const int featBoost = 1409; 
	public const int featNorland = 1236; 

	public const int featPaladin2 = 1408; 
	public const int featLightEater = 1235; 

	public const int featPaladin = 1407; 
	public const int featHeavyEater = 1234; 

	public const int featTourist = 1406; 
	public const int featCosmicHorror = 1233; 

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

	public const int featArcher = 1404; 
	public const int featNirvana = 1231; 

	public const int featFarmer = 1403; 
	public const int featAdam = 1230; 

	public const int featWizard = 1402; 
	public const int featLittleOne = 1229; 

	public const int featThief = 1401; 
	public const int featBadKarma = 1271; 

	public const int featWarrior = 1400; 
	public const int featCentaur = 1244; 

	public const int featGod_strife1 = 1355; 
	public const int featMimic = 1425; 

	public const int featGod_moonshadow1 = 1350; 
	public const int featNeckHunter = 1426; 

	public const int featGod_trickery1 = 1345; 
	public const int featAquatic = 1252; 

	public const int featGod_oblivion1 = 1340; 
	public const int featAshborn = 1251; 

	public const int featGod_harmony1 = 1335; 
	public const int featVampire = 1250; 

	public const int featGod_luck1 = 1330; 
	public const int featBloodBond = 1249; 

	public const int featGod_harvest1 = 1325; 
	public const int featMiscreation = 1248; 

	public const int featGod_machine1 = 1315; 
	public const int featLibra = 1247; 
	public const int featPegasus = 1246; 
	public const int featSevenSense = 1245; 
	public const int featEternalYouth = 1243; 

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

FOOD

public class FOOD

cs
public class FOOD
{
	public const int food_poison = 702; 
	public const int food_love = 703; 
	public const int creativeDish = 764;

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

	public const int food_blood = 710;

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

	public const int food_cat = 701;

	public const int food_god = 758; 
	public const int food_love = 703; 
	public const int food_bug = 704; 
	public const int food_poison = 702; 
	public const int kirimi = 707; 

	public const int loseWeight = 706;

	public const int kirimi = 707; 
	public const int gainWeight = 705; 

	public const int food_human = 708; 
	public const int food_bug = 704; 

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

	public const int gainWeight = 705; 
	public const int food_human = 708; 

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

FoodEffect

public static void Proc(Chara c, Thing food, bool consume = true)

cs
			}
		}
	}
	if (c2.IsPC && EClass._zone is Zone_Lothria) 
	{ 
		switch (food.id) 
		{ 
		case "681": 
		case "pie_meat": 
		case "pie_fish": 
			Steam.GetAchievement(ID_Achievement.ASHLAND_PIE); 
			break; 
		} 
	} 
	if (!(food.trait is TraitGene) || !c2.IsPC || !c2.HasElement(1274))
	{
		return;

GameLang

public class GameLang : EClass

cs

	public static string refDrama4;

	public static string refDrama5; 
	public static string ConvertDrama(string text, Chara c = null)
	{
		if (!EClass.core.IsGameStarted)

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

cs
	{
		refDrama4 = result4.ToFormat();
	}
	stringBuilder.Replace("#1", refDrama1); 
	stringBuilder.Replace("#2", refDrama2); 
	stringBuilder.Replace("#3", refDrama3); 
	stringBuilder.Replace("#4", refDrama4); 
	if (int.TryParse(refDrama5, out var result5)) 
	{ 
		refDrama5 = result5.ToFormat(); 
	} 
	if (!refDrama1.IsEmpty()) 
	{ 
		stringBuilder.Replace("#1", refDrama1); 
	} 
	if (!refDrama2.IsEmpty()) 
	{ 
		stringBuilder.Replace("#2", refDrama2); 
	} 
	if (!refDrama3.IsEmpty()) 
	{ 
		stringBuilder.Replace("#3", refDrama3); 
	} 
	if (!refDrama4.IsEmpty()) 
	{ 
		stringBuilder.Replace("#4", refDrama4); 
	} 
	if (!refDrama5.IsEmpty()) 
	{ 
		stringBuilder.Replace("#5", refDrama5); 
	} 
	stringBuilder.Replace("#god", name);
	stringBuilder.Replace("#player", EClass.player.title);
	stringBuilder.Replace("#title", EClass.player.title);

ID_Achievement

public enum ID_Achievement

cs
	TEST,
	LOMIAS,
	LOMIAS2,
	FIAMA_CHEST 
	FIAMA_CHEST, 
	NERUN, 
	PUTIT, 
	ASHLAND_PIE 
}

LayerDrama

public override void OnKill()

cs
		alwaysVisible = null;
		EInput.requireConfirmReset = true;
		maxBGMVolume = false;
		GameLang.refDrama1 = ""; 
		GameLang.refDrama2 = ""; 
		GameLang.refDrama3 = ""; 
		GameLang.refDrama4 = ""; 
		GameLang.refDrama5 = ""; 
	}
}

+LoveData

File Created
cs
using Newtonsoft.Json;

public class LoveData : EClass
{
	[JsonProperty]
	public int dateMarriage;

	[JsonProperty]
	public int dateWedding;

	[JsonProperty]
	public int uidZoneMarriage;

	[JsonProperty]
	public string nameZoneMarriage;
}

MUTATION

public class MUTATION

cs

	public const int mutationSkinN = 1511;

	public const int mutationEye = 1512; 
	public const int etherPoisonHand = 1565; 

	public const int mutationEyeN = 1513; 
	public const int mutationLightning = 1528; 

	public const int mutationDex = 1514; 
	public const int mutationColdN = 1527; 

	public const int mutationRegen = 1516; 
	public const int mutationCold = 1526; 

	public const int mutationDexN = 1515; 
	public const int mutationBrain = 1524; 

	public const int mutationSpeed = 1518; 
	public const int mutationChaN = 1523; 

	public const int etherPoisonHand = 1565; 
	public const int mutationCha = 1522; 

	public const int etherManaBattery = 1564; 
	public const int mutationStrN = 1521; 

	public const int etherProvoke = 1563; 
	public const int mutationLightningN = 1529; 

	public const int etherArmor = 1562; 
	public const int mutationStr = 1520; 

	public const int etherStupid = 1561; 
	public const int mutationSpeed = 1518; 

	public const int etherWeak = 1560; 
	public const int mutationRegenN = 1517; 

	public const int etherAddict = 1559; 
	public const int mutationRegen = 1516; 

	public const int etherRain = 1558; 
	public const int mutationDexN = 1515; 

	public const int etherHead = 1557; 
	public const int mutationDex = 1514; 

	public const int etherViolence = 1556; 
	public const int mutationEyeN = 1513; 

	public const int mutationRegenN = 1517; 
	public const int mutationEye = 1512; 

	public const int etherWing = 1554; 
	public const int mutationSpeedN = 1519; 

	public const int etherEye = 1553; 
	public const int mutationBody = 1530; 

	public const int etherFeet = 1552; 
	public const int mutationBrainN = 1525; 

	public const int etherUgly = 1551; 
	public const int mutationHair = 1532; 

	public const int etherNeck = 1555; 
	public const int etherManaBattery = 1564; 

	public const int mutationHairN = 1533; 
	public const int etherProvoke = 1563; 

	public const int mutationSpeedN = 1519; 
	public const int etherArmor = 1562; 

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

	public const int etherGravity = 1550; 
	public const int etherWeak = 1560; 

	public const int mutationCha = 1522; 
	public const int etherAddict = 1559; 

	public const int mutationChaN = 1523; 
	public const int etherRain = 1558; 

	public const int mutationBrain = 1524; 
	public const int etherHead = 1557; 

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

	public const int mutationStrN = 1521; 
	public const int etherNeck = 1555; 

	public const int mutationColdN = 1527; 
	public const int etherWing = 1554; 

	public const int mutationLightning = 1528; 
	public const int etherEye = 1553; 

	public const int mutationLightningN = 1529; 
	public const int etherFeet = 1552; 

	public const int mutationBody = 1530; 
	public const int etherUgly = 1551; 

	public const int mutationBodyN = 1531; 
	public const int etherGravity = 1550; 

	public const int mutationHair = 1532; 
	public const int mutationHairN = 1533; 

	public const int mutationCold = 1526; 
	public const int etherViolence = 1556; 

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

Net

public static async UniTask<bool> SendChat(string name, string msg, ChatCategory

cs
	{
		return false;
	}
	if (!EClass.core.config.net.enable || !EClass.core.config.net.sendEvent) 
	{ 
		return false; 
	} 
	try
	{
		if (EClass.debug.enable)

POLICY

public class POLICY

cs

	public const int legendary_exhibition = 2823;

	public const int egg_fan = 2826; 
	public const int breed_season = 2827; 

	public const int milk_fan = 2825;

	public const int breed_season = 2827; 
	public const int egg_fan = 2826; 

	public const int license_slaver = 2828;

public class POLICY

cs

	public const int store_premium = 2817;

	public const int wealth_tax = 2500; 
	public const int taxTransfer = 2705; 

	public const int platinum_ticket = 2815;

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

	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 self_sufficient = 2511; 
	public const int store_ripoff = 2816; 

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

	public const int energy_conservation = 2700; 
	public const int faith_tax = 2501; 

	public const int vaccination = 2509; 
	public const int speed_growth = 2516; 

	public const int inquisition = 2507; 
	public const int food_for_people = 2502; 

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

	public const int legal_drug = 2505;

	public const int impressment = 2504; 
	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 store_ripoff = 2816; 
	public const int vaccination = 2509; 

	public const int nocturnal_life = 2508;

	public const int trash_sort = 2701; 
	public const int prohibition = 2503;

	public const int weed_no = 2703; 
	public const int energy_conservation = 2700; 
	public const int human_right = 2506; 

	public const int trash_no = 2702;

	public const int mass_exhibition = 2814; 
	public const int noDM = 2708; 

	public const int bed_quality = 2812; 
	public const int noAnimal = 2709; 

	public const int tourist_safety = 2811; 
	public const int noMother = 2710; 

	public const int open_business = 2810; 
	public const int auto_farm = 2707; 

	public const int home_discount = 2800; 
	public const int trash_sort = 2701; 
	public const int forcePanty = 2712; 

	public const int livestock_priv = 2715;

	public const int forcePanty = 2712; 
	public const int home_discount = 2800; 

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

	public const int noMother = 2710; 
	public const int tourist_safety = 2811; 

	public const int border_watch = 2704; 
	public const int bed_quality = 2812; 

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

	public const int demon_invocation = 2706; 
	public const int mass_exhibition = 2814; 

	public const int taxTransfer = 2705; 
	public const int demon_invocation = 2706; 

	public const int auto_farm = 2707; 
	public const int border_watch = 2704; 

	public const int noDM = 2708; 
	public const int weed_no = 2703; 

	public const int noAnimal = 2709; 
	public const int open_business = 2810; 

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

Player

public class Stats : EClass

cs
		[JsonProperty]
		public int sistersDepart;

		[JsonProperty] 
		public int married; 
		[JsonProperty] 
		public int divorced; 
		[JsonProperty]
		public long shipMoney;

public void ModKarma(int a)

cs
			EClass.pc.pos.TryWitnessCrime(EClass.pc);
			EClass._zone.RefreshCriminal();
			Tutorial.Reserve("criminal");
			Steam.GetAchievement(ID_Achievement.NERUN); 
		}
		if (karma >= 0 && flag)
		{

Point

public List<Chara> ListWitnesses(Chara criminal, int radius = 4, WitnessType typ

cs
		}
		foreach (Chara item2 in list2)
		{
			if (item2 == criminal || item2.IsPC || (item2 != target && !item2.CanWitness) || (item2.HasCondition<ConDim>() && EClass.rnd(2) == 0) || item2.conSuspend != null || item2.isParalyzed || item2.IsDisabled) 
			if (item2 == criminal || item2.IsPC || (item2.HasCondition<ConDim>() && EClass.rnd(2) == 0) || item2.conSuspend != null || item2.isParalyzed || item2.IsDisabled || (type != 0 && type != WitnessType.ally && item2 != target && !item2.CanWitness)) 
			{
				continue;
			}

Portrait

public static bool Exists(string id)

cs

	public void SetPerson(Person p)
	{
		base.gameObject.SetActive(value: true); 
		if (p.hasChara)
		{
			SetChara(p.chara);

public void SetPerson(Person p)

cs
			SetPortrait(p.idPortrait, PCCManager.current.GetBodySet("female").map["hair"].GetRandomColor());
			Rand.SetSeed();
		}
		else
		else if (p.source != null) 
		{
			SetPortrait(p.source.portrait);
		}
		else
		{ 
			base.gameObject.SetActive(value: false); 
		} 
	}

	public void SetChara(Chara c, PCCData pccData = null)

Religion

public void SetTextRelation(UIText text)

cs

	public string GetTextBenefit()
	{
		string text = ""; 
		string text = "<color=green>"; 
		for (int i = 0; i < source.elements.Length; i += 2)
		{
			if (i != 0)

public string GetTextBenefit()

cs
			}
			text += EClass.sources.elements.map[source.elements[i]].GetName();
		}
		return source.GetText("textBenefit") + (IsEyth ? "" : "textBenefit".lang(text)); 
		text += "</color>"; 
		return source.GetText("textBenefit") + Environment.NewLine + Environment.NewLine + (IsEyth ? "" : "textBenefit".lang(text)); 
	}

	public string GetTextTemper(int _temper = -99999)

SKILL

public class SKILL

cs
public class SKILL
{
	public const int marksman = 133; 
	public const int tactics = 132; 
	public const int fireproof = 50; 

	public const int twowield = 131; 
	public const int climbing = 242; 

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

	public const int shield = 123; 
	public const int weaponScythe = 110; 

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

	public const int armorLight = 120;

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

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

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

	public const int throwing = 108; 
	public const int music = 241; 

	public const int weaponDagger = 107; 
	public const int travel = 240; 

	public const int eyeofmind = 134; 
	public const int taming = 237; 

	public const int weaponPolearm = 106; 
	public const int milking = 235; 

	public const int strategy = 135; 
	public const int digging = 230; 

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

	public const int evasionPlus = 151; 
	public const int riding = 226; 

	public const int stealth = 152; 
	public const int lumberjack = 225; 

	public const int swimming = 200; 
	public const int shield = 123; 

	public const int weightlifting = 207; 
	public const int mining = 220; 

	public const int spotting = 210; 
	public const int swimming = 200; 

	public const int mining = 220; 
	public const int stealth = 152; 

	public const int lumberjack = 225; 
	public const int evasionPlus = 151; 

	public const int parasite = 227; 
	public const int evasion = 150; 

	public const int digging = 230; 
	public const int strategy = 135; 

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

	public const int taming = 237; 
	public const int marksman = 133; 

	public const int travel = 240; 
	public const int tactics = 132; 

	public const int music = 241; 
	public const int weightlifting = 207; 

	public const int weaponGun = 105; 
	public const int spotting = 210; 

	public const int evasion = 150; 
	public const int dmgDealt = 94; 

	public const int weaponBow = 104; 
	public const int weaponPolearm = 106; 

	public const int END = 71;

	public const int weaponAxe = 102; 
	public const int STR = 70; 

	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 PV = 65; 
	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 STR = 70; 
	public const int PDR = 55; 

	public const int climbing = 242; 
	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 antiMagic = 93; 

	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 DV = 64; 
	public const int throwing = 108; 

	public const int carpentry = 255;

public class SKILL

cs

	public const int resCut = 964;

	public const int resImpact = 965; 
	public const int gathering = 250; 
	public const int resCurse = 972;

	public const int resDamage = 971;

	public const int resDecay = 970;

	public const int resImpact = 965; 
	public const int gathering = 250; 
	public const int resPoison = 955;

	public const int eleMind = 914;

public class SKILL

cs

	public const int regeneration = 300;

	public const int env = 313; 
	public const int meditation = 301; 

	public const int disarmTrap = 293; 
	public const int controlmana = 302; 

	public const int eleFire = 910; 
	public const int manaCapacity = 303; 

	public const int eleCold = 911; 
	public const int casting = 304; 

	public const int hygine = 310; 
	public const int magicDevice = 305; 

	public const int fun = 312; 
	public const int faith = 306; 

	public const int memorization = 307;

	public const int magicDevice = 305; 
	public const int hygine = 310; 

	public const int casting = 304; 
	public const int env = 313; 

	public const int manaCapacity = 303; 
	public const int bladder = 311; 

	public const int controlmana = 302; 
	public const int eleFire = 910; 

	public const int meditation = 301; 
	public const int fun = 312; 

	public const int faith = 306; 
	public const int eleCold = 911; 

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

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

SLOT

public class SLOT

cs

	public const int hand = 35;

	public const int lightsource = 45; 
	public const int finger = 36; 

	public const int waist = 37; 
	public const int tool = 40; 

	public const int leg = 38;

	public const int foot = 39;

	public const int tool = 40; 
	public const int lightsource = 45; 

	public const int toolbelt = 44;

	public const int token = 43;

	public const int torso = 32; 
	public const int range = 41;

	public const int finger = 36; 
	public const int torso = 32; 
	public const int waist = 37; 

	public const int neck = 31;

public class SLOT

cs

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

SPELL

public class SPELL

cs
public class SPELL
{
	public const int hand_Impact = 50415; 
	public const int ball_Nerve = 50108; 
	public const int bolt_Impact = 50315; 

	public const int flare_Sound = 51207;

	public const int sword_Void = 51016; 
	public const int bit_Sound = 51107;

	public const int sword_Sound = 51007;

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 bolt_Void = 50316; 
	public const int bolt_Nerve = 50308;

	public const int hand_Nerve = 50408;

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 class SPELL

cs

	public const int funnel_Holy = 50609;

	public const int ball_Sound = 50107; 
	public const int funnel_Void = 50616; 
	public const int arrow_Void = 50516; 

	public const int flare_Nether = 51206; 
	public const int miasma_Holy = 50709; 

	public const int bit_Nether = 51106;

	public const int arrow_Poison = 50505; 
	public const int sword_Nether = 51006; 

	public const int hand_Poison = 50405; 
	public const int arrow_Mind = 50504; 

	public const int bolt_Poison = 50305; 
	public const int funnel_Mind = 50604; 

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

	public const int hand_Mind = 50404; 
	public const int weapon_Mind = 50804; 

	public const int ball_Poison = 50105; 
	public const int puddle_Mind = 50904; 

	public const int funnel_Poison = 50605; 
	public const int sword_Mind = 51004; 

	public const int flare_Mind = 51204; 
	public const int bit_Mind = 51104; 

	public const int sword_Mind = 51004; 
	public const int flare_Mind = 51204; 

	public const int puddle_Mind = 50904; 
	public const int ball_Poison = 50105; 

	public const int weapon_Mind = 50804; 
	public const int sword_Void = 51016; 

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

	public const int funnel_Mind = 50604; 
	public const int bolt_Poison = 50305; 

	public const int arrow_Mind = 50504; 
	public const int hand_Poison = 50405; 

	public const int bit_Mind = 51104; 
	public const int arrow_Poison = 50505; 

	public const int miasma_Holy = 50709; 
	public const int funnel_Poison = 50605; 

	public const int miasma_Poison = 50705;

	public const int puddle_Poison = 50905; 
	public const int sword_Nether = 51006; 
	public const int weapon_Poison = 50805; 

	public const int puddle_Nether = 50906;

public class SPELL

cs

	public const int arrow_Nether = 50506;

	public const int weapon_Poison = 50805; 
	public const int hand_Nether = 50406;

	public const int miasma_Void = 50716; 
	public const int funnel_Void = 50616; 
	public const int bolt_Nether = 50306; 

	public const int weapon_Void = 50816;

public class SPELL

cs

	public const int sword_Poison = 51005;

	public const int bolt_Nether = 50306; 
	public const int puddle_Poison = 50905; 
	public const int miasma_Void = 50716; 

	public const int weapon_Holy = 50809;

public class SPELL

cs

	public const int sword_Holy = 51009;

	public const int miasma_Ether = 50712; 
	public const int weapon_Ether = 50812;

	public const int puddle_Ether = 50912;

	public const int miasma_Impact = 50715; 
	public const int sword_Ether = 51012; 

	public const int bit_Ether = 51112; 
	public const int hand_Mind = 50404; 

	public const int flare_Ether = 51212;

	public const int ball_Acid = 50113;

	public const int funnel_Impact = 50615; 
	public const int miasma_Impact = 50715; 

	public const int bolt_Acid = 50313;

public class SPELL

cs

	public const int bit_Acid = 51113;

	public const int flare_Acid = 51213; 
	public const int arrow_Impact = 50515; 
	public const int ball_Impact = 50115;

	public const int flare_Cut = 51214;

public class SPELL

cs

	public const int puddle_Cut = 50914;

	public const int weapon_Cut = 50814; 
	public const int miasma_Ether = 50712; 

	public const int funnel_Ether = 50612; 
	public const int weapon_Cut = 50814; 

	public const int miasma_Cut = 50714; 
	public const int funnel_Cut = 50614; 

	public const int arrow_Cut = 50514;

public class SPELL

cs

	public const int bolt_Cut = 50314;

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

	public const int ball_Cut = 50114;

	public const int flare_Acid = 51213; 
	public const int funnel_Cut = 50614; 
	public const int miasma_Cut = 50714; 

	public const int bolt_Impact = 50315; 
	public const int funnel_Ether = 50612; 

	public const int arrow_Ether = 50512;

	public const int bolt_Ether = 50312; 
	public const int hand_Ether = 50412; 

	public const int bit_Holy = 51109; 
	public const int puddle_Chaos = 50910; 

	public const int flare_Holy = 51209; 
	public const int sword_Impact = 51015; 

	public const int ball_Chaos = 50110; 
	public const int bit_Impact = 51115; 

	public const int bolt_Chaos = 50310; 
	public const int flare_Impact = 51215; 

	public const int hand_Chaos = 50410; 
	public const int weapon_Chaos = 50810; 

	public const int arrow_Chaos = 50510; 
	public const int miasma_Chaos = 50710; 
	public const int sword_Chaos = 51010; 

	public const int funnel_Chaos = 50610;

	public const int miasma_Chaos = 50710; 
	public const int hand_Chaos = 50410; 

	public const int weapon_Chaos = 50810; 
	public const int bolt_Chaos = 50310; 

	public const int ball_Void = 50116;

	public const int flare_Impact = 51215; 
	public const int ball_Chaos = 50110; 

	public const int bit_Impact = 51115; 
	public const int flare_Holy = 51209; 

	public const int puddle_Chaos = 50910; 
	public const int bit_Holy = 51109; 

	public const int sword_Impact = 51015; 
	public const int arrow_Chaos = 50510; 

	public const int sword_Chaos = 51010; 
	public const int hand_Impact = 50415; 

	public const int bit_Chaos = 51110;

	public const int flare_Chaos = 51210; 
	public const int ball_Magic = 50111; 
	public const int bolt_Ether = 50312; 

	public const int weapon_Impact = 50815;

public class SPELL

cs

	public const int sword_Magic = 51011;

	public const int puddle_Magic = 50911; 
	public const int flare_Chaos = 51210; 

	public const int hand_Ether = 50412; 
	public const int puddle_Magic = 50911; 

	public const int weapon_Magic = 50811; 
	public const int miasma_Magic = 50711; 

	public const int funnel_Magic = 50611;

public class SPELL

cs

	public const int puddle_Impact = 50915;

	public const int ball_Magic = 50111; 
	public const int miasma_Magic = 50711; 
	public const int weapon_Magic = 50811; 

	public const int sword_Ether = 51012; 
	public const int bit_Ether = 51112; 

	public const int SpTransmutePutit = 8791; 
	public const int hand_Cold = 50401; 

	public const int ball_Mind = 50104;

	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 SpResEle = 8506; 

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

	public const int SpHealCritical = 8402; 
	public const int SpBreath = 8507; 

	public const int SpResEle = 8506; 
	public const int SpRebirth = 8550; 

	public const int SpSpeedUp = 8510; 
	public const int SpTransmutePutit = 8791; 

	public const int SpTransmuteBroom = 8790;

public class SPELL

cs

	public const int SpBrightnessOfLife = 8555;

	public const int SpRebirth = 8550; 
	public const int SpSpeedUp = 8510; 

	public const int SpBreath = 8507; 
	public const int SpHealCritical = 8402; 

	public const int SpHealHeavy = 8401;

	public const int SpHealLight = 8400;

	public const int SpWish = 8390; 
	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 SpTransmuteCat = 8792;

	public const int SpLighten = 8280; 
	public const int SpFaith = 8281; 
	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 bolt_Mind = 50304;

public class SPELL

cs

	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 flare_Fire = 51200;

	public const int bit_Fire = 51100; 
	public const int arrow_Lightning = 50502;

	public const int bit_Fire = 51100; 
	public const int sword_Fire = 51000; 

	public const int funnel_Lightning = 50602;

public class SPELL

cs

	public const int miasma_Lightning = 50702;

	public const int sword_Fire = 51000; 
	public const int puddle_Fire = 50900;

	public const int weapon_Fire = 50800;

	public const int miasma_Fire = 50700; 
	public const int SpSummonDragon = 9054;

	public const int SpSummonMachine = 9053;

public class SPELL

cs

	public const int SpEarthquake = 9151;

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

	public const int arrow_Fire = 50500;

public class SPELL

cs

	public const int bolt_Fire = 50300;

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

	public const int FieldSpider = 10000;

public class SPELL

cs

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

Scene

public void OnUpdate()

cs
				}
				Player obj = EMono.player;
				obj.deathMsg = obj.deathMsg + Lang.space + lastWord.Bracket(1);
				if (EMono.core.config.net.enable && EMono.core.config.net.sendEvent) 
				{ 
					Net.SendChat(EMono.pc.NameTitled, EMono.player.deathMsg, ChatCategory.Dead, Lang.langCode); 
				} 
				Net.SendChat(EMono.pc.NameTitled, EMono.player.deathMsg, ChatCategory.Dead, Lang.langCode); 
				Debug.Log(lastWord);
				Msg.SetColor(Msg.colors.Talk);
				Msg.Say(lastWord.Bracket(1));

Season

[JsonObject(MemberSerialization.OptIn)]

cs
[JsonObject(MemberSerialization.OptIn)]
public class Season : EClass
{
	public const int Spring = 1; 
	public const int Summer = 2; 
	public const int Autumn = 3; 
	public const int Winter = 4; 
	public enum ID
	{ 
		Spring, 
		Summer, 
		Autumn, 
		Winter
	} 

	public GameDate date => EClass.world.date;

	public ID Current
	{ 
		get
		{ 
			int month = date.month; 
			if (month >= 3 && month <= 5) 
			{ 
				return ID.Spring; 
			} 
			if (month >= 6 && month <= 8) 
			{ 
				return ID.Summer; 
			} 
			if (month >= 9 && month <= 11) 
			{ 
				return ID.Autumn; 
			} 
			return ID.Winter; 
		} 
	} 
	public bool isSpring
	{
		get

SourceThingV

public override void OnAfterImportData()

cs
						});
						break;
					case "skin":
						row.skins = new int[1] { array2[1].ToInt() }; 
					{ 
						string[] array3 = array2[1].Split('|'); 
						row.skins = new int[array3.Length]; 
						for (int j = 0; j < array3.Length; j++) 
						{ 
							row.skins[j] = array3[j].ToInt(); 
						} 
						break;
					} 
					case "alt":
						row.altTiles = new int[1] { array2[1].ToInt() };
						row.ignoreAltFix = true;

Steam

using System.IO;

cs
using System.IO;
using System.Linq; 
using HeathenEngineering.SteamworksIntegration;
using HeathenEngineering.SteamworksIntegration.API;
using Steamworks;

public static void GetAchievement(ID_Achievement id)

cs
		Debug.Log("Achievement not found:" + id);
	}

	public static void ResetAllAchievement() 
	{ 
		foreach (AchievementObject achievement in Instance.steamworks.settings.achievements) 
		{ 
			achievement.ClearAchievement(); 
			achievement.Store(); 
		} 
	} 
	public static void ResetAchievement(ID_Achievement id) 
	{ 
		AchievementObject achievementObject = Instance.steamworks.settings.achievements.First((AchievementObject a) => a.Id == id.ToString()); 
		if (achievementObject != null) 
		{ 
			achievementObject.ClearAchievement(); 
			achievementObject.Store(); 
		} 
	} 
	public void TestHasDLC()
	{
		Debug.Log(HasDLC(ID_DLC.Test));

Thing

public override void WriteNote(UINote n, Action<UINote> onWriteNote = null, IIns

cs
		Religion religion = EClass.game.religions.Find(base.c_idDeity) ?? EClass.game.religions.Eyth;
		AddText("isDeity".lang(religion.Name), FontColor.Myth);
	}
	if (base.c_uidAttune != 0) 
	{ 
		Chara chara = EClass.game.cards.globalCharas.Find(base.c_uidAttune); 
		AddText("isAttuned".lang((chara == null) ? "???" : chara.NameSimple), FontColor.Ether); 
	} 
	if (base.isGifted && GetRoot() != EClass.pc)
	{
		AddText("isGifted", FontColor.Ether);

public override void WriteNote(UINote n, Action<UINote> onWriteNote = null, IIns

cs
	}
	if (flag2 && mode != IInspect.NoteMode.Product)
	{
		Chara chara = GetRootCard() as Chara; 
		Chara chara2 = GetRootCard() as Chara; 
		if (base.parentCard?.trait is TraitChestMerchant)
		{
			chara = null; 
			chara2 = null; 
		}
		if (base.c_equippedSlot != 0 && base.category.slot == 35 && chara != null) 
		if (base.c_equippedSlot != 0 && base.category.slot == 35 && chara2 != null) 
		{
			AddAttackEvaluation(n, chara, this); 
			AddAttackEvaluation(n, chara2, this); 
		}
		if (base.IsThrownWeapon || base.IsRangedWeapon || (base.IsMeleeWeapon && base.c_equippedSlot == 0))
		{
			n.AddHeader("headerAttackEval");
			AttackProcess.Current.Prepare(chara ?? EClass.pc, this, null, null, 0, base.IsThrownWeapon); 
			AttackProcess.Current.Prepare(chara2 ?? EClass.pc, this, null, null, 0, base.IsThrownWeapon); 
			string text9 = AttackProcess.Current.GetText();
			text9 = text9.TagColor(() => true);
			n.AddText(text9);

public void RemoveEnchant()

cs
	{
	}

	public void Attune(Chara c) 
	{ 
		Msg.Say("attuned", this, c); 
		base.c_uidAttune = c.uid; 
	} 
	public Thing Identify(bool show = true, IDTSource idtSource = IDTSource.Identify)
	{
		if (base.IsIdentified)

TraitKettle

public override bool CanJoinParty

cs

	public override bool CanCopy(Thing t)
	{
		if (t.noSell || t.isStolen || t.HasRune() || t.HasElement(1229)) 
		if (t.noSell || t.isStolen || t.HasRune() || t.HasElement(1229) || t.c_uidAttune != 0) 
		{
			return false;
		}

WindowChara

public static void RefreshNote(Chara chara, UINote n, bool shortMode = false)

cs
	text = text + " / " + ("style" + chara.GetFavAttackStyle()).lang();
	n.AddTopic("TopicDomain", "attackStyle".lang(), text);
	n.AddTopic("TopicDomain", "armorStyle".lang(), chara.GetFavArmorSkill()?.Name ?? Element.Get(120).GetText());
	bool textAdded = false; 
	if (chara.IsPC && EClass.pc.c_daysWithGod > 0)
	{
		AddText("info_daysWithGod".lang(EClass.pc.c_daysWithGod.ToString() ?? "", EClass.pc.faith.Name));

public static void RefreshNote(Chara chara, UINote n, bool shortMode = false)

cs
			AddText("info_daysWithPC".lang(chara.c_daysWithPC.ToString() ?? "") + Environment.NewLine + "daystogether_bonus".lang(((num > 0) ? "+" : "") + num));
		}
	}
	if (chara.IsPC) 
	{ 
		List<Chara> list = new List<Chara>(); 
		foreach (Chara value2 in EClass.game.cards.globalCharas.Values) 
		{ 
			if (value2.IsMarried) 
			{ 
				list.Add(value2); 
			} 
		} 
		if (list.Count > 0) 
		{ 
			if (textAdded) 
			{ 
				n.Space(12); 
			} 
			n.AddTopic("TopicDomain", "history_marriage".lang(), ""); 
			foreach (Chara item in list) 
			{ 
				Date date = Date.ToDate(item.c_love.dateMarriage); 
				AddText("item_marriage".lang(item.NameBraced, date.year.ToString() ?? "", date.month.ToString() ?? "", item.c_love.nameZoneMarriage)); 
			} 
		} 
	} 
	if (EClass.debug.showExtra)
	{
		n.AddText("LV:" + chara.LV + "  exp:" + chara.exp + " next:" + chara.ExpToNext);

void Add(string s)

cs
		void AddText(string s)
		{
			n.AddText(" ・ " + s);
			textAdded = true; 
		}
	}
}