Skip to content

EA 23.261 Nightly Patch 3

January 18, 2026

34 files modified. 1 new file created.

Important Changes

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

ConTransmuteMimic (1)

cs
public virtual void RevealMimicry(Chara c, bool surprise) 
public virtual void RevealMimicry(Card c, bool surprise) 

EClass (1)

cs
public static int curve(int _a, int start, int step, int rate = 75) 
public static int curve(long _a, int start, int step, int rate = 75) 

TCOrbitChara (1)

cs
public void RefreshAll() 
public override void RefreshAll() 

TCOrbitThing (1)

cs
public void RefreshAll() 
public override void RefreshAll() 

ABILITY

``

cs

public class ABILITY
{
	public const int AI_Sleep = 5050; 
	public const int ActZap = 5051; 

	public const int ActDreamBug = 6020;

public class ABILITY

cs

	public const int ActBash = 5052;

	public const int ActZap = 5051; 
	public const int AI_Sleep = 5050; 

	public const int AI_Meditate = 6003;

public class ABILITY

cs

	public const int TaskSleepOnBed = 5022;

	public const int TaskTrain = 5021; 
	public const int ActWait = 5000; 

	public const int GoalSleep = 5027;

	public const int ActWait = 5000; 
	public const int Melee = 5002; 
	public const int ActMelee = 5001; 

	public const int Ranged = 5003;

public class ABILITY

cs

	public const int Use = 5007;

	public const int ActMelee = 5001; 
	public const int General = 5008; 
	public const int Melee = 5002; 

	public const int ActReleaseHeld = 5028;

public class ABILITY

cs

	public const int breathe_Holy = 50209;

	public const int breathe_Chaos = 50210; 
	public const int ActGazeMana = 6623;

	public const int breathe_Magic = 50211; 
	public const int breathe_Ether = 50212;

	public const int breathe_Acid = 50213;

public class ABILITY

cs

	public const int breathe_Void = 50216;

	public const int General = 5008; 
	public const int TaskMine = 5009;

	public const int TaskDig = 5010;

public class ABILITY

cs

	public const int TaskFarm = 5020;

	public const int TaskTrain = 5021; 
	public const int breathe_Fire = 50200;

	public const int SpTransmuteMimic = 8794;

	public const int breathe_Magic = 50211; 
	public const int breathe_Chaos = 50210; 

	public const int breathe_ = 7000;

public class ABILITY

cs

	public const int ActWombDark = 6801;

	public const int ActDeathSentense = 6802; 
	public const int StManaCost = 6720;

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

public override long GetSourceValue(long v, int lv, SourceValueType type)

cs

	public override int GetPower(Card c)
	{
		int a = base.Value * 8 + 50; 
		long num = base.Value * 8 + 50; 
		if (!c.IsPC)
		{
			a = Mathf.Max(a, c.LV * 6 + 30); 
			num = (int)Mathf.Max(num, c.LV * 6 + 30); 
			if (c.IsPCFactionOrMinion && !base.source.aliasParent.IsEmpty())
			{
				a = Mathf.Max(a, c.Evalue(base.source.aliasParent) * 4 + 30); 
				num = (int)Mathf.Max(num, c.Evalue(base.source.aliasParent) * 4 + 30); 
			}
		}
		a = EClass.curve(a, 400, 100); 
		num = EClass.curve(num, 400, 100); 
		if (this is Spell)
		{
			a = a * Mathf.Max(100 + c.Evalue(411) - c.Evalue(93), 1) / 100; 
			num = num * Mathf.Max(100 + c.Evalue(411) - c.Evalue(93), 1) / 100; 
		}
		else if (this is ActBreathe)
		{
			a = a * Mathf.Max(100 + c.Evalue(411), 1) / 100; 
			num = num * Mathf.Max(100 + c.Evalue(411), 1) / 100; 
		} 
		if (num > 214748364) 
		{ 
			num = 214748364L; 
		}
		return a; 
		return (int)num; 
	}

	public override void OnChangeValue()

AI_Idle

public override IEnumerable<Status> Run()

cs
				}
			}
		}
		if (!EClass._zone.IsRegion && owner.id == "mimic" && EClass.rnd(5) == 0 && owner.mimicry == null) 
		if (!EClass._zone.IsRegion && owner.HasElement(1425) && EClass.rnd(5) == 0 && owner.mimicry == null) 
		{
			owner.UseAbility(8794, owner);
		}

ActEffect

void AddCon<T>(int rate, int power) where T : Condition

cs
		TC.AddCondition(Condition.Create(n, power, delegate(Condition con)
		{
			con.givenByPcParty = CC.IsPCParty;
			(con as ConDeathSentense)?.SetChara(CC); 
			if (!actRef.aliasEle.IsEmpty())
			{
				con.SetElement(EClass.sources.elements.alias[actRef.aliasEle].id);

ActPray

static void Heal(Chara _c)

cs
			_c.HealHP(999999);
			_c.mana.Mod(999999);
			_c.Cure(CureType.Prayer, 999999);
			_c.RemoveCondition<ConDeathSentense>(); 
		}
	}
}

ActThrow

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

cs
	{
		Msg.Say("shatter");
	}
	if (Act.TC != null && Act.TC.isChara && Act.TC.Chara.mimicry != null) 
	{ 
		Act.TC.Chara.mimicry.RevealMimicry(c, surprise: false); 
	} 
	bool flag = method == ThrowMethod.Reward;
	bool flag2 = method == ThrowMethod.Default;
	switch (t.trait.ThrowType)

AttackProcess

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

cs
		num2 += weapon.Evalue(91, ignoreGlobalElement: true);
		num3 += weapon.Evalue(603, ignoreGlobalElement: true);
	}
	else
	if (CC.HasElement(1426)) 
	{
		switch (CC.id) 
		{ 
		case "mech_death": 
		case "rabbit_vopal": 
		case "mantis_killer": 
			list.Add(Element.Create(6650, 100)); 
			break; 
		} 
		list.Add(Element.Create(6650, 100)); 
	}
	int bane;
	if (TC?.Chara != null)

AttackSource

public enum AttackSource

cs
Wrath,
ManaBackfire,
DeathSentense,
Euthanasia, 
Shockwave,
MagicSword,
MoonSpear,

BaseCondition

public virtual void SetOwner(Chara _owner, bool onDeserialize = false)

cs
{
	owner = _owner;
	phase = GetPhase();
	if (EmoIcon > owner.emoIcon) 
	{ 
		owner.emoIcon = EmoIcon; 
	} 
	RefreshEmoIcon(); 
	if (UseElements)
	{
		elements = new ElementContainerCondition();

public virtual void SetOwner(Chara _owner, bool onDeserialize = false)

cs
		}
	}

	public void RefreshEmoIcon() 
	{ 
		if (EmoIcon > owner.emoIcon) 
		{ 
			owner.emoIcon = EmoIcon; 
		} 
	} 
	public SourceElement.Row GetElementSource(int i)
	{
		string text = base.source.elements[i];

BaseStats

public virtual void WriteNote(UINote n, Action<UINote> onWriteNote = null)

cs
{
	n.Clear();
	n.AddHeader(source.GetName());
	n.AddText("NoteText_flavor_element", source.GetDetail()); 
	string text = (Lang.Has("contype_" + Type) ? ("(" + ("contype_" + Type).lang() + ") ") : ""); 
	n.AddText("NoteText_flavor_element", text + source.GetDetail()); 
	_WriteNote(n);
	n.Build();
}

BaseTileMap

public virtual void DrawTile()

cs
						thingPos.y += num12;
						if (tileType.UseMountHeight)
						{
							if (tileType != TileType.Illumination || !this.cell.HasObj) 
							if ((tileType != TileType.Illumination || !this.cell.HasObj) && !tileType.AlwaysShow) 
							{
								if (noRoofMode && currentRoom == null && t.altitude >= lowWallObjAltitude && tileType != TileType.ObjFloat)
								{

Card

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

cs
		if (!HasElement(1241))
		{
			AttackSource attackSource2 = attackSource;
			if ((uint)(attackSource2 - 3) > 2u && (uint)(attackSource2 - 13) > 4u) 
			if ((uint)(attackSource2 - 3) > 2u && (uint)(attackSource2 - 13) > 5u) 
			{
				foreach (Chara chara4 in EClass._map.charas)
				{

public void HatchEgg()

cs
	if (!isDestroyed)
	{
		Die();
		if (isChara && !Chara.isDead) 
		{ 
			hp = 0; 
			Chara.AddCondition<ConFaint>(1000, force: true); 
		} 
	}
	for (int i = 0; i < 1 + EClass.rnd(num + 1); i++)
	{

Chara

public void RefreshSpeed(Element.BonusInfo info = null)

cs
		info?.AddText("minSpeed".lang((elements.ValueWithoutLink(79) / 3).ToString() ?? ""));
	}
	int num = 100;
	if (EClass._zone.map != null && (EClass._zone.IsUnderwater || (base.Cell.IsTopWater && !base.Cell.isFloating))) 
	if (EClass._zone.map != null && (EClass._zone.IsUnderwater || (base.Cell.IsTopWaterAndNoSnow && !base.Cell.isFloating))) 
	{
		int num2 = Evalue(200);
		int num3 = Evalue(1252);

public void Vomit()

cs
public override void Die(Element e = null, Card origin = null, AttackSource attackSource = AttackSource.None, Chara originalTarget = null)
{
	combatCount = 0;
	if (isDead || host != null) 
	if (isDead) 
	{
		return;
	}
	if (host != null) 
	{ 
		base.hp = -1; 
		if ((uint)(attackSource - 17) > 1u) 
		{ 
			AddCondition<ConFaint>(200, force: true); 
			return; 
		} 
		ActRide.Unride(host, this); 
	} 
	bool isInActiveZone = IsInActiveZone;
	if (isInActiveZone)
	{

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

cs
			Destroy();
			return;
		}
		if (attackSource == AttackSource.DeathSentense) 
		if ((uint)(attackSource - 17) <= 1u) 
		{
			if (trait is TraitLittleOne) 
			if (attackSource == AttackSource.Euthanasia && trait is TraitLittleOne) 
			{
				MakeEgg();
				if (IsPCFaction)

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

cs
	}
	if (isInActiveZone)
	{
		if (attackSource == AttackSource.DeathSentense) 
		if (attackSource == AttackSource.DeathSentense || attackSource == AttackSource.Euthanasia) 
		{
			Msg.Say("goto_heaven", this);
		}

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

cs
	switch (id)
	{
	case "littleOne":
		if (attackSource != AttackSource.DeathSentense && !IsPCFaction) 
		if (attackSource != AttackSource.Euthanasia && !IsPCFaction) 
		{
			EClass.player.flags.little_killed = true;
			EClass.player.little_dead++;

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

cs
			chara2.MakeMinion((origin.IsPCParty || origin.IsPCPartyMinion) ? EClass.pc : origin.Chara, MinionType.Friend);
			Msg.Say("plant_pop", this, chara2);
		}
		EClass._zone.OnCharaDie(); 
		EClass._zone.events.OnCharaDie(this);
	}

public void Cure(CureType type, int p = 100, BlessedState state = BlessedState.N

cs
		case CureType.Unicorn:
			SAN.Mod(-20);
			RemoveCondition<ConBrightnessOfLife>();
			RemoveCondition<ConDeathSentense>(); 
			break;
		case CureType.Jure:
			SAN.Mod(-999);

public void Cure(CureType type, int p = 100, BlessedState state = BlessedState.N

cs
			{
				SetFeat(1206, 0, msg: true);
			}
			RemoveCondition<ConBrightnessOfLife>(); 
			RemoveCondition<ConDeathSentense>(); 
			break;
		case CureType.CureBody:
		case CureType.CureMind:

public bool TryNeckHunt(Chara TC, int power, bool harvest = false)

cs
	{
		return false;
	}
	if (TC.hp > (long)TC.MaxHP * (long)Mathf.Min(5 + (int)Mathf.Sqrt(power), harvest ? 35 : 25) / 100) 
	if (TC.hp > (long)TC.MaxHP * (long)(Mathf.Min(5 + (int)Mathf.Sqrt(power), harvest ? 35 : 25) + Evalue(1426) * 5) / 100) 
	{
		return false;
	}

ConDeathSentense

using Newtonsoft.Json;

cs
using Newtonsoft.Json; 
public class ConDeathSentense : BaseDebuff
{
	[JsonProperty] 
	public int uidGiver; 
	[JsonProperty] 
	public bool euthanasia; 
	public override Emo2 EmoIcon => Emo2.death; 
	public override void Tick()
	{
		if (TryRemove()) 
		{ 
			return; 
		} 
		Mod(-1);
		if (base.value <= 0 && owner.IsAliveInCurrentZone)
		{
			owner.Die(null, null, AttackSource.DeathSentense); 
			owner.Say("death_sentense", owner); 
			if (!euthanasia && owner.IsPowerful) 
			{ 
				owner.DamageHP(owner.MaxHP / (EClass.debug.enable ? 1 : 13) + 1, AttackSource.DeathSentense); 
			} 
			else
			{ 
				owner.Die(null, null, euthanasia ? AttackSource.Euthanasia : AttackSource.DeathSentense); 
			} 
		} 
	} 
	public bool TryRemove() 
	{ 
		if (uidGiver != 0 && EClass._map.FindChara(uidGiver) == null) 
		{ 
			Kill(); 
			return true; 
		}
		return false; 
	} 
	public void SetChara(Chara c) 
	{ 
		if (c != null) 
		{ 
			uidGiver = c.uid; 
		} 
	} 
	public override void OnRemoved() 
	{ 
		base.OnRemoved(); 
	}
}

ConTransmuteMimic

public virtual void TrySetAct(ActPlan p)

cs
		}
	}

	public virtual void RevealMimicry(Chara c, bool surprise) 
	public virtual void RevealMimicry(Card c, bool surprise) 
	{
		if (owner.IsHostile(c)) 
		if (owner.IsHostile(c.Chara)) 
		{
			owner.DoHostileAction(c, immediate: true);
		}

Condition

public void Kill(bool silent = false)

cs
		elements.SetParent();
	}
	OnRemoved();
	if (EmoIcon != 0 && owner.emoIcon == EmoIcon) 
	{ 
		owner.emoIcon = Emo2.none; 
		foreach (Condition condition in owner.conditions) 
		{ 
			condition.RefreshEmoIcon(); 
		} 
		owner.renderer?.orbit?.RefreshAll(); 
	} 
	owner.SetDirtySpeed();
	if (ShouldRefresh)
	{

ConditionType

public enum ConditionType

cs
	Disease,
	Wrath,
	Buff,
	Stance 
	Stance, 
	Sentense 
}

EClass

public static int rnd(int a)

cs
		return Rand.rnd(a);
	}

	public static int curve(int _a, int start, int step, int rate = 75) 
	public static int curve(long _a, int start, int step, int rate = 75) 
	{
		if (_a <= start)
		{
			return _a; 
			return (int)_a; 
		}
		long num = _a;
		for (int i = 0; i < 10; i++)

ELEMENT

public class ELEMENT

cs

	public const int nerve = 754;

	public const int antidote = 753; 
	public const int comfort = 750;

	public const int cute = 752; 
	public const int rare = 751;

	public const int antidote = 753; 
	public const int cute = 752; 
	public const int _void = 0;

	public const int quality = 2;

public class ELEMENT

cs

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

ENC

public class ENC

cs

	public const int mod_splash = 608;

	public const int sanctified = 432; 
	public const int defense_range = 435; 

	public const int mod_drill = 606;

public class ENC

cs

	public const int negateSunburn = 431;

	public const int defense_range = 435; 
	public const int sanctified = 432; 

	public const int negateConfusion = 425;

public class ENC

cs

	public const int bane_fish = 467;

	public const int sustain_STR = 440; 
	public const int bane_all = 468;

	public const int sustain_STR = 440; 
	public const int sustain_END = 441;

	public const int sustain_DEX = 442;

public class ENC

cs

	public const int bane_man = 464;

	public const int bane_god = 466; 
	public const int bane_machine = 465; 

	public const int sustain_figure = 450;

	public const int bane_machine = 465; 
	public const int bane_god = 466; 

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

Emo2

public enum Emo2

cs
	brush_like,
	brush_like2,
	brush_like3,
	hintEvent 
	hintEvent, 
	death 
}

FACTION

public class FACTION

cs

	public const int bfBeach = 3604;

	public const int bfUndersea = 3606; 
	public const int bfFertile = 3700;

	public const int bfUndersea = 3606; 
	public const int bfGeyser = 3701;

	public const int bfPlain = 3600;

public class FACTION

cs

	public const int fPromo = 2202;

	public const int fEducation = 2116; 
	public const int fElec = 2201;

	public const int fSoil = 2200;

public class FACTION

cs

	public const int fLoyal = 2117;

	public const int fEducation = 2116; 
	public const int bfTranquil = 3703;

	public const int fAttraction = 2206; 
	public const int fRation = 2207; 

	public const int bfVolcano = 3704;

public class FACTION

cs

	public const int fConstruction = 2003;

	public const int fRation = 2207; 
	public const int fAttraction = 2206; 

	public static readonly int[] IDS = new int[53]
	{
		3601, 3602, 3603, 3604, 3606, 3700, 3701, 3600, 3702, 3605, 
		3500, 2120, 2205, 2204, 2203, 2202, 2201, 2200, 2119, 2118, 
		2117, 2116, 3703, 2206, 3704, 4000, 3706, 2115, 4006, 4005, 
		3601, 3602, 3603, 3604, 3700, 3606, 3701, 3600, 3702, 3605, 
		3500, 2120, 2205, 2204, 2203, 2202, 2116, 2201, 2200, 2119, 
		2118, 2117, 3703, 2207, 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
		3705, 2003, 2206
	};
}
public class Faction : EClass

FEAT

``

cs

public class FEAT
{
	public const int featShiva = 1224; 
	public const int featLoyal = 1225; 

	public const int featMagicManner = 1651;

public class FEAT

cs

	public const int featMAG = 1625;

	public const int featLife = 1610; 
	public const int featDreamWaker = 1653;

	public const int featHeavyCasting = 1654; 
	public const int featModelBeliever = 1655;

	public const int featAcidBody = 1223; 
	public const int featFairyResist = 1212; 

	public const int featSlowFood = 1200; 
	public const int featSnail = 1211; 

	public const int featManaBond = 1201; 
	public const int featUndead = 1210; 

	public const int featFastLearner = 1202; 
	public const int featFluffyTail = 1209; 

	public const int featGrowParts = 1203; 
	public const int featFoxLearn = 1208; 

	public const int featFairyWeak = 1204; 
	public const int featFoxBless = 1207; 

	public const int featCannibalism = 1205; 
	public const int featElea = 1213; 

	public const int featMelilithCurse = 1206;

	public const int featFoxBless = 1207; 
	public const int featFairyWeak = 1204; 

	public const int featFoxLearn = 1208; 
	public const int featGrowParts = 1203; 

	public const int featFluffyTail = 1209; 
	public const int featFastLearner = 1202; 

	public const int featUndead = 1210; 
	public const int featManaBond = 1201; 

	public const int featSnail = 1211; 
	public const int featSlowFood = 1200; 

	public const int featFairyResist = 1212; 
	public const int featShiva = 1224; 

	public const int featElea = 1213; 
	public const int featCannibalism = 1205; 
	public const int featLife = 1610; 

	public const int featManaPrecision = 1214;

	public const int featDwarf = 1215; 
	public const int featSuccubus = 1216; 

	public const int featScavenger = 1656;

public class FEAT

cs

	public const int featDismantler = 1661;

	public const int featHeavyCasting = 1654; 
	public const int featDwarf = 1215; 

	public const int featGoldenFinger = 1662;

	public const int featSplit = 1222; 
	public const int featSpike = 1221;

	public const int featFate = 1220;

public class FEAT

cs

	public const int featGolem = 1217;

	public const int featSuccubus = 1216; 
	public const int featSplit = 1222; 
	public const int featAcidBody = 1223; 

	public const int featElite = 1424; 
	public const int featNeckHunter = 1426; 

	public const int featComat = 1750;

	public const int featHealer = 1422; 
	public const int featAquatic = 1252; 
	public const int featElite = 1424; 

	public const int featGoodKarma = 1270;

public class FEAT

cs

	public const int featGod_harvest1 = 1325;

	public const int featGod_harmony1 = 1335; 
	public const int featAquatic = 1252; 

	public const int featGod_oblivion1 = 1340; 
	public const int featGod_luck1 = 1330; 

	public const int featGod_trickery1 = 1345;

public class FEAT

cs

	public const int featPianist = 1405;

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

	public const int featVampire = 1250; 
	public const int featPaladin = 1407; 
	public const int featGod_harmony1 = 1335; 
	public const int featPaladin2 = 1408; 
	public const int featAshborn = 1251; 

	public const int featBloodBond = 1249;

	public const int featMiscreation = 1248; 
	public const int featNorland = 1236; 
	public const int featLightEater = 1235; 

	public const int featHeavyEater = 1234;

	public const int featMimic = 1425; 
	public const int featCosmicHorror = 1233;

	public const int featBaby = 1232;

	public const int featPeaky = 1423; 
	public const int featNirvana = 1231;

	public const int featAdam = 1230;

public class FEAT

cs

	public const int featServant = 1227;

	public const int featUnderground = 1226; 
	public const int featLoyal = 1225; 
	public const int featTourist = 1406; 
	public const int featLightEater = 1235; 
	public const int featVampire = 1250; 

	public const int featRoran = 1237; 
	public const int featUnderground = 1226; 

	public const int featElder = 1238;

public class FEAT

cs

	public const int featLibra = 1247;

	public const int featNorland = 1236; 
	public const int featPaladin = 1407; 
	public const int featMiscreation = 1248; 

	public const int featGod_luck1 = 1330; 
	public const int featRoran = 1237; 

	public const int featBoost = 1409;

	public const int featGod_oblivion1 = 1340; 
	public const int featEarthStrength = 1411; 
	public const int featPeaky = 1423; 
	public const int featHealer = 1422; 
	public const int featManaMeat = 1421;

	public const int featExecutioner = 1420;

public class FEAT

cs

	public const int featSwordsage = 1418;

	public const int featWitch = 1417; 
	public const int featReboot = 1410; 

	public const int featInquisitor = 1416;

	public const int featPaladin2 = 1408; 
	public const int featFoxMaid = 1415; 

	public const int featWhiteVixen = 1414;

public class FEAT

cs

	public const int featLuckyCat = 1412;

	public const int featEarthStrength = 1411; 
	public const int featReboot = 1410; 
	public const int featFoxMaid = 1415; 
	public const int featWitch = 1417; 

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

FOOD

public class FOOD

cs
public class FOOD
{
	public const int food_god = 758; 
	public const int creativeDish = 764; 
	public const int food_blood = 710;

	public const int food_undead = 709;

	public const int food_CHA = 700; 
	public const int food_human = 708;

	public const int kirimi = 707; 
	public const int food_cat = 701; 

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

	public const int gainWeight = 705;

	public const int food_bug = 704; 
	public const int food_love = 703;

	public const int food_poison = 702;

	public const int food_cat = 701; 
	public const int loseWeight = 706; 
	public const int justcooked = 757; 
	public const int creativeDish = 764; 
	public const int kirimi = 707; 

	public const int food_god = 758; 
	public const int food_CHA = 700; 

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

GoalAutoCombat

public override bool TryAbortCombat()

cs
			Msg.Say("abort_idle");
			return true;
		}
		ConDeathSentense condition = owner.GetCondition<ConDeathSentense>(); 
		if (condition != null && condition.value <= 3) 
		{ 
			Msg.Say("abort_sentense"); 
			return true; 
		} 
		return false;
	}
}

MUTATION

public class MUTATION

cs
public class MUTATION
{
	public const int mutationStr = 1520; 
	public const int mutationCha = 1522; 
	public const int mutationStrN = 1521; 

	public const int mutationSpeedN = 1519;

	public const int mutationSpeed = 1518;

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

	public const int mutationDexN = 1515;

public class MUTATION

cs

	public const int mutationSkin = 1510;

	public const int mutationStrN = 1521; 
	public const int mutationStr = 1520; 

	public const int mutationRegenN = 1517;

public class MUTATION

cs

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

POLICY

public class POLICY

cs
{
	public const int legendary_heirloom = 2821;

	public const int store_premium = 2817; 
	public const int license_food = 2818;

	public const int license_furniture = 2819;

public class POLICY

cs

	public const int breed_season = 2827;

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

	public const int legendary_exhibition = 2823;

	public const int platinum_ticket = 2815; 
	public const int store_ripoff = 2816; 

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

	public const int suite_room = 2813; 
	public const int mass_exhibition = 2814; 

	public const int taxfree = 2514;

public class POLICY

cs

	public const int legal_drug = 2505;

	public const int mass_exhibition = 2814; 
	public const int platinum_ticket = 2815; 

	public const int wealth_tax = 2500;

public class POLICY

cs

	public const int food_for_people = 2502;

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

	public const int resident_tax = 2512; 
	public const int self_sufficient = 2511;

	public const int ban_radio = 2510;

public class POLICY

cs

	public const int trash_sort = 2701;

	public const int demon_invocation = 2706; 
	public const int energy_conservation = 2700; 

	public const int auto_farm = 2707;

	public const int taxTransfer = 2705; 
	public const int noDM = 2708; 

	public const int energy_conservation = 2700; 
	public const int demon_invocation = 2706; 

	public const int noAnimal = 2709;

	public const int noMother = 2710; 
	public const int incomeTransfer = 2711;

	public const int noDM = 2708; 
	public const int forcePanty = 2712; 

	public const int livestock_priv = 2715;

	public const int home_discount = 2800; 
	public const int noMother = 2710; 

	public const int open_business = 2810;

public class POLICY

cs

	public const int bed_quality = 2812;

	public const int suite_room = 2813; 
	public const int taxTransfer = 2705; 
	public const int border_watch = 2704;

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

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

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

SKILL

public class SKILL

cs
public class SKILL
{
	public const int armorLight = 120; 
	public const int fireproof = 50;

	public const int climbing = 242;

public class SKILL

cs

	public const int weaponBlunt = 111;

	public const int armorLight = 120; 
	public const int armorHeavy = 122;

	public const int twohand = 130; 
	public const int twowield = 131;

	public const int twohand = 130; 
	public const int music = 241;

	public const int travel = 240;

public class SKILL

cs

	public const int vigor = 62;

	public const int weaponDagger = 107; 
	public const int weaponPolearm = 106; 

	public const int PER = 73;

public class SKILL

cs

	public const int fishing = 245;

	public const int weaponPolearm = 106; 
	public const int weaponDagger = 107; 

	public const int carpentry = 255;

public class SKILL

cs

	public static readonly int[] IDS = new int[134]
	{
		50, 242, 108, 109, 110, 111, 120, 122, 130, 131, 
		120, 50, 242, 108, 109, 110, 111, 122, 131, 130, 
		241, 240, 237, 235, 230, 227, 226, 225, 123, 220,
		200, 152, 151, 150, 135, 134, 133, 132, 210, 207,
		100, 105, 71, 70, 68, 67, 66, 65, 72, 64,
		61, 60, 57, 56, 55, 51, 62, 107, 73, 75, 
		61, 60, 57, 56, 55, 51, 62, 106, 73, 75, 
		104, 103, 102, 101, 94, 93, 74, 92, 90, 80,
		79, 78, 77, 76, 91, 245, 106, 255, 916, 917, 
		79, 78, 77, 76, 91, 245, 107, 255, 916, 917, 
		918, 920, 921, 922, 923, 924, 925, 926, 950, 951,
		952, 953, 915, 954, 956, 957, 958, 959, 960, 961,
		962, 963, 964, 965, 970, 972, 971, 250, 955, 914,

TCOrbit

public class TCOrbit : TC

cs
	public virtual void Refresh()
	{
	}
	public virtual void RefreshAll() 
	{ 
	} 
}

TCOrbitChara

public override void Refresh()

cs
		}
	}

	public void RefreshAll() 
	public override void RefreshAll() 
	{
		showHP = (showHP2 = (showIcon = false));
		if (owner.isDead || owner.host != null)

TCOrbitThing

public override void Refresh()

cs
		}
	}

	public void RefreshAll() 
	public override void RefreshAll() 
	{
		_ = EMono.core.refs.orbitIcons;
		Emo2 emo = Emo2.none;

TileType

public enum RampType

cs

	public static TileTypeObjFloat ObjFloat = new TileTypeObjFloat();

	public static TileTypeObjFloat ObjFloatWaterfall = new TileTypeObjFloatWaterfall(); 
	public static TileTypeObjWater ObjWater = new TileTypeObjWater();

	public static TileTypeObjWaterTop ObjWaterTop = new TileTypeObjWaterTop();

public virtual int MaxAltitude

cs

	public virtual bool AlwaysShowShadow => false;

	public virtual bool AlwaysShow => false; 
	public virtual bool RepeatBlock => false;

	public virtual bool ForceRpeatBlock => false;

+TileTypeObjFloatWaterfall

File Created
cs
public class TileTypeObjFloatWaterfall : TileTypeObjFloat
{
	public override bool AlwaysShow => true;
}

TraitSyringeHeaven

public override void TrySetHeldAct(ActPlan p)

cs
		{
			EffectInject(EClass.pc, c);
			c.AddCondition<ConHallucination>(50);
			if ((c.trait is TraitLittleOne) & !c.HasCondition<ConDeathSentense>()) 
			if (c.trait is TraitLittleOne && !c.HasCondition<ConDeathSentense>()) 
			{
				EClass.player.ModKarma(3);
				c.AddCondition<ConDeathSentense>(100, force: true); 
				c.AddCondition(Condition.Create(100, delegate(ConDeathSentense con) 
				{ 
					con.euthanasia = true; 
				}), force: true); 
			}
			owner.ModNum(-1);
			return true;

TraitWhipEgg

public override void TrySetHeldAct(ActPlan p)

cs
					owner.Destroy();
				}
				EClass.player.ModKarma(-1);
				if (c.isChara && c.Chara.mimicry != null) 
				{ 
					c.Chara.mimicry.RevealMimicry(EClass.pc, surprise: false); 
				} 
				return true;
			}, c);
		}

Zone

public void OnVisit()

cs
			item.Destroy();
		}
	}
	if (!EClass.game.isLoading) 
	{ 
		foreach (Chara chara2 in EClass._map.charas) 
		{ 
			if (chara2.HasCondition<ConDeathSentense>()) 
			{ 
				chara2.RemoveCondition<ConDeathSentense>(); 
			} 
		} 
	} 
	RefreshCriminal();
	EClass._map.rooms.AssignCharas();
	events.OnVisit();

public void OnVisit()

cs
		}
	}

	public void OnCharaDie() 
	{ 
		foreach (Chara chara in EClass._map.charas) 
		{ 
			if (chara.HasCondition<ConDeathSentense>()) 
			{ 
				chara.GetCondition<ConDeathSentense>().TryRemove(); 
			} 
		} 
	} 
	public void Revive()
	{
		base.dateRevive = EClass.world.date.GetRaw() + 1440 * EClass.setting.balance.dateRevive;