Skip to content

EA 23.44

November 30, 2024

20 files modified.

Breaking Changes

Click the file name to view the chunk.

Card (4)

cs
private bool <SpawnLoot>g__chance|735_0(int i) 
cs
internal static bool <MakeFoodRef>g__IsIgnoreName|739_0(Card c) 
cs
private bool <Decay>g__IsParentLocked|806_0() 
cs
internal static int <Dist>g__DistMulti|843_0(Point p1, Card c) 

Chara (1)

cs
public void RefreshSpeed() 
public void RefreshSpeed(Element.BonusInfo info = null) 

Element.2 (1)

cs
internal static string <_WriteNote>g__Calc|101_0(ref Element.<>c__DisplayClass101_0 A_0) 

ElementContainer (1)

cs
internal static void <ListElements>g__AddElements|55_0(ElementContainer container, ref ElementContainer.<>c__DisplayClass55_0 A_1) 

Feat.2 (6)

cs
private void <Apply>g__Note|17_0(string s, ref Feat.<>c__DisplayClass17_0 A_2) 
cs
private void <Apply>g__NoteElement|17_1(int ele, int a, ref Feat.<>c__DisplayClass17_0 A_3) 
cs
private void <Apply>g__ModBase|17_2(int ele, int _v, bool hide, ref Feat.<>c__DisplayClass17_0 A_4) 
cs
private void <Apply>g__ModPotential|17_3(int ele, int _v, ref Feat.<>c__DisplayClass17_0 A_3) 
cs
private void <Apply>g__ModAttribute|17_4(int ele, ref Feat.<>c__DisplayClass17_0 A_2) 
cs
private void <Apply>g__GodHint|17_5(ref Feat.<>c__DisplayClass17_0 A_1) 

Ability.2

@@ -3,6 +3,14 @@

cs

public class Ability : Act
{
	public override bool ShowBonuses
	{ 
		get
		{ 
			return false; 
		} 
	} 

	public override bool CanLink(ElementContainer owner)
	{
		return owner.Card == null && !base.IsGlobalElement;

AttackProcess

@@ -95,11 +95,16 @@ public void Prepare(Chara _CC, Thing _weapon, Card _TC = null, Point _TP = null,

cs
	else if (this.IsMartial || this.IsMartialWeapon)
	{
		this.weaponSkill = this.CC.elements.GetOrCreateElement(100);
		bool flag2 = this.weapon != null && this.weapon.Evalue(482) > 0; 
		if (flag2) 
		{ 
			this.weaponSkill = this.CC.elements.GetOrCreateElement(305); 
		} 
		this.attackType = (this.CC.race.meleeStyle.IsEmpty() ? ((EClass.rnd(2) == 0) ? AttackType.Kick : AttackType.Punch) : this.CC.race.meleeStyle.ToEnum(true));
		this.dBonus = this.CC.DMG + this.CC.encLV + (int)Mathf.Sqrt((float)Mathf.Max(0, this.CC.STR / 5 + this.weaponSkill.Value / 4));
		this.dNum = 2 + Mathf.Min(this.weaponSkill.Value / 10, 4);
		this.dDim = 5 + (int)Mathf.Sqrt((float)Mathf.Max(0, this.weaponSkill.Value / 3));
		this.dMulti = 0.6f + (float)(this.CC.STR / 2 + this.weaponSkill.Value / 2 + this.CC.Evalue(132) / 2) / 50f; 
		this.dMulti = 0.6f + (float)(this.CC.STR / 2 + this.weaponSkill.Value / 2 + this.CC.Evalue(flag2 ? 304 : 132) / 2) / 50f; 
		this.dMulti += 0.05f * (float)this.CC.Evalue(1400);
		this.toHitBase = EClass.curve(this.CC.DEX / 3 + this.CC.STR / 3 + this.weaponSkill.Value, 50, 25, 75) + 50;
		this.toHitFix = this.CC.HIT;

@@ -135,15 +140,15 @@ public void Prepare(Chara _CC, Thing _weapon, Card _TC = null, Point _TP = null,

cs
		{
			this.attackType = this.weapon.source.attackType.ToEnum(true);
		}
		bool flag2 = this.IsCane || this.weapon.Evalue(482) > 0; 
		if (flag2) 
		bool flag3 = this.IsCane || this.weapon.Evalue(482) > 0; 
		if (flag3) 
		{
			this.weaponSkill = this.CC.elements.GetOrCreateElement(305);
		}
		this.dBonus = this.CC.DMG + this.CC.encLV + this.weapon.DMG;
		this.dNum = this.weapon.source.offense[0];
		this.dDim = this.weapon.c_diceDim;
		this.dMulti = 0.6f + (float)(this.weaponSkill.GetParent(this.CC).Value + this.weaponSkill.Value / 2 + this.CC.Evalue(flag2 ? 304 : (this.IsRanged ? 133 : 132))) / 50f; 
		this.dMulti = 0.6f + (float)(this.weaponSkill.GetParent(this.CC).Value + this.weaponSkill.Value / 2 + this.CC.Evalue(flag3 ? 304 : (this.IsRanged ? 133 : 132))) / 50f; 
		this.dMulti += 0.05f * (float)this.CC.Evalue(this.IsRanged ? 1404 : 1400);
		this.toHitBase = EClass.curve((this.IsCane ? this.CC.WIL : this.CC.DEX) / 4 + this.weaponSkill.GetParent(this.CC).Value / 3 + this.weaponSkill.Value, 50, 25, 75) + 50;
		this.toHitFix = this.CC.HIT + this.weapon.HIT;

CINT

@@ -139,4 +139,6 @@ public class CINT

cs
	public const int isTrained = 120;

	public const int isPrayed = 121;

	public const int isDisableStockUse = 122; 
}

Card

@@ -989,6 +989,18 @@ public bool c_isPrayed

cs
		}
	}

	public bool c_isDisableStockUse 
	{ 
		get 
		{ 
			return base.GetInt(122, null) != 0; 
		} 
		set 
		{ 
			base.SetInt(122, value ? 1 : 0); 
		} 
	} 

	public int c_lightColor
	{
		get

@@ -3243,7 +3255,7 @@ public Thing AddThing(Thing t, bool tryStack = true, int destInvX = -1, int dest

cs
			return thing;
		}
	}
	Card.<>c__DisplayClass689_0 CS$<>8__locals1 = new Card.<>c__DisplayClass689_0(); 
	Card.<>c__DisplayClass692_0 CS$<>8__locals1 = new Card.<>c__DisplayClass692_0(); 
	t.isNPCProperty = false;
	t.isGifted = false;
	CS$<>8__locals1.count = 0;

@@ -3890,7 +3902,7 @@ public void DamageHP(int dmg, AttackSource attackSource = AttackSource.None, Car

cs

	public void DamageHP(int dmg, int ele, int eleP = 100, AttackSource attackSource = AttackSource.None, Card origin = null, bool showEffect = true)
	{
		Card.<>c__DisplayClass730_0 CS$<>8__locals1 = new Card.<>c__DisplayClass730_0(); 
		Card.<>c__DisplayClass733_0 CS$<>8__locals1 = new Card.<>c__DisplayClass733_0(); 
		CS$<>8__locals1.<>4__this = this;
		CS$<>8__locals1.dmg = dmg;
		CS$<>8__locals1.origin = origin;

@@ -4711,13 +4723,13 @@ public void SpawnLoot(Card origin)

cs
		{
			i = 10;
		}
		if (this.<SpawnLoot>g__chance|735_0(i)) 
		if (this.<SpawnLoot>g__chance|738_0(i)) 
		{
			Thing thing = ThingGen.Create("figure", -1, -1);
			thing.MakeFigureFrom(this.id);
			list.Add(thing);
		}
		if (this.<SpawnLoot>g__chance|735_0(i)) 
		if (this.<SpawnLoot>g__chance|738_0(i)) 
		{
			Thing thing2 = ThingGen.Create("figure3", -1, -1);
			thing2.MakeFigureFrom(this.id);

@@ -4759,7 +4771,7 @@ public void SpawnLoot(Card origin)

cs
		}
		list.Add(thing3);
	}
	if (!this.IsPCFaction && this.<SpawnLoot>g__chance|735_0(200)) 
	if (!this.IsPCFaction && this.<SpawnLoot>g__chance|738_0(200)) 
	{
		list.Add(this.Chara.MakeGene(null));
	}

@@ -4776,11 +4788,11 @@ public void SpawnLoot(Card origin)

cs
		}
		if (race.IsMachine)
		{
			if (this.<SpawnLoot>g__chance|735_0(20)) 
			if (this.<SpawnLoot>g__chance|738_0(20)) 
			{
				list.Add(ThingGen.Create("microchip", -1, -1));
			}
			if (this.<SpawnLoot>g__chance|735_0(15)) 
			if (this.<SpawnLoot>g__chance|738_0(15)) 
			{
				list.Add(ThingGen.Create("battery", -1, -1));
			}

@@ -4789,20 +4801,20 @@ public void SpawnLoot(Card origin)

cs
		{
			if (race.IsAnimal)
			{
				if (this.<SpawnLoot>g__chance|735_0(15)) 
				if (this.<SpawnLoot>g__chance|738_0(15)) 
				{
					list.Add(ThingGen.Create("fang", -1, -1));
				}
				if (this.<SpawnLoot>g__chance|735_0(10)) 
				if (this.<SpawnLoot>g__chance|738_0(10)) 
				{
					list.Add(ThingGen.Create("skin", -1, -1));
				}
			}
			if (this.<SpawnLoot>g__chance|735_0(20)) 
			if (this.<SpawnLoot>g__chance|738_0(20)) 
			{
				list.Add(ThingGen.Create("offal", -1, -1));
			}
			if (this.<SpawnLoot>g__chance|735_0(20)) 
			if (this.<SpawnLoot>g__chance|738_0(20)) 
			{
				list.Add(ThingGen.Create("heart", -1, -1));
			}

@@ -5139,11 +5151,11 @@ public void MakeFoodRef(Card c1, Card c2 = null)

cs
{
	Card card = c1;
	Card card2 = c2;
	if (Card.<MakeFoodRef>g__IsIgnoreName|739_0(card)) 
	if (Card.<MakeFoodRef>g__IsIgnoreName|742_0(card)) 
	{
		card = null;
	}
	if (Card.<MakeFoodRef>g__IsIgnoreName|739_0(card2)) 
	if (Card.<MakeFoodRef>g__IsIgnoreName|742_0(card2)) 
	{
		card2 = null;
	}

@@ -6021,7 +6033,7 @@ public void Decay(int a = 10)

cs
			{
				Thing thing = TraitSeed.MakeRandomSeed(true).SetNum(Mathf.Min(this.Num, 3));
				card.AddCard(thing);
				if (!this.<Decay>g__IsParentLocked|806_0()) 
				if (!this.<Decay>g__IsParentLocked|809_0()) 
				{
					this.GetRootCard().Say("seed_rot", this.GetRootCard(), this, thing.Name, null);
				}

@@ -6034,7 +6046,7 @@ public void Decay(int a = 10)

cs
			}
			else if (this.GetRootCard() == EClass.pc)
			{
				if (!this.<Decay>g__IsParentLocked|806_0()) 
				if (!this.<Decay>g__IsParentLocked|809_0()) 
				{
					EClass.pc.Say("rotInv", this, EClass.pc, null, null);
				}

@@ -6048,7 +6060,7 @@ public void Decay(int a = 10)

cs
	}
	else if (this.decay < num2 && this.decay + a >= num2 && this.GetRootCard() == EClass.pc)
	{
		if (!this.<Decay>g__IsParentLocked|806_0()) 
		if (!this.<Decay>g__IsParentLocked|809_0()) 
		{
			EClass.pc.Say("rottingInv", this, EClass.pc, null, null);
		}

@@ -7016,7 +7028,7 @@ public int Dist(Card c)

cs
		int dist = 99;
		this.ForeachPoint(delegate(Point p, bool main)
		{
			int num = Card.<Dist>g__DistMulti|843_0(p, c); 
			int num = Card.<Dist>g__DistMulti|846_0(p, c); 
			if (num < dist)
			{
				dist = num;

@@ -7024,7 +7036,7 @@ public int Dist(Card c)

cs
			});
			return dist;
		}
		return Card.<Dist>g__DistMulti|843_0(this.pos, c); 
		return Card.<Dist>g__DistMulti|846_0(this.pos, c); 
	}

	public int Dist(Point p)

@@ -7227,7 +7239,7 @@ public bool CanBeSheared()

cs
	}

	[CompilerGenerated]
	private bool <SpawnLoot>g__chance|735_0(int i) 
	private bool <SpawnLoot>g__chance|738_0(int i) 
	{
		i = i * 100 / (100 + EClass.player.codex.GetOrCreate(this.id).BonusDropLv * 10);
		if (i < 1)

@@ -7238,7 +7250,7 @@ public bool CanBeSheared()

cs
	}

	[CompilerGenerated]
	internal static bool <MakeFoodRef>g__IsIgnoreName|739_0(Card c) 
	internal static bool <MakeFoodRef>g__IsIgnoreName|742_0(Card c) 
	{
		if (c == null)
		{

@@ -7249,13 +7261,13 @@ public bool CanBeSheared()

cs
	}

	[CompilerGenerated]
	private bool <Decay>g__IsParentLocked|806_0() 
	private bool <Decay>g__IsParentLocked|809_0() 
	{
		return this.parent is Thing && (this.parent as Thing).c_lockLv > 0;
	}

	[CompilerGenerated]
	internal static int <Dist>g__DistMulti|843_0(Point p1, Card c) 
	internal static int <Dist>g__DistMulti|846_0(Point p1, Card c) 
	{
		if (!c.IsMultisize)
		{

Chara

@@ -1496,7 +1496,7 @@ public int Speed

cs
	{
		if (this.dirtySpeed)
		{
			this.RefreshSpeed(); 
			this.RefreshSpeed(null); 
		}
		return this._Speed;
	}

@@ -1511,11 +1511,11 @@ public void SetDirtySpeed()

cs
		}
	}

	public void RefreshSpeed() 
	public void RefreshSpeed(Element.BonusInfo info = null) 
	{
		if (this.ride != null && !this.ride.IsDeadOrSleeping)
		{
			this.ride.RefreshSpeed(); 
			this.ride.RefreshSpeed(null); 
			this._Speed = this.ride._Speed;
		}
		else if (this.host != null)

@@ -1550,15 +1550,31 @@ public void RefreshSpeed()

cs
		{
		case 1:
			num -= 10;
			if (info != null) 
			{ 
				info.AddFix(-10, this.burden.GetPhaseStr()); 
			} 
			break;
		case 2:
			num -= 20;
			if (info != null) 
			{ 
				info.AddFix(-20, this.burden.GetPhaseStr()); 
			} 
			break;
		case 3:
			num -= 30;
			if (info != null) 
			{ 
				info.AddFix(-30, this.burden.GetPhaseStr()); 
			} 
			break;
		case 4:
			num -= (this.IsPC ? 50 : 100);
			if (info != null) 
			{ 
				info.AddFix(this.IsPC ? -50 : -100, this.burden.GetPhaseStr()); 
			} 
			break;
		}
		if (this.IsPC)

@@ -1569,11 +1585,19 @@ public void RefreshSpeed()

cs
				if (phase == 1)
				{
					num -= 10;
					if (info != null) 
					{ 
						info.AddFix(-10, this.stamina.GetPhaseStr()); 
					} 
				}
			}
			else
			{
				num -= 20;
				if (info != null) 
				{ 
					info.AddFix(-20, this.stamina.GetPhaseStr()); 
				} 
			}
			phase = this.sleepiness.GetPhase();
			if (phase != 2)

@@ -1581,34 +1605,62 @@ public void RefreshSpeed()

cs
				if (phase == 3)
				{
					num -= 20;
					if (info != null) 
					{ 
						info.AddFix(-20, this.sleepiness.GetPhaseStr()); 
					} 
				}
			}
			else
			{
				num -= 10;
				if (info != null) 
				{ 
					info.AddFix(-10, this.sleepiness.GetPhaseStr()); 
				} 
			}
			switch (this.hunger.GetPhase())
			{
			case 3:
			case 4:
				num -= 10;
				if (info != null) 
				{ 
					info.AddFix(-10, this.hunger.GetPhaseStr()); 
				} 
				break;
			case 5:
				num -= 30;
				if (info != null) 
				{ 
					info.AddFix(-30, this.hunger.GetPhaseStr()); 
				} 
				break;
			}
			num += EClass.player.lastEmptyAlly * base.Evalue(1646);
			if (info != null) 
			{ 
				info.AddFix(EClass.player.lastEmptyAlly * base.Evalue(1646), EClass.sources.elements.map[1646].GetName()); 
			} 
		}
		if (this.IsPCParty && EClass.player.lastEmptyAlly < 0)
		{
			num += EClass.player.lastEmptyAlly * 10 - 10;
			if (info != null) 
			{ 
				info.AddFix(EClass.player.lastEmptyAlly * 10 - 10, "exceedParty".lang()); 
			} 
		}
	}
	this._Speed = this._Speed * num / 100; 
	if (this.HasCondition<ConGravity>())
	{
		this._Speed = this._Speed * 2 / 3; 
		num -= 30; 
		if (info != null) 
		{ 
			info.AddFix(-30, this.GetCondition<ConGravity>().Name); 
		} 
	}
	this._Speed = this._Speed * num / 100; 
	if (this._Speed < 10)
	{
		this._Speed = 10;

ConGravity

@@ -15,7 +15,7 @@ public override void OnRefresh()

cs
		this.owner._isLevitating = false;
		if (EClass.core.IsGameStarted)
		{
			this.owner.RefreshSpeed(); 
			this.owner.RefreshSpeed(null); 
		}
	}

Element.2

@@ -252,6 +252,14 @@ public virtual bool ShowRelativeAttribute

cs
		}
	}

	public virtual bool ShowBonuses 
	{ 
		get 
		{ 
			return true; 
		} 
	} 

	public virtual string ShortName
	{
		get

@@ -467,7 +475,7 @@ public void WriteNoteWithRef(UINote n, ElementContainer owner, Action<UINote> on

cs

	public void _WriteNote(UINote n, Chara c, Act act)
	{
		Element.<>c__DisplayClass101_0 CS$<>8__locals1; 
		Element.<>c__DisplayClass103_0 CS$<>8__locals1; 
		CS$<>8__locals1.c = c;
		CS$<>8__locals1.e = CS$<>8__locals1.c.elements.GetOrCreateElement(act.source.id);
		Act.Cost cost = CS$<>8__locals1.e.GetCost(CS$<>8__locals1.c);

@@ -503,7 +511,7 @@ public void _WriteNote(UINote n, Chara c, Act act)

cs
			}
			else
			{
				string text3 = text2.Replace("#calc", Element.<_WriteNote>g__Calc|101_0(ref CS$<>8__locals1)); 
				string text3 = text2.Replace("#calc", Element.<_WriteNote>g__Calc|103_0(ref CS$<>8__locals1)); 
				if (!this.source.aliasRef.IsEmpty())
				{
					text3 = text3.Replace("#ele", EClass.sources.elements.alias[this.source.aliasRef].GetName().ToLower());

@@ -560,6 +568,10 @@ public void _WriteNote(UINote n, ElementContainer owner, Action<UINote> onWriteN

cs
		n.Space(6, 1);
	}
	int num = this.vLink;
	if (owner.Chara != null && owner.Chara.IsPCFaction) 
	{ 
		num += EClass.pc.faction.charaElements.Value(this.id); 
	} 
	bool flag = this.ShowValue;
	bool flag2 = this.ShowRelativeAttribute;
	if (this.source.category == "landfeat")

@@ -617,6 +629,15 @@ public void _WriteNote(UINote n, ElementContainer owner, Action<UINote> onWriteN

cs
		{
			onWriteNote(n);
		}
		if (this.ShowBonuses && owner.Chara != null) 
		{ 
			new Element.BonusInfo
			{ 
				ele = this, 
				n = n, 
				c = owner.Chara 
			}.WriteNote(); 
		} 
		UIText.globalSizeMod = 0;
	}

@@ -816,7 +837,7 @@ public static int GetResistDamage(int dmg, int v)

cs
	}

	[CompilerGenerated]
	internal static string <_WriteNote>g__Calc|101_0(ref Element.<>c__DisplayClass101_0 A_0) 
	internal static string <_WriteNote>g__Calc|103_0(ref Element.<>c__DisplayClass103_0 A_0) 
	{
		Dice dice = Dice.Create(A_0.e, A_0.c);
		if (dice == null)

@@ -894,4 +915,130 @@ public static int GetResistDamage(int dmg, int v)

cs
	public static List<SourceElement.Row> ListElements = new List<SourceElement.Row>();

	public static List<SourceElement.Row> ListAttackElements = new List<SourceElement.Row>();

	public class BonusInfo
	{ 
		public void AddText(int v, string text, string textBad = null) 
		{ 
			if (v == 0) 
			{ 
				return; 
			} 
			string text2 = text; 
			if (!textBad.IsEmpty() && v < 0) 
			{ 
				text2 = textBad; 
			} 
			if (this.first) 
			{ 
				this.first = false; 
				this.n.Space(8, 1); 
			} 
			this.total += v; 
			this.n.AddText(string.Concat(new string[] 
			{ 
				"_bullet".lang(), 
				text2, 
				" ", 
				(v > 0) ? "+" : "", 
				v.ToString() 
			}), (v > 0) ? FontColor.Good : FontColor.Bad); 
		} 

		public void AddFix(int v, string text) 
		{ 
			if (v == 0) 
			{ 
				return; 
			} 
			if (this.first) 
			{ 
				this.first = false; 
				this.n.Space(8, 1); 
			} 
			this.n.AddText(string.Concat(new string[] 
			{ 
				"_bullet".lang(), 
				text, 
				" ", 
				(v > 0) ? "+" : "", 
				v.ToString(), 
				"%"
			}), (v > 0) ? FontColor.Good : FontColor.Bad); 
		} 

		public void WriteNote() 
		{ 
			int id = this.ele.id; 
			int num = 0; 
			foreach (BodySlot bodySlot in this.c.body.slots) 
			{ 
				if (bodySlot.elementId != 44 && bodySlot.thing != null && ((id != 67 && id != 66) || bodySlot.elementId != 35)) 
				{ 
					Element orCreateElement = bodySlot.thing.elements.GetOrCreateElement(id); 
					if (orCreateElement != null && !orCreateElement.IsGlobalElement) 
					{ 
						num += orCreateElement.Value; 
					} 
				} 
			} 
			this.AddText(num, "equipment".lang(), null); 
			if (this.c.IsPCFaction) 
			{ 
				Element element = EClass.pc.faction.charaElements.GetElement(id); 
				if (element != null) 
				{ 
					this.AddText(element.Value, "sub_faction".lang(), null); 
				} 
			} 
			foreach (Condition condition in this.c.conditions) 
			{ 
				if (condition.elements != null) 
				{ 
					this.AddText(condition.elements.Value(id), condition.Name, null); 
				} 
			} 
			if (this.c.tempElements != null) 
			{ 
				this.AddText(this.c.tempElements.Value(id), "tempStrengthen".lang(), "tempWeaken".lang()); 
			} 
			try
			{ 
				if (this.c.faithElements != null) 
				{ 
					Element element2 = this.c.elements.GetElement("featGod_" + this.c.faith.id + "1"); 
					if (element2 != null) 
					{ 
						this.AddText(this.c.faithElements.Value(id), element2.Name, null); 
					} 
				} 
			} 
			catch
			{ 
			} 
			int value = this.ele.Value; 
			int num2 = this.ele.ValueWithoutLink + this.total; 
			foreach (Element element3 in this.c.elements.dict.Values) 
			{ 
				if (element3.HasTag("multiplier") && element3.source.aliasRef == this.ele.source.alias) 
				{ 
					this.AddFix(element3.Value, element3.Name); 
				} 
			} 
			if (id == 79) 
			{ 
				this.c.RefreshSpeed(this); 
			} 
		} 

		public Element ele; 

		public UINote n; 

		public Chara c; 

		public bool first = true; 

		public int total; 
	} 
}

ElementContainer

@@ -518,7 +518,8 @@ public int GetSpellExp(Chara c, Element e, int costMod = 100)

cs

	public Element GetElement(string alias)
	{
		return this.GetElement(EClass.sources.elements.alias[alias].id); 
		SourceElement.Row row = EClass.sources.elements.alias.TryGetValue(alias, null); 
		return this.GetElement((row != null) ? row.id : 0); 
	}

	public Element GetElement(int id)

@@ -590,16 +591,17 @@ public void SetParent(ElementContainer newParent = null)

cs

	public List<Element> ListElements(Func<Element, bool> shoudList = null, Comparison<Element> comparison = null)
	{
		List<Element> list = new List<Element>(); 
		ElementContainer.<>c__DisplayClass55_0 CS$<>8__locals1;
		CS$<>8__locals1.<>4__this = this; 
		List<Element> list = new List<Element>(); 
		CS$<>8__locals1.eles = this.dict.Values.ToList<Element>();
		if (this.Card != null && this.Card.Chara != null)
		{
			if (this.Card.Chara.IsPCFaction)
			{
				ElementContainer.<ListElements>g__AddElements|55_0(EClass.pc.faction.charaElements, ref CS$<>8__locals1); 
				this.<ListElements>g__AddElements|55_0(EClass.pc.faction.charaElements, true, ref CS$<>8__locals1); 
			}
			ElementContainer.<ListElements>g__AddElements|55_0(this.Card.Chara.faithElements, ref CS$<>8__locals1); 
			this.<ListElements>g__AddElements|55_0(this.Card.Chara.faithElements, false, ref CS$<>8__locals1); 
		}
		foreach (Element element in CS$<>8__locals1.eles)
		{

@@ -860,7 +862,7 @@ public void AddNoteAll(UINote n)

cs
	}

	[CompilerGenerated]
	internal static void <ListElements>g__AddElements|55_0(ElementContainer container, ref ElementContainer.<>c__DisplayClass55_0 A_1) 
	private void <ListElements>g__AddElements|55_0(ElementContainer container, bool isGlobal, ref ElementContainer.<>c__DisplayClass55_0 A_3) 
	{
		if (container == null)
		{

@@ -869,7 +871,7 @@ public void AddNoteAll(UINote n)

cs
	foreach (Element element in container.dict.Values)
	{
		bool flag = true;
		foreach (Element element2 in A_1.eles) 
		foreach (Element element2 in A_3.eles) 
		{
			if (element.id == element2.id)
			{

@@ -879,7 +881,15 @@ public void AddNoteAll(UINote n)

cs
		}
		if (flag && element.Value != 0)
		{
			A_1.eles.Add(element); 
			if (isGlobal) 
			{ 
				Element item = this.Card.Chara.elements.CreateElement(element.id); 
				A_3.eles.Add(item); 
			} 
			else
			{ 
				A_3.eles.Add(element); 
			} 
		}
	}
}

Feat.2

@@ -5,6 +5,14 @@

cs

public class Feat : Element
{
	public override bool ShowBonuses
	{ 
		get
		{ 
			return false; 
		} 
	} 

	public override string Name
	{
		get

@@ -91,7 +99,7 @@ public bool IsAvailable(ElementContainer owner, int a = 1)

cs

	public List<string> Apply(int a, ElementContainer owner, bool hint = false)
	{
		Feat.<>c__DisplayClass17_0 CS$<>8__locals1; 
		Feat.<>c__DisplayClass19_0 CS$<>8__locals1; 
		CS$<>8__locals1.hint = hint;
		CS$<>8__locals1.owner = owner;
		CS$<>8__locals1.a = a;

@@ -124,7 +132,7 @@ public List<string> Apply(int a, ElementContainer owner, bool hint = false)

cs
				switch (i)
				{
				case 1202:
					this.<Apply>g__ModBase|17_2(403, CS$<>8__locals1.a * 20, true, ref CS$<>8__locals1); 
					this.<Apply>g__ModBase|19_2(403, CS$<>8__locals1.a * 20, true, ref CS$<>8__locals1); 
					goto IL_12F3;
				case 1203:
				case 1205:

@@ -140,71 +148,71 @@ public List<string> Apply(int a, ElementContainer owner, bool hint = false)

cs
				case 1225:
					goto IL_12F3;
				case 1204:
					this.<Apply>g__ModBase|17_2(64, CS$<>8__locals1.a * 50, true, ref CS$<>8__locals1); 
					this.<Apply>g__ModBase|17_2(401, CS$<>8__locals1.a, false, ref CS$<>8__locals1); 
					this.<Apply>g__ModBase|19_2(64, CS$<>8__locals1.a * 50, true, ref CS$<>8__locals1); 
					this.<Apply>g__ModBase|19_2(401, CS$<>8__locals1.a, false, ref CS$<>8__locals1); 
					goto IL_12F3;
				case 1206:
					this.<Apply>g__ModBase|17_2(78, -CS$<>8__locals1.a * 10, false, ref CS$<>8__locals1); 
					this.<Apply>g__ModBase|19_2(78, -CS$<>8__locals1.a * 10, false, ref CS$<>8__locals1); 
					goto IL_12F3;
				case 1210:
					this.<Apply>g__ModBase|17_2(955, CS$<>8__locals1.a * 5, false, ref CS$<>8__locals1); 
					this.<Apply>g__ModBase|17_2(953, CS$<>8__locals1.a * 10, false, ref CS$<>8__locals1); 
					this.<Apply>g__ModBase|17_2(958, CS$<>8__locals1.a * 5, false, ref CS$<>8__locals1); 
					this.<Apply>g__ModBase|17_2(956, CS$<>8__locals1.a * 10, false, ref CS$<>8__locals1); 
					this.<Apply>g__ModBase|17_2(950, CS$<>8__locals1.a * -5, false, ref CS$<>8__locals1); 
					this.<Apply>g__ModBase|19_2(955, CS$<>8__locals1.a * 5, false, ref CS$<>8__locals1); 
					this.<Apply>g__ModBase|19_2(953, CS$<>8__locals1.a * 10, false, ref CS$<>8__locals1); 
					this.<Apply>g__ModBase|19_2(958, CS$<>8__locals1.a * 5, false, ref CS$<>8__locals1); 
					this.<Apply>g__ModBase|19_2(956, CS$<>8__locals1.a * 10, false, ref CS$<>8__locals1); 
					this.<Apply>g__ModBase|19_2(950, CS$<>8__locals1.a * -5, false, ref CS$<>8__locals1); 
					goto IL_12F3;
				case 1212:
					this.<Apply>g__ModBase|17_2(961, CS$<>8__locals1.a * 5, false, ref CS$<>8__locals1); 
					this.<Apply>g__ModBase|17_2(953, CS$<>8__locals1.a * 5, false, ref CS$<>8__locals1); 
					this.<Apply>g__ModBase|17_2(958, CS$<>8__locals1.a * 5, false, ref CS$<>8__locals1); 
					this.<Apply>g__ModBase|17_2(956, CS$<>8__locals1.a * 5, false, ref CS$<>8__locals1); 
					this.<Apply>g__ModBase|17_2(954, CS$<>8__locals1.a * 5, false, ref CS$<>8__locals1); 
					this.<Apply>g__ModBase|17_2(957, CS$<>8__locals1.a * 5, false, ref CS$<>8__locals1); 
					this.<Apply>g__ModBase|17_2(959, CS$<>8__locals1.a * 5, false, ref CS$<>8__locals1); 
					this.<Apply>g__ModBase|19_2(961, CS$<>8__locals1.a * 5, false, ref CS$<>8__locals1); 
					this.<Apply>g__ModBase|19_2(953, CS$<>8__locals1.a * 5, false, ref CS$<>8__locals1); 
					this.<Apply>g__ModBase|19_2(958, CS$<>8__locals1.a * 5, false, ref CS$<>8__locals1); 
					this.<Apply>g__ModBase|19_2(956, CS$<>8__locals1.a * 5, false, ref CS$<>8__locals1); 
					this.<Apply>g__ModBase|19_2(954, CS$<>8__locals1.a * 5, false, ref CS$<>8__locals1); 
					this.<Apply>g__ModBase|19_2(957, CS$<>8__locals1.a * 5, false, ref CS$<>8__locals1); 
					this.<Apply>g__ModBase|19_2(959, CS$<>8__locals1.a * 5, false, ref CS$<>8__locals1); 
					goto IL_12F3;
				case 1213:
					this.<Apply>g__ModBase|17_2(962, CS$<>8__locals1.a * 20, false, ref CS$<>8__locals1); 
					this.<Apply>g__ModBase|19_2(962, CS$<>8__locals1.a * 20, false, ref CS$<>8__locals1); 
					goto IL_12F3;
				case 1216:
					this.<Apply>g__ModBase|17_2(6020, CS$<>8__locals1.a, false, ref CS$<>8__locals1); 
					this.<Apply>g__ModBase|19_2(6020, CS$<>8__locals1.a, false, ref CS$<>8__locals1); 
					goto IL_12F3;
				case 1217:
					this.<Apply>g__ModBase|17_2(952, CS$<>8__locals1.a * -10, false, ref CS$<>8__locals1); 
					this.<Apply>g__ModBase|17_2(955, CS$<>8__locals1.a * 20, false, ref CS$<>8__locals1); 
					this.<Apply>g__ModBase|17_2(964, CS$<>8__locals1.a * 20, false, ref CS$<>8__locals1); 
					this.<Apply>g__ModBase|19_2(952, CS$<>8__locals1.a * -10, false, ref CS$<>8__locals1); 
					this.<Apply>g__ModBase|19_2(955, CS$<>8__locals1.a * 20, false, ref CS$<>8__locals1); 
					this.<Apply>g__ModBase|19_2(964, CS$<>8__locals1.a * 20, false, ref CS$<>8__locals1); 
					goto IL_12F3;
				case 1218:
					this.<Apply>g__ModBase|17_2(950, CS$<>8__locals1.a / 40, false, ref CS$<>8__locals1); 
					this.<Apply>g__ModBase|17_2(952, CS$<>8__locals1.a / 40, false, ref CS$<>8__locals1); 
					this.<Apply>g__ModBase|17_2(955, CS$<>8__locals1.a / 40, false, ref CS$<>8__locals1); 
					this.<Apply>g__ModBase|17_2(953, CS$<>8__locals1.a / 40, false, ref CS$<>8__locals1); 
					this.<Apply>g__ModBase|17_2(958, CS$<>8__locals1.a / 40, false, ref CS$<>8__locals1); 
					this.<Apply>g__ModBase|17_2(956, CS$<>8__locals1.a / 40, false, ref CS$<>8__locals1); 
					this.<Apply>g__ModBase|17_2(954, CS$<>8__locals1.a / 40, false, ref CS$<>8__locals1); 
					this.<Apply>g__ModBase|17_2(959, CS$<>8__locals1.a / 40, false, ref CS$<>8__locals1); 
					this.<Apply>g__ModBase|17_2(964, CS$<>8__locals1.a / 40, false, ref CS$<>8__locals1); 
					this.<Apply>g__ModBase|17_2(961, CS$<>8__locals1.a / 40, false, ref CS$<>8__locals1); 
					this.<Apply>g__ModBase|19_2(950, CS$<>8__locals1.a / 40, false, ref CS$<>8__locals1); 
					this.<Apply>g__ModBase|19_2(952, CS$<>8__locals1.a / 40, false, ref CS$<>8__locals1); 
					this.<Apply>g__ModBase|19_2(955, CS$<>8__locals1.a / 40, false, ref CS$<>8__locals1); 
					this.<Apply>g__ModBase|19_2(953, CS$<>8__locals1.a / 40, false, ref CS$<>8__locals1); 
					this.<Apply>g__ModBase|19_2(958, CS$<>8__locals1.a / 40, false, ref CS$<>8__locals1); 
					this.<Apply>g__ModBase|19_2(956, CS$<>8__locals1.a / 40, false, ref CS$<>8__locals1); 
					this.<Apply>g__ModBase|19_2(954, CS$<>8__locals1.a / 40, false, ref CS$<>8__locals1); 
					this.<Apply>g__ModBase|19_2(959, CS$<>8__locals1.a / 40, false, ref CS$<>8__locals1); 
					this.<Apply>g__ModBase|19_2(964, CS$<>8__locals1.a / 40, false, ref CS$<>8__locals1); 
					this.<Apply>g__ModBase|19_2(961, CS$<>8__locals1.a / 40, false, ref CS$<>8__locals1); 
					goto IL_12F3;
				case 1221:
					this.<Apply>g__ModBase|17_2(964, CS$<>8__locals1.a * 20, false, ref CS$<>8__locals1); 
					this.<Apply>g__ModBase|19_2(964, CS$<>8__locals1.a * 20, false, ref CS$<>8__locals1); 
					goto IL_12F3;
				case 1223:
					this.<Apply>g__ModBase|17_2(963, CS$<>8__locals1.a * 20, false, ref CS$<>8__locals1); 
					this.<Apply>g__ModBase|19_2(963, CS$<>8__locals1.a * 20, false, ref CS$<>8__locals1); 
					goto IL_12F3;
				case 1224:
					this.<Apply>g__ModBase|17_2(951, CS$<>8__locals1.a * 15, false, ref CS$<>8__locals1); 
					this.<Apply>g__ModBase|19_2(951, CS$<>8__locals1.a * 15, false, ref CS$<>8__locals1); 
					goto IL_12F3;
				case 1226:
					this.<Apply>g__ModBase|17_2(955, CS$<>8__locals1.a * 5, false, ref CS$<>8__locals1); 
					this.<Apply>g__ModBase|17_2(953, CS$<>8__locals1.a * 5, false, ref CS$<>8__locals1); 
					this.<Apply>g__ModBase|19_2(955, CS$<>8__locals1.a * 5, false, ref CS$<>8__locals1); 
					this.<Apply>g__ModBase|19_2(953, CS$<>8__locals1.a * 5, false, ref CS$<>8__locals1); 
					goto IL_12F3;
				default:
					if (i != 1230)
					{
						goto IL_12F3;
					}
					this.<Apply>g__ModBase|17_2(60, CS$<>8__locals1.A * 2 * CS$<>8__locals1.invert, false, ref CS$<>8__locals1); 
					this.<Apply>g__ModBase|17_2(79, CS$<>8__locals1.A * 3 * CS$<>8__locals1.invert, false, ref CS$<>8__locals1); 
					this.<Apply>g__ModBase|19_2(60, CS$<>8__locals1.A * 2 * CS$<>8__locals1.invert, false, ref CS$<>8__locals1); 
					this.<Apply>g__ModBase|19_2(79, CS$<>8__locals1.A * 3 * CS$<>8__locals1.invert, false, ref CS$<>8__locals1); 
					goto IL_12F3;
				}
			}

@@ -212,11 +220,11 @@ public List<string> Apply(int a, ElementContainer owner, bool hint = false)

cs
			{
				if (i == 1233)
				{
					this.<Apply>g__ModBase|17_2(954, CS$<>8__locals1.a * 10, false, ref CS$<>8__locals1); 
					this.<Apply>g__ModBase|17_2(423, CS$<>8__locals1.a, false, ref CS$<>8__locals1); 
					this.<Apply>g__ModBase|17_2(425, CS$<>8__locals1.a, false, ref CS$<>8__locals1); 
					this.<Apply>g__ModBase|17_2(424, CS$<>8__locals1.a, false, ref CS$<>8__locals1); 
					this.<Apply>g__ModBase|17_2(421, CS$<>8__locals1.a, false, ref CS$<>8__locals1); 
					this.<Apply>g__ModBase|19_2(954, CS$<>8__locals1.a * 10, false, ref CS$<>8__locals1); 
					this.<Apply>g__ModBase|19_2(423, CS$<>8__locals1.a, false, ref CS$<>8__locals1); 
					this.<Apply>g__ModBase|19_2(425, CS$<>8__locals1.a, false, ref CS$<>8__locals1); 
					this.<Apply>g__ModBase|19_2(424, CS$<>8__locals1.a, false, ref CS$<>8__locals1); 
					this.<Apply>g__ModBase|19_2(421, CS$<>8__locals1.a, false, ref CS$<>8__locals1); 
					goto IL_12F3;
				}
				if (i != 1300 && i != 1305)

@@ -259,7 +267,7 @@ public List<string> Apply(int a, ElementContainer owner, bool hint = false)

cs
			Feat.featRef[0] = ((CS$<>8__locals1.a * 10).ToString() ?? "");
			goto IL_12F3;
		case 1401:
			this.<Apply>g__ModBase|17_2(78, CS$<>8__locals1.a * 15, false, ref CS$<>8__locals1); 
			this.<Apply>g__ModBase|19_2(78, CS$<>8__locals1.a * 15, false, ref CS$<>8__locals1); 
			goto IL_12F3;
		case 1402:
		case 1403:

@@ -277,11 +285,11 @@ public List<string> Apply(int a, ElementContainer owner, bool hint = false)

cs
			{
				goto IL_12F3;
			}
			this.<Apply>g__ModBase|17_2(60, CS$<>8__locals1.a * 15, false, ref CS$<>8__locals1); 
			this.<Apply>g__ModBase|17_2(79, CS$<>8__locals1.a * 5, false, ref CS$<>8__locals1); 
			this.<Apply>g__ModBase|17_2(953, CS$<>8__locals1.a * 3, false, ref CS$<>8__locals1); 
			this.<Apply>g__ModBase|17_2(961, CS$<>8__locals1.a, false, ref CS$<>8__locals1); 
			this.<Apply>g__ModBase|17_2(960, CS$<>8__locals1.a, false, ref CS$<>8__locals1); 
			this.<Apply>g__ModBase|19_2(60, CS$<>8__locals1.a * 15, false, ref CS$<>8__locals1); 
			this.<Apply>g__ModBase|19_2(79, CS$<>8__locals1.a * 5, false, ref CS$<>8__locals1); 
			this.<Apply>g__ModBase|19_2(953, CS$<>8__locals1.a * 3, false, ref CS$<>8__locals1); 
			this.<Apply>g__ModBase|19_2(961, CS$<>8__locals1.a, false, ref CS$<>8__locals1); 
			this.<Apply>g__ModBase|19_2(960, CS$<>8__locals1.a, false, ref CS$<>8__locals1); 
			goto IL_12F3;
		}
	}

@@ -289,86 +297,86 @@ public List<string> Apply(int a, ElementContainer owner, bool hint = false)

cs
	{
		if (i == 1419)
		{
			this.<Apply>g__ModPotential|17_3(101, CS$<>8__locals1.a * 50, ref CS$<>8__locals1); 
			this.<Apply>g__ModPotential|17_3(111, CS$<>8__locals1.a * 50, ref CS$<>8__locals1); 
			this.<Apply>g__ModPotential|17_3(103, CS$<>8__locals1.a * 50, ref CS$<>8__locals1); 
			this.<Apply>g__ModPotential|17_3(106, CS$<>8__locals1.a * 50, ref CS$<>8__locals1); 
			this.<Apply>g__ModPotential|17_3(122, CS$<>8__locals1.a * 50, ref CS$<>8__locals1); 
			this.<Apply>g__ModPotential|17_3(120, CS$<>8__locals1.a * 50, ref CS$<>8__locals1); 
			this.<Apply>g__ModPotential|17_3(123, CS$<>8__locals1.a * 50, ref CS$<>8__locals1); 
			this.<Apply>g__ModPotential|19_3(101, CS$<>8__locals1.a * 50, ref CS$<>8__locals1); 
			this.<Apply>g__ModPotential|19_3(111, CS$<>8__locals1.a * 50, ref CS$<>8__locals1); 
			this.<Apply>g__ModPotential|19_3(103, CS$<>8__locals1.a * 50, ref CS$<>8__locals1); 
			this.<Apply>g__ModPotential|19_3(106, CS$<>8__locals1.a * 50, ref CS$<>8__locals1); 
			this.<Apply>g__ModPotential|19_3(122, CS$<>8__locals1.a * 50, ref CS$<>8__locals1); 
			this.<Apply>g__ModPotential|19_3(120, CS$<>8__locals1.a * 50, ref CS$<>8__locals1); 
			this.<Apply>g__ModPotential|19_3(123, CS$<>8__locals1.a * 50, ref CS$<>8__locals1); 
			goto IL_12F3;
		}
		switch (i)
		{
		case 1510:
			this.<Apply>g__ModBase|17_2(65, CS$<>8__locals1.a * 3, false, ref CS$<>8__locals1); 
			this.<Apply>g__ModBase|19_2(65, CS$<>8__locals1.a * 3, false, ref CS$<>8__locals1); 
			goto IL_12F3;
		case 1511:
			this.<Apply>g__ModBase|17_2(65, -CS$<>8__locals1.a * 3, false, ref CS$<>8__locals1); 
			this.<Apply>g__ModBase|19_2(65, -CS$<>8__locals1.a * 3, false, ref CS$<>8__locals1); 
			goto IL_12F3;
		case 1512:
			this.<Apply>g__ModBase|17_2(73, CS$<>8__locals1.a * 5, false, ref CS$<>8__locals1); 
			this.<Apply>g__ModBase|19_2(73, CS$<>8__locals1.a * 5, false, ref CS$<>8__locals1); 
			goto IL_12F3;
		case 1513:
			this.<Apply>g__ModBase|17_2(73, -CS$<>8__locals1.a * 5, false, ref CS$<>8__locals1); 
			this.<Apply>g__ModBase|19_2(73, -CS$<>8__locals1.a * 5, false, ref CS$<>8__locals1); 
			goto IL_12F3;
		case 1514:
			this.<Apply>g__ModBase|17_2(72, CS$<>8__locals1.a * 3, false, ref CS$<>8__locals1); 
			this.<Apply>g__ModBase|19_2(72, CS$<>8__locals1.a * 3, false, ref CS$<>8__locals1); 
			goto IL_12F3;
		case 1515:
			this.<Apply>g__ModBase|17_2(72, -CS$<>8__locals1.a * 3, false, ref CS$<>8__locals1); 
			this.<Apply>g__ModBase|19_2(72, -CS$<>8__locals1.a * 3, false, ref CS$<>8__locals1); 
			goto IL_12F3;
		case 1516:
			this.<Apply>g__ModBase|17_2(300, CS$<>8__locals1.a * 4, false, ref CS$<>8__locals1); 
			this.<Apply>g__ModBase|19_2(300, CS$<>8__locals1.a * 4, false, ref CS$<>8__locals1); 
			goto IL_12F3;
		case 1517:
			this.<Apply>g__ModBase|17_2(300, -CS$<>8__locals1.a * 4, false, ref CS$<>8__locals1); 
			this.<Apply>g__ModBase|19_2(300, -CS$<>8__locals1.a * 4, false, ref CS$<>8__locals1); 
			goto IL_12F3;
		case 1518:
			this.<Apply>g__ModBase|17_2(79, CS$<>8__locals1.a * 5, false, ref CS$<>8__locals1); 
			this.<Apply>g__ModBase|19_2(79, CS$<>8__locals1.a * 5, false, ref CS$<>8__locals1); 
			goto IL_12F3;
		case 1519:
			this.<Apply>g__ModBase|17_2(79, -CS$<>8__locals1.a * 5, false, ref CS$<>8__locals1); 
			this.<Apply>g__ModBase|19_2(79, -CS$<>8__locals1.a * 5, false, ref CS$<>8__locals1); 
			goto IL_12F3;
		case 1520:
			this.<Apply>g__ModBase|17_2(70, CS$<>8__locals1.a * 3, false, ref CS$<>8__locals1); 
			this.<Apply>g__ModBase|19_2(70, CS$<>8__locals1.a * 3, false, ref CS$<>8__locals1); 
			goto IL_12F3;
		case 1521:
			this.<Apply>g__ModBase|17_2(70, -CS$<>8__locals1.a * 3, false, ref CS$<>8__locals1); 
			this.<Apply>g__ModBase|19_2(70, -CS$<>8__locals1.a * 3, false, ref CS$<>8__locals1); 
			goto IL_12F3;
		case 1522:
			this.<Apply>g__ModBase|17_2(77, CS$<>8__locals1.a * 5, false, ref CS$<>8__locals1); 
			this.<Apply>g__ModBase|19_2(77, CS$<>8__locals1.a * 5, false, ref CS$<>8__locals1); 
			goto IL_12F3;
		case 1523:
			this.<Apply>g__ModBase|17_2(77, -CS$<>8__locals1.a * 5, false, ref CS$<>8__locals1); 
			this.<Apply>g__ModBase|19_2(77, -CS$<>8__locals1.a * 5, false, ref CS$<>8__locals1); 
			goto IL_12F3;
		case 1524:
			this.<Apply>g__ModBase|17_2(307, CS$<>8__locals1.a * 4, false, ref CS$<>8__locals1); 
			this.<Apply>g__ModBase|19_2(307, CS$<>8__locals1.a * 4, false, ref CS$<>8__locals1); 
			goto IL_12F3;
		case 1525:
			this.<Apply>g__ModBase|17_2(307, -CS$<>8__locals1.a * 4, false, ref CS$<>8__locals1); 
			this.<Apply>g__ModBase|19_2(307, -CS$<>8__locals1.a * 4, false, ref CS$<>8__locals1); 
			goto IL_12F3;
		case 1526:
			this.<Apply>g__ModBase|17_2(951, CS$<>8__locals1.a * 5, false, ref CS$<>8__locals1); 
			this.<Apply>g__ModBase|17_2(950, -CS$<>8__locals1.a * 5, false, ref CS$<>8__locals1); 
			this.<Apply>g__ModBase|19_2(951, CS$<>8__locals1.a * 5, false, ref CS$<>8__locals1); 
			this.<Apply>g__ModBase|19_2(950, -CS$<>8__locals1.a * 5, false, ref CS$<>8__locals1); 
			goto IL_12F3;
		case 1527:
			this.<Apply>g__ModBase|17_2(951, -CS$<>8__locals1.a * 5, false, ref CS$<>8__locals1); 
			this.<Apply>g__ModBase|17_2(950, CS$<>8__locals1.a * 5, false, ref CS$<>8__locals1); 
			this.<Apply>g__ModBase|19_2(951, -CS$<>8__locals1.a * 5, false, ref CS$<>8__locals1); 
			this.<Apply>g__ModBase|19_2(950, CS$<>8__locals1.a * 5, false, ref CS$<>8__locals1); 
			goto IL_12F3;
		case 1528:
			this.<Apply>g__ModBase|17_2(952, CS$<>8__locals1.a * 5, false, ref CS$<>8__locals1); 
			this.<Apply>g__ModBase|19_2(952, CS$<>8__locals1.a * 5, false, ref CS$<>8__locals1); 
			goto IL_12F3;
		case 1529:
			this.<Apply>g__ModBase|17_2(952, -CS$<>8__locals1.a * 5, false, ref CS$<>8__locals1); 
			this.<Apply>g__ModBase|19_2(952, -CS$<>8__locals1.a * 5, false, ref CS$<>8__locals1); 
			goto IL_12F3;
		case 1530:
			this.<Apply>g__ModBase|17_2(960, CS$<>8__locals1.a * 5, false, ref CS$<>8__locals1); 
			this.<Apply>g__ModBase|17_2(956, -CS$<>8__locals1.a * 5, false, ref CS$<>8__locals1); 
			this.<Apply>g__ModBase|19_2(960, CS$<>8__locals1.a * 5, false, ref CS$<>8__locals1); 
			this.<Apply>g__ModBase|19_2(956, -CS$<>8__locals1.a * 5, false, ref CS$<>8__locals1); 
			goto IL_12F3;
		case 1531:
			this.<Apply>g__ModBase|17_2(960, -CS$<>8__locals1.a * 5, false, ref CS$<>8__locals1); 
			this.<Apply>g__ModBase|17_2(956, CS$<>8__locals1.a * 5, false, ref CS$<>8__locals1); 
			this.<Apply>g__ModBase|19_2(960, -CS$<>8__locals1.a * 5, false, ref CS$<>8__locals1); 
			this.<Apply>g__ModBase|19_2(956, CS$<>8__locals1.a * 5, false, ref CS$<>8__locals1); 
			goto IL_12F3;
		case 1532:
		case 1533:

@@ -392,13 +400,13 @@ public List<string> Apply(int a, ElementContainer owner, bool hint = false)

cs
		case 1559:
			goto IL_12F3;
		case 1550:
			this.<Apply>g__ModBase|17_2(404, -CS$<>8__locals1.a * 10, false, ref CS$<>8__locals1); 
			this.<Apply>g__ModBase|19_2(404, -CS$<>8__locals1.a * 10, false, ref CS$<>8__locals1); 
			goto IL_12F3;
		case 1551:
			this.<Apply>g__ModBase|17_2(77, -CS$<>8__locals1.a * (4 + num / 5), false, ref CS$<>8__locals1); 
			this.<Apply>g__ModBase|19_2(77, -CS$<>8__locals1.a * (4 + num / 5), false, ref CS$<>8__locals1); 
			goto IL_12F3;
		case 1552:
			this.<Apply>g__ModBase|17_2(79, CS$<>8__locals1.a * Mathf.Min(30 + num / 5, 100), false, ref CS$<>8__locals1); 
			this.<Apply>g__ModBase|19_2(79, CS$<>8__locals1.a * Mathf.Min(30 + num / 5, 100), false, ref CS$<>8__locals1); 
			if (!CS$<>8__locals1.hint && CS$<>8__locals1.a > 0 && chara != null)
			{
				chara.body.UnequipAll(39);

@@ -406,13 +414,13 @@ public List<string> Apply(int a, ElementContainer owner, bool hint = false)

cs
			}
			goto IL_12F3;
		case 1553:
			this.<Apply>g__ModBase|17_2(73, CS$<>8__locals1.a * (5 + num / 3), false, ref CS$<>8__locals1); 
			this.<Apply>g__ModBase|17_2(77, -CS$<>8__locals1.a * (5 + num / 3), false, ref CS$<>8__locals1); 
			this.<Apply>g__ModBase|19_2(73, CS$<>8__locals1.a * (5 + num / 3), false, ref CS$<>8__locals1); 
			this.<Apply>g__ModBase|19_2(77, -CS$<>8__locals1.a * (5 + num / 3), false, ref CS$<>8__locals1); 
			goto IL_12F3;
		case 1554:
			this.<Apply>g__ModBase|17_2(404, CS$<>8__locals1.a * 10, false, ref CS$<>8__locals1); 
			this.<Apply>g__ModBase|17_2(401, CS$<>8__locals1.a, false, ref CS$<>8__locals1); 
			this.<Apply>g__ModBase|17_2(79, CS$<>8__locals1.a * (10 + num / 5), false, ref CS$<>8__locals1); 
			this.<Apply>g__ModBase|19_2(404, CS$<>8__locals1.a * 10, false, ref CS$<>8__locals1); 
			this.<Apply>g__ModBase|19_2(401, CS$<>8__locals1.a, false, ref CS$<>8__locals1); 
			this.<Apply>g__ModBase|19_2(79, CS$<>8__locals1.a * (10 + num / 5), false, ref CS$<>8__locals1); 
			if (!CS$<>8__locals1.hint && CS$<>8__locals1.a > 0 && chara != null)
			{
				chara.body.UnequipAll(33);

@@ -420,8 +428,8 @@ public List<string> Apply(int a, ElementContainer owner, bool hint = false)

cs
			}
			goto IL_12F3;
		case 1555:
			this.<Apply>g__ModBase|17_2(65, CS$<>8__locals1.a * (12 + num), false, ref CS$<>8__locals1); 
			this.<Apply>g__ModBase|17_2(77, -CS$<>8__locals1.a * (5 + num / 5), false, ref CS$<>8__locals1); 
			this.<Apply>g__ModBase|19_2(65, CS$<>8__locals1.a * (12 + num), false, ref CS$<>8__locals1); 
			this.<Apply>g__ModBase|19_2(77, -CS$<>8__locals1.a * (5 + num / 5), false, ref CS$<>8__locals1); 
			if (!CS$<>8__locals1.hint && CS$<>8__locals1.a > 0 && chara != null)
			{
				chara.body.UnequipAll(31);

@@ -429,47 +437,47 @@ public List<string> Apply(int a, ElementContainer owner, bool hint = false)

cs
			}
			goto IL_12F3;
		case 1556:
			this.<Apply>g__ModBase|17_2(64, -CS$<>8__locals1.a * (10 + num), false, ref CS$<>8__locals1); 
			this.<Apply>g__ModBase|17_2(67, CS$<>8__locals1.a * (5 + num / 2), false, ref CS$<>8__locals1); 
			this.<Apply>g__ModBase|19_2(64, -CS$<>8__locals1.a * (10 + num), false, ref CS$<>8__locals1); 
			this.<Apply>g__ModBase|19_2(67, CS$<>8__locals1.a * (5 + num / 2), false, ref CS$<>8__locals1); 
			goto IL_12F3;
		case 1557:
			this.<Apply>g__ModBase|17_2(71, -CS$<>8__locals1.a * (5 + num / 3), false, ref CS$<>8__locals1); 
			this.<Apply>g__ModBase|17_2(72, -CS$<>8__locals1.a * (4 + num / 4), false, ref CS$<>8__locals1); 
			this.<Apply>g__ModBase|17_2(74, CS$<>8__locals1.a * (6 + num / 2), false, ref CS$<>8__locals1); 
			this.<Apply>g__ModBase|17_2(75, CS$<>8__locals1.a * (2 + num / 6), false, ref CS$<>8__locals1); 
			this.<Apply>g__ModBase|19_2(71, -CS$<>8__locals1.a * (5 + num / 3), false, ref CS$<>8__locals1); 
			this.<Apply>g__ModBase|19_2(72, -CS$<>8__locals1.a * (4 + num / 4), false, ref CS$<>8__locals1); 
			this.<Apply>g__ModBase|19_2(74, CS$<>8__locals1.a * (6 + num / 2), false, ref CS$<>8__locals1); 
			this.<Apply>g__ModBase|19_2(75, CS$<>8__locals1.a * (2 + num / 6), false, ref CS$<>8__locals1); 
			goto IL_12F3;
		case 1560:
			this.<Apply>g__ModBase|17_2(60, -CS$<>8__locals1.a * 15, false, ref CS$<>8__locals1); 
			this.<Apply>g__ModBase|17_2(70, -CS$<>8__locals1.a * (4 + num / 3), false, ref CS$<>8__locals1); 
			this.<Apply>g__ModBase|19_2(60, -CS$<>8__locals1.a * 15, false, ref CS$<>8__locals1); 
			this.<Apply>g__ModBase|19_2(70, -CS$<>8__locals1.a * (4 + num / 3), false, ref CS$<>8__locals1); 
			goto IL_12F3;
		case 1561:
			this.<Apply>g__ModBase|17_2(61, -CS$<>8__locals1.a * 15, false, ref CS$<>8__locals1); 
			this.<Apply>g__ModBase|17_2(76, -CS$<>8__locals1.a * (4 + num / 3), false, ref CS$<>8__locals1); 
			this.<Apply>g__ModBase|19_2(61, -CS$<>8__locals1.a * 15, false, ref CS$<>8__locals1); 
			this.<Apply>g__ModBase|19_2(76, -CS$<>8__locals1.a * (4 + num / 3), false, ref CS$<>8__locals1); 
			goto IL_12F3;
		case 1562:
			this.<Apply>g__ModBase|17_2(65, CS$<>8__locals1.a * (15 + num / 2), false, ref CS$<>8__locals1); 
			this.<Apply>g__ModBase|17_2(79, -CS$<>8__locals1.a * (10 + num / 5), false, ref CS$<>8__locals1); 
			this.<Apply>g__ModBase|19_2(65, CS$<>8__locals1.a * (15 + num / 2), false, ref CS$<>8__locals1); 
			this.<Apply>g__ModBase|19_2(79, -CS$<>8__locals1.a * (10 + num / 5), false, ref CS$<>8__locals1); 
			goto IL_12F3;
		case 1563:
			this.<Apply>g__ModBase|17_2(77, -CS$<>8__locals1.a * (3 + num / 4), false, ref CS$<>8__locals1); 
			this.<Apply>g__ModBase|19_2(77, -CS$<>8__locals1.a * (3 + num / 4), false, ref CS$<>8__locals1); 
			goto IL_12F3;
		case 1564:
			this.<Apply>g__ModBase|17_2(961, CS$<>8__locals1.a * 5, false, ref CS$<>8__locals1); 
			this.<Apply>g__ModBase|19_2(961, CS$<>8__locals1.a * 5, false, ref CS$<>8__locals1); 
			goto IL_12F3;
		case 1565:
			this.<Apply>g__ModBase|17_2(955, CS$<>8__locals1.a * 20, false, ref CS$<>8__locals1); 
			this.<Apply>g__ModBase|19_2(955, CS$<>8__locals1.a * 20, false, ref CS$<>8__locals1); 
			goto IL_12F3;
		default:
			switch (i)
			{
			case 1610:
				this.<Apply>g__ModBase|17_2(60, CS$<>8__locals1.a * 4, false, ref CS$<>8__locals1); 
				this.<Apply>g__ModBase|19_2(60, CS$<>8__locals1.a * 4, false, ref CS$<>8__locals1); 
				goto IL_12F3;
			case 1611:
				this.<Apply>g__ModBase|17_2(61, CS$<>8__locals1.a * 4, false, ref CS$<>8__locals1); 
				this.<Apply>g__ModBase|19_2(61, CS$<>8__locals1.a * 4, false, ref CS$<>8__locals1); 
				goto IL_12F3;
			case 1612:
				this.<Apply>g__ModBase|17_2(62, CS$<>8__locals1.a * 4, false, ref CS$<>8__locals1); 
				this.<Apply>g__ModBase|19_2(62, CS$<>8__locals1.a * 4, false, ref CS$<>8__locals1); 
				goto IL_12F3;
			case 1613:
			case 1614:

@@ -484,59 +492,59 @@ public List<string> Apply(int a, ElementContainer owner, bool hint = false)

cs
			case 1641:
				goto IL_12F3;
			case 1620:
				this.<Apply>g__ModAttribute|17_4(70, ref CS$<>8__locals1); 
				this.<Apply>g__ModAttribute|19_4(70, ref CS$<>8__locals1); 
				goto IL_12F3;
			case 1621:
				this.<Apply>g__ModAttribute|17_4(72, ref CS$<>8__locals1); 
				this.<Apply>g__ModAttribute|19_4(72, ref CS$<>8__locals1); 
				goto IL_12F3;
			case 1622:
				this.<Apply>g__ModAttribute|17_4(71, ref CS$<>8__locals1); 
				this.<Apply>g__ModAttribute|19_4(71, ref CS$<>8__locals1); 
				goto IL_12F3;
			case 1623:
				this.<Apply>g__ModAttribute|17_4(73, ref CS$<>8__locals1); 
				this.<Apply>g__ModAttribute|19_4(73, ref CS$<>8__locals1); 
				goto IL_12F3;
			case 1624:
				this.<Apply>g__ModAttribute|17_4(74, ref CS$<>8__locals1); 
				this.<Apply>g__ModAttribute|19_4(74, ref CS$<>8__locals1); 
				goto IL_12F3;
			case 1625:
				this.<Apply>g__ModAttribute|17_4(76, ref CS$<>8__locals1); 
				this.<Apply>g__ModAttribute|19_4(76, ref CS$<>8__locals1); 
				goto IL_12F3;
			case 1626:
				this.<Apply>g__ModAttribute|17_4(75, ref CS$<>8__locals1); 
				this.<Apply>g__ModAttribute|19_4(75, ref CS$<>8__locals1); 
				goto IL_12F3;
			case 1627:
				this.<Apply>g__ModAttribute|17_4(77, ref CS$<>8__locals1); 
				this.<Apply>g__ModAttribute|19_4(77, ref CS$<>8__locals1); 
				goto IL_12F3;
			case 1628:
				this.<Apply>g__ModBase|17_2(78, CS$<>8__locals1.a * 2, false, ref CS$<>8__locals1); 
				this.<Apply>g__ModBase|19_2(78, CS$<>8__locals1.a * 2, false, ref CS$<>8__locals1); 
				goto IL_12F3;
			case 1629:
				this.<Apply>g__ModBase|17_2(79, CS$<>8__locals1.a * 5, false, ref CS$<>8__locals1); 
				this.<Apply>g__ModBase|19_2(79, CS$<>8__locals1.a * 5, false, ref CS$<>8__locals1); 
				goto IL_12F3;
			case 1630:
				this.<Apply>g__ModBase|17_2(65, ((CS$<>8__locals1.A == 1) ? 2 : ((CS$<>8__locals1.A == 2) ? 5 : 10)) * CS$<>8__locals1.invert, false, ref CS$<>8__locals1); 
				this.<Apply>g__ModBase|19_2(65, ((CS$<>8__locals1.A == 1) ? 2 : ((CS$<>8__locals1.A == 2) ? 5 : 10)) * CS$<>8__locals1.invert, false, ref CS$<>8__locals1); 
				goto IL_12F3;
			case 1631:
				this.<Apply>g__ModBase|17_2(64, ((CS$<>8__locals1.A == 1) ? 2 : ((CS$<>8__locals1.A == 2) ? 5 : 10)) * CS$<>8__locals1.invert, false, ref CS$<>8__locals1); 
				this.<Apply>g__ModBase|19_2(64, ((CS$<>8__locals1.A == 1) ? 2 : ((CS$<>8__locals1.A == 2) ? 5 : 10)) * CS$<>8__locals1.invert, false, ref CS$<>8__locals1); 
				goto IL_12F3;
			case 1632:
				this.<Apply>g__ModBase|17_2(150, CS$<>8__locals1.a * 2, false, ref CS$<>8__locals1); 
				this.<Apply>g__ModBase|19_2(150, CS$<>8__locals1.a * 2, false, ref CS$<>8__locals1); 
				goto IL_12F3;
			case 1633:
				this.<Apply>g__ModBase|17_2(210, CS$<>8__locals1.a * 3, false, ref CS$<>8__locals1); 
				this.<Apply>g__ModBase|17_2(402, ((CS$<>8__locals1.A == 3) ? 1 : 0) * CS$<>8__locals1.invert, false, ref CS$<>8__locals1); 
				this.<Apply>g__ModBase|19_2(210, CS$<>8__locals1.a * 3, false, ref CS$<>8__locals1); 
				this.<Apply>g__ModBase|19_2(402, ((CS$<>8__locals1.A == 3) ? 1 : 0) * CS$<>8__locals1.invert, false, ref CS$<>8__locals1); 
				goto IL_12F3;
			case 1634:
				this.<Apply>g__ModBase|17_2(291, CS$<>8__locals1.a * 4, false, ref CS$<>8__locals1); 
				this.<Apply>g__ModBase|19_2(291, CS$<>8__locals1.a * 4, false, ref CS$<>8__locals1); 
				goto IL_12F3;
			case 1635:
				this.<Apply>g__ModBase|17_2(100, CS$<>8__locals1.a * 3, false, ref CS$<>8__locals1); 
				this.<Apply>g__ModBase|19_2(100, CS$<>8__locals1.a * 3, false, ref CS$<>8__locals1); 
				goto IL_12F3;
			case 1636:
				this.<Apply>g__ModBase|17_2(306, CS$<>8__locals1.a * 4, false, ref CS$<>8__locals1); 
				this.<Apply>g__ModBase|19_2(306, CS$<>8__locals1.a * 4, false, ref CS$<>8__locals1); 
				goto IL_12F3;
			case 1640:
				this.<Apply>g__ModBase|17_2(77, CS$<>8__locals1.a * 2, false, ref CS$<>8__locals1); 
				this.<Apply>g__ModBase|19_2(77, CS$<>8__locals1.a * 2, false, ref CS$<>8__locals1); 
				goto IL_12F3;
			case 1642:
				Feat.featRef[0] = (((CS$<>8__locals1.a == 1) ? 10 : ((CS$<>8__locals1.a == 2) ? 20 : 30)).ToString() ?? "");

@@ -554,9 +562,9 @@ public List<string> Apply(int a, ElementContainer owner, bool hint = false)

cs
						WidgetEquip.Instance.Rebuild();
					}
				}
				this.<Apply>g__ModBase|17_2(60, (CS$<>8__locals1.A > 5) ? ((CS$<>8__locals1.A - 5) * -3 * CS$<>8__locals1.invert) : 0, false, ref CS$<>8__locals1); 
				this.<Apply>g__ModBase|17_2(79, (CS$<>8__locals1.A > 5) ? ((CS$<>8__locals1.A - 5) * -5 * CS$<>8__locals1.invert) : 0, false, ref CS$<>8__locals1); 
				this.<Apply>g__ModBase|17_2(77, (CS$<>8__locals1.A > 5) ? ((CS$<>8__locals1.A - 5) * -3 * CS$<>8__locals1.invert) : 0, false, ref CS$<>8__locals1); 
				this.<Apply>g__ModBase|19_2(60, (CS$<>8__locals1.A > 5) ? ((CS$<>8__locals1.A - 5) * -3 * CS$<>8__locals1.invert) : 0, false, ref CS$<>8__locals1); 
				this.<Apply>g__ModBase|19_2(79, (CS$<>8__locals1.A > 5) ? ((CS$<>8__locals1.A - 5) * -5 * CS$<>8__locals1.invert) : 0, false, ref CS$<>8__locals1); 
				this.<Apply>g__ModBase|19_2(77, (CS$<>8__locals1.A > 5) ? ((CS$<>8__locals1.A - 5) * -3 * CS$<>8__locals1.invert) : 0, false, ref CS$<>8__locals1); 
				goto IL_12F3;
			default:
				goto IL_12F3;

@@ -564,7 +572,7 @@ public List<string> Apply(int a, ElementContainer owner, bool hint = false)

cs
			break;
		}
	}
	this.<Apply>g__GodHint|17_5(ref CS$<>8__locals1); 
	this.<Apply>g__GodHint|19_5(ref CS$<>8__locals1); 
	IL_12F3:
	if (CS$<>8__locals1.hint)
	{

@@ -589,7 +597,7 @@ public List<string> Apply(int a, ElementContainer owner, bool hint = false)

cs
	}

	[CompilerGenerated]
	private void <Apply>g__Note|17_0(string s, ref Feat.<>c__DisplayClass17_0 A_2) 
	private void <Apply>g__Note|19_0(string s, ref Feat.<>c__DisplayClass19_0 A_2) 
	{
		if (!A_2.hint)
		{

@@ -599,17 +607,17 @@ public List<string> Apply(int a, ElementContainer owner, bool hint = false)

cs
	}

	[CompilerGenerated]
	private void <Apply>g__NoteElement|17_1(int ele, int a, ref Feat.<>c__DisplayClass17_0 A_3) 
	private void <Apply>g__NoteElement|19_1(int ele, int a, ref Feat.<>c__DisplayClass19_0 A_3) 
	{
		SourceElement.Row row = EClass.sources.elements.map[ele];
		if (row.category == "ability")
		{
			this.<Apply>g__Note|17_0("hintLearnAbility".lang(row.GetName().ToTitleCase(false), null, null, null, null), ref A_3); 
			this.<Apply>g__Note|19_0("hintLearnAbility".lang(row.GetName().ToTitleCase(false), null, null, null, null), ref A_3); 
			return;
		}
		if (row.tag.Contains("flag"))
		{
			this.<Apply>g__Note|17_0(row.GetName(), ref A_3); 
			this.<Apply>g__Note|19_0(row.GetName(), ref A_3); 
			return;
		}
		string @ref = ((a < 0) ? "" : "+") + a.ToString();

@@ -617,14 +625,14 @@ public List<string> Apply(int a, ElementContainer owner, bool hint = false)

cs
		{
			int num = 0;
			@ref = ((a > 0) ? "+" : "-").Repeat(Mathf.Clamp(Mathf.Abs(a) / 5 + num, 1, 5));
			this.<Apply>g__Note|17_0("modValueRes".lang(row.GetName(), @ref, null, null, null), ref A_3); 
			this.<Apply>g__Note|19_0("modValueRes".lang(row.GetName(), @ref, null, null, null), ref A_3); 
			return;
		}
		this.<Apply>g__Note|17_0("modValue".lang(row.GetName(), @ref, null, null, null), ref A_3); 
		this.<Apply>g__Note|19_0("modValue".lang(row.GetName(), @ref, null, null, null), ref A_3); 
	}

	[CompilerGenerated]
	private void <Apply>g__ModBase|17_2(int ele, int _v, bool hide, ref Feat.<>c__DisplayClass17_0 A_4) 
	private void <Apply>g__ModBase|19_2(int ele, int _v, bool hide, ref Feat.<>c__DisplayClass19_0 A_4) 
	{
		if (!A_4.hint)
		{

@@ -632,34 +640,34 @@ public List<string> Apply(int a, ElementContainer owner, bool hint = false)

cs
		}
		if (!hide && _v != 0)
		{
			this.<Apply>g__NoteElement|17_1(ele, _v, ref A_4); 
			this.<Apply>g__NoteElement|19_1(ele, _v, ref A_4); 
		}
	}

	[CompilerGenerated]
	private void <Apply>g__ModPotential|17_3(int ele, int _v, ref Feat.<>c__DisplayClass17_0 A_3) 
	private void <Apply>g__ModPotential|19_3(int ele, int _v, ref Feat.<>c__DisplayClass19_0 A_3) 
	{
		if (!A_3.hint)
		{
			A_3.owner.ModPotential(ele, _v);
		}
		this.<Apply>g__Note|17_0("modPotential".lang(EClass.sources.elements.map[ele].GetName(), "+" + _v.ToString() + "%", null, null, null), ref A_3); 
		this.<Apply>g__Note|19_0("modPotential".lang(EClass.sources.elements.map[ele].GetName(), "+" + _v.ToString() + "%", null, null, null), ref A_3); 
	}

	[CompilerGenerated]
	private void <Apply>g__ModAttribute|17_4(int ele, ref Feat.<>c__DisplayClass17_0 A_2) 
	private void <Apply>g__ModAttribute|19_4(int ele, ref Feat.<>c__DisplayClass19_0 A_2) 
	{
		if (!A_2.hint)
		{
			Debug.Log(A_2.A);
			Debug.Log(((A_2.A == 1) ? 2 : ((A_2.A == 2) ? 4 : 5)) * A_2.invert);
		}
		this.<Apply>g__ModBase|17_2(ele, ((A_2.A == 1) ? 2 : ((A_2.A == 2) ? 4 : 5)) * A_2.invert, false, ref A_2); 
		this.<Apply>g__ModPotential|17_3(ele, A_2.a * 10, ref A_2); 
		this.<Apply>g__ModBase|19_2(ele, ((A_2.A == 1) ? 2 : ((A_2.A == 2) ? 4 : 5)) * A_2.invert, false, ref A_2); 
		this.<Apply>g__ModPotential|19_3(ele, A_2.a * 10, ref A_2); 
	}

	[CompilerGenerated]
	private void <Apply>g__GodHint|17_5(ref Feat.<>c__DisplayClass17_0 A_1) 
	private void <Apply>g__GodHint|19_5(ref Feat.<>c__DisplayClass19_0 A_1) 
	{
		if (!A_1.hint)
		{

@@ -669,7 +677,7 @@ public List<string> Apply(int a, ElementContainer owner, bool hint = false)

cs
	{
		if (element.source.id != this.id)
		{
			this.<Apply>g__NoteElement|17_1(element.id, element.Value, ref A_1); 
			this.<Apply>g__NoteElement|19_1(element.id, element.Value, ref A_1); 
		}
	}
}

InvOwnerCraft

@@ -38,7 +38,7 @@ public override bool AllowStockIngredients

cs
	{
		get
		{
			return true; 
			return EClass._zone.IsPCFaction || EClass._zone is Zone_Tent; 
		}
	}

InvOwnerRefuel

@@ -30,7 +30,7 @@ public override bool AllowStockIngredients

cs
	{
		get
		{
			return true; 
			return EClass._zone.IsPCFaction || EClass._zone is Zone_Tent; 
		}
	}

LayerDragGrid

@@ -73,6 +73,7 @@ public LayerDragGrid SetInv(InvOwnerDraglet owner, bool refuelFromLayerDragGrid

cs
	this.RebuildLayout(true);
	this.buttonRefuel.SetActive(owner.ShowFuel);
	this.buttonAutoRefuel.SetActive(owner.ShowFuel);
	this.buttonStock.SetActive(owner.AllowStockIngredients); 
	if (owner.CanTargetAlly && ELayer.pc.party.members.Count > 1)
	{
		BaseList baseList = this.listAlly;

@@ -113,7 +114,7 @@ public LayerDragGrid SetInv(InvOwnerDraglet owner, bool refuelFromLayerDragGrid

cs
	{
		this.listAlly.SetActive(false);
	}
	Action <>9__6; 
	Action <>9__7; 
	this.buttonRefuel.SetOnClick(delegate
	{
		if (!ELayer.pc.HasNoGoal)

@@ -125,9 +126,9 @@ public LayerDragGrid SetInv(InvOwnerDraglet owner, bool refuelFromLayerDragGrid

cs
		this.info.InitFuel(owner.owner);
		Layer layer = LayerDragGrid.Create(new InvOwnerRefuel(owner.owner, null, CurrencyType.None), true);
		Action onKill;
		if ((onKill = <>9__6) == null) 
		if ((onKill = <>9__7) == null) 
		{
			onKill = (<>9__6 = delegate() 
			onKill = (<>9__7 = delegate() 
			{
				if (!this.isDestroyed)
				{

@@ -152,6 +153,13 @@ public LayerDragGrid SetInv(InvOwnerDraglet owner, bool refuelFromLayerDragGrid

cs
			owner.OnAfterRefuel();
		}
	});
	this.buttonStock.SetOnClick(delegate
	{ 
		SE.Click(); 
		owner.owner.c_isDisableStockUse = !owner.owner.c_isDisableStockUse; 
		this.uiIngredients.Refresh(); 
		this.RefreshCost(); 
	}); 
	try
	{
		if (owner is InvOwnerRefuel)

@@ -187,6 +195,8 @@ public void RefreshCost()

cs
{
	this.buttonAutoRefuel.mainText.text = (this.owner.owner.autoRefuel ? "On" : "Off");
	this.buttonAutoRefuel.icon.SetAlpha(this.owner.owner.autoRefuel ? 1f : 0.4f);
	this.buttonStock.mainText.text = ((!this.owner.owner.c_isDisableStockUse) ? "On" : "Off"); 
	this.buttonStock.icon.SetAlpha((!this.owner.owner.c_isDisableStockUse) ? 1f : 0.4f); 
	this.textFuel.text = ((int)((float)this.owner.owner.c_charges / (float)this.owner.owner.trait.MaxFuel * 100f)).ToString() + "%";
	int price = this.GetPrice();
	this.itemCost.transform.parent.SetActive(price != 0);

@@ -507,6 +517,8 @@ public static LayerDragGrid CreateReconstruction(Chara cc, BlessedState state =

cs

	public UIButton buttonAlly;

	public UIButton buttonStock; 

	public InvOwnerDraglet owner;

	public UICurrency uiCurrency;

LayerMiniGame

@@ -5,6 +5,7 @@ public class LayerMiniGame : ELayer

cs
{
	public override void OnAfterInit()
	{
		LayerMiniGame.Instance = this; 
		ELayer.pc.SetNoGoal();
		EInput.Consume(true, 1);
		ELayer.ui.layerFloat.SetActive(false);

@@ -58,6 +59,10 @@ public void Run()

cs
		this.mini.balance.lastCoin = ELayer.pc.GetCurrency("casino_coin");
		this.mini.balance.changeCoin = 0;
		this.mini.OnActivate();
		if (WidgetSideScreen.Instance) 
		{ 
			WidgetSideScreen.Instance.OnChangeResolution(); 
		} 
	}

	public override void OnKill()

@@ -77,6 +82,8 @@ public override void OnKill()

cs
		}
	}

	public static LayerMiniGame Instance; 

	public MiniGame mini;

	public MiniGame.Type type;

MiniGame

@@ -56,6 +56,10 @@ public virtual void OnDeactivate()

cs
	{
	}

	public virtual void SlidePosition(float w) 
	{ 
	} 

	public void Deactivate()
	{
		this.OnDeactivate();

MiniGame_Basket

@@ -42,6 +42,11 @@ public override void OnActivate()

cs
		EClass.scene.audioListener.enabled = false;
	}

	public override void SlidePosition(float w) 
	{ 
		this.game.transCanvas.Rect().anchoredPosition = new Vector2(w / 2f, 0f); 
	} 

	public override void OnDeactivate()
	{
		base.Kill();

MiniGame_Blackjack

@@ -49,6 +49,11 @@ public override void OnActivate()

cs
		this.game.Money = this.balance.lastCoin;
	}

	public override void SlidePosition(float w) 
	{ 
		this.game.transCanvas.anchoredPosition = new Vector2(w / 2f, 75f); 
	} 

	public override void OnDeactivate()
	{
		this.balance.changeCoin = this.game.Money - this.balance.lastCoin;

Player

@@ -424,7 +424,7 @@ public void RefreshEmptyAlly()

cs
		this.lastEmptyAlly = num;
		foreach (Chara chara in EClass.pc.party.members)
		{
			chara.RefreshSpeed(); 
			chara.RefreshSpeed(null); 
		}
	}
}

UIDragGridIngredients

@@ -35,8 +35,7 @@ public void Refresh()

cs
{
	Debug.Log("Refreshing uiDragGridIngredients");
	List<Thing> list = new List<Thing>();
	bool allowStockIngredients = this.layer.owner.AllowStockIngredients; 
	if ((EMono._zone.IsPCFaction || EMono._zone is Zone_Tent) && allowStockIngredients) 
	if (this.layer.owner.AllowStockIngredients && !this.layer.owner.owner.c_isDisableStockUse) 
	{
		foreach (Thing thing in EMono._map.Stocked.Things)
		{

WidgetSideScreen

@@ -42,12 +42,18 @@ public override void OnActivate()

cs
		Layer.blurStopInstance = base.transform;
		this.Refresh();
		this.OnChangeResolution();
		WidgetSideScreen.Instance = this; 
	}

	public override void OnSetContextMenu(UIContextMenu m)
	{
		SkinConfig skin = base.config.skin;
		UIContextMenu uicontextMenu = m.AddChild("setting");
		uicontextMenu.AddToggle("alignUI", this.extra.alignUI, delegate(bool a) 
		{ 
			this.extra.alignUI = !this.extra.alignUI; 
			this.OnChangeResolution(); 
		}); 
		uicontextMenu.AddToggle("reverse", this.extra.reverse, delegate(bool a)
		{
			this.extra.reverse = !this.extra.reverse;

@@ -105,6 +111,31 @@ public override void OnChangeResolution()

cs
			this.imagePic.rectTransform.sizeDelta = new Vector2(num * (float)sprite.texture.width / (float)sprite.texture.height, num);
			this.imagePic.color = this.bgColor;
		}
		if (!this.extra.alignUI) 
		{ 
			EMono.ui.rectLayers.anchoredPosition = Vector2.zero; 
			EMono.ui.rectLayers.sizeDelta = Vector2.zero; 
			this.SlideMiniGame(0f); 
			return; 
		} 
		if (this.extra.reverse) 
		{ 
			EMono.ui.rectLayers.anchoredPosition = new Vector2(rectTransform.sizeDelta.x / 2f, 0f); 
			EMono.ui.rectLayers.sizeDelta = new Vector2(-rectTransform.sizeDelta.x, 0f); 
			this.SlideMiniGame(rectTransform.sizeDelta.x); 
			return; 
		} 
		EMono.ui.rectLayers.anchoredPosition = new Vector2(-rectTransform.sizeDelta.x / 2f, 0f); 
		EMono.ui.rectLayers.sizeDelta = new Vector2(-rectTransform.sizeDelta.x, 0f); 
		this.SlideMiniGame(-rectTransform.sizeDelta.x); 
	} 

	public void SlideMiniGame(float w) 
	{ 
		if (LayerMiniGame.Instance) 
		{ 
			LayerMiniGame.Instance.mini.SlidePosition(w * EMono.core.uiScale); 
		} 
	}

	private void OnEnable()

@@ -115,8 +146,13 @@ private void OnEnable()

cs
	private void OnDisable()
	{
		EMono.scene.cam.rect = new Rect(0f, 0f, 1f, 1f);
		EMono.ui.rectLayers.anchoredPosition = Vector2.zero; 
		EMono.ui.rectLayers.sizeDelta = Vector2.zero; 
		this.SlideMiniGame(0f); 
	}

	public static WidgetSideScreen Instance; 

	public Sprite[] sprites;

	public Image imagePic;

@@ -132,5 +168,7 @@ public class Extra

cs
		public int bgColor;

		public bool reverse;

		public bool alignUI; 
	}
}