Skip to content

EA 23.349 Nightly โ€‹

September 26, 2026

12 files modified.

Important Changes โ€‹

None.

ActEffect โ€‹

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

cs
{
	chara = EClass.pc;
}
if (chara != null && chara.IsAliveInCurrentZone) 
if (chara != null && chara.IsAliveInCurrentZone && (!c.isChara || !c.IsPCFactionOrMinion || chara.IsHostile(c.Chara))) 
{
	chara.DoHostileAction(c);
}

AttackProcess โ€‹

public bool Perform(int count, bool hasHit, float dmgMulti = 1f, bool maxRoll =โ€ฆ)

cs
{
	return true;
}
if (CC.HasElement(1253) && (!CC.HasElement(486) || !CC.IsPCFactionOrMinion)) 
if (CC.HasElement(1253)) 
{
	TC.DamageHP(num7 / 10, 916, 100, AttackSource.None, CC); 
	if (!CC.HasElement(486)) 
	{ 
		Thing thing = weapon; 
		if (thing == null || !thing.HasElement(486)) 
		{ 
			goto IL_0f19; 
		} 
	} 
	if (!CC.IsPCFactionOrMinion) 
	{ 
		goto IL_0f19; 
	} 
}
goto IL_0f3c; 
IL_0f19: 
TC.DamageHP(num7 / 10, 916, 100, AttackSource.None, CC); 
goto IL_0f3c; 
IL_0f3c: 
if (!CC.IsAliveInCurrentZone || !TC.IsAliveInCurrentZone)
{
	return true;

BaseListPeople โ€‹

public override void OnInstantiate(Chara a, ItemGeneral b)

cs
	}, "home");
	uIButton.icon.SetAlpha((bed != null) ? 1f : 0.4f);
	uIButton.SetActive(enable: true);
	UIButton sub2 = null; 
	sub2 = b.AddSubButton(EClass.core.refs.icons.sharedEquip, delegate
	if (a.IsPCFaction) 
	{
		a.SetInt(113, (a.GetInt(113) == 0) ? 1 : 0); 
		SE.Tab(); 
		UIButton sub2 = null; 
		sub2 = b.AddSubButton(EClass.core.refs.icons.sharedEquip, delegate
		{ 
			a.SetInt(113, (a.GetInt(113) == 0) ? 1 : 0); 
			SE.Tab(); 
			sub2.icon.SetAlpha((a.GetInt(113) == 1) ? 0.4f : 1f); 
			UIButton.TryShowTip(); 
		}, null, delegate(UITooltip t) 
		{ 
			t.note.Clear(); 
			t.note.AddHeader("infoSharedEquip".lang((a.GetInt(113) == 1) ? "none".lang() : "infoSharedEquip_on".lang())); 
			t.note.Build(); 
		}, "sharedEquip"); 
		sub2.icon.SetAlpha((a.GetInt(113) == 1) ? 0.4f : 1f);
		UIButton.TryShowTip(); 
	}, null, delegate(UITooltip t) 
		sub2.SetActive(enable: true); 
	} 
	else 
	{
		t.note.Clear(); 
		t.note.AddHeader("infoSharedEquip".lang((a.GetInt(113) == 1) ? "none".lang() : "infoSharedEquip_on".lang())); 
		t.note.Build(); 
	}, "sharedEquip"); 
	sub2.icon.SetAlpha((a.GetInt(113) == 1) ? 0.4f : 1f); 
	sub2.SetActive(enable: true); 
		b.AddSubButton(EClass.core.refs.icons.sharedEquip, null, null, null, "sharedEquip").SetActive(enable: false); 
	} 
}
else
{

BaseTileMap โ€‹

public virtual void DrawTile()

cs
		fogged = true;
	}
}
goto IL_7da3; 
IL_7da3: 
goto IL_7d54; 
IL_7d54: 
if (detail.things.Count == 0 && detail.charas.Count == 0)
{
	return;

public virtual void DrawTile()

cs
	param.z = orgZ;
}
return;
IL_7239: 
IL_71ea: 
if (isSnowCovered && (sourceBlock.id != 0 || this.cell.hasDoor) && !snowed && !this.cell.isClearSnow && ((!this.cell.Front.HasRoof && !this.cell.Front.HasBlock) || (!this.cell.Right.HasRoof && !this.cell.Right.HasBlock)))
{
	snowed = true;

public virtual void DrawTile()

cs
	param.matColor = 104025f;
	renderFootmark.Draw(param);
}
goto IL_7da3; 
IL_71d9: 
int num25; 
if (!showRoof || !roof || this.cell.room == null || this.cell.Front.room == null || this.cell.Right.room == null) 
{ 
	param.tile = num25; 
	rendererFov.Draw(param); 
} 
goto IL_7239; 
goto IL_7d54; 
IL_16be:
if (this.cell.isSlopeEdge)
{
	float num26 = (float)height * _heightMod.y; 
	float num25 = (float)height * _heightMod.y; 
	orgY = param.y;
	orgZ = param.z;
	param.dir = this.cell.blockDir;

public virtual void DrawTile()

cs
		param.matColor = 104025f;
	}
}
for (int num27 = 0; (float)num27 < num26 / heightBlockSize; num27++) 
for (int num26 = 0; (float)num26 < num25 / heightBlockSize; num26++) 
{
	param.y += ugFix.y;
	param.z += ugFix.z + slopeFixZ * (float)num27; 
	param.z += ugFix.z + slopeFixZ * (float)num26; 
	defBlock.renderData.Draw(param);
	if (this.cell.pcSync && EMono.player.lightPower > 0f)
	{
		float num28 = param.tile; 
		float num27 = param.tile; 
		param.tile = 0f;
		rendererFov.Draw(param);
		param.tile = num28; 
		param.tile = num27; 
	}
}
param.y = orgY;

public virtual void DrawTile()

cs
{
	orgY = param.y;
	orgZ = param.z;
	int num29 = 0; 
	int num28 = 0; 
	if (sourceBlock.tileType.IsFullBlock)
	{
		SourceBlock.Row row3 = sourceBlock;
		num29 = sourceBlock._tiles[this.cell.blockDir % sourceBlock._tiles.Length]; 
		num28 = sourceBlock._tiles[this.cell.blockDir % sourceBlock._tiles.Length]; 
	}
	else
	{
		SourceBlock.Row row3 = sourceFloor._defBlock;
		num29 = row3._tiles[this.cell.blockDir % row3._tiles.Length]; 
		num28 = row3._tiles[this.cell.blockDir % row3._tiles.Length]; 
	}
	if (((this.cell.Front.shore / 12) & 1) == 0 && this.cell.Front.sourceFloor.tileType.IsWater && this.cell.Front.height <= height && this.cell.Front.sourceBlock.tileType.RenderWaterBlock)
	{
		param.y = (float)(cz - cx) * screen.tileAlign.y - (this.cell.Front.sourceFloor.tileType.IsDeepWater ? 0.6f : 0.4f) + (float)(int)this.cell.Front.height * _heightMod.y;
		param.z = 1000f + param.x * screen.tileWeight.x + param.y * screen.tileWeight.z;
		param.tile = num29 + ((!this.cell.Front.sourceFloor.tileType.IsDeepWater) ? 3000000 : 0); 
		param.tile = num28 + ((!this.cell.Front.sourceFloor.tileType.IsDeepWater) ? 3000000 : 0); 
		rendererWaterBlock.Draw(param);
	}
	if (((this.cell.Right.shore / 12) & 8) == 0 && this.cell.Right.sourceFloor.tileType.IsWater && this.cell.Right.height <= height && this.cell.Right.sourceBlock.tileType.RenderWaterBlock)
	{
		param.y = (float)(cz - cx) * screen.tileAlign.y - (this.cell.Right.sourceFloor.tileType.IsDeepWater ? 0.6f : 0.4f) + (float)(int)this.cell.Right.height * _heightMod.y;
		param.z = 1000f + param.x * screen.tileWeight.x + param.y * screen.tileWeight.z;
		param.tile = num29 + ((!this.cell.Right.sourceFloor.tileType.IsDeepWater) ? 3000000 : 0); 
		param.tile = num28 + ((!this.cell.Right.sourceFloor.tileType.IsDeepWater) ? 3000000 : 0); 
		rendererWaterBlock.Draw(param);
	}
	param.y = orgY;

public virtual void DrawTile()

cs
{
	param.matColor = 104025f;
}
for (int num30 = 0; num30 < ((!this.cell.isSkyFloor) ? 1 : EMono._map.config.skyBlockHeight); num30++) 
for (int num29 = 0; num29 < ((!this.cell.isSkyFloor) ? 1 : EMono._map.config.skyBlockHeight); num29++) 
{
	param.y += ugFix.y;
	param.z += ugFix.z + slopeFixZ * (float)num30; 
	param.z += ugFix.z + slopeFixZ * (float)num29; 
	defBlock2.renderData.Draw(param);
}
param.y = orgY;

public virtual void DrawTile()

cs
param.snow = snowed;
if (sourceFloor.anime.Length != 0)
{
	int num31 = (int)(Time.realtimeSinceStartup * 1000f / (float)sourceFloor.anime[1] % (float)sourceFloor.anime[0]); 
	param.tile += num31; 
	int num30 = (int)(Time.realtimeSinceStartup * 1000f / (float)sourceFloor.anime[1] % (float)sourceFloor.anime[0]); 
	param.tile += num30; 
}
if (this.cell.isDeck)
{

public virtual void DrawTile()

cs
	}
	sourceFloor.renderData.Draw(param);
}
int num32 = 0; 
int num31 = 0; 
if (isSnowCovered && sourceFloor == FLOOR.sourceSnow && !this.cell.hasDoor)
{
	if (!this.cell.Right.IsSnowTile && this.cell.Right.topHeight == this.cell.topHeight)
	{
		num32++; 
		num31++; 
	}
	if (!this.cell.Front.IsSnowTile && this.cell.Front.topHeight == this.cell.topHeight)
	{
		num32 += 2; 
		num31 += 2; 
	}
	if (num32 != 0) 
	if (num31 != 0) 
	{
		param.tile = 448 + num32 + 12; 
		param.tile = 448 + num31 + 12; 
		param.z -= 0.1f;
		sourceFloor.renderData.Draw(param);
		param.z += 0.1f;

public virtual void DrawTile()

cs
		}
	}
}
if (this.cell.autotile != 0 && sourceFloor.autotile != 0 && (!hasBridge || this.cell.bridgeHeight - this.cell.height > 3) && !this.cell.skipRender && num32 == 0) 
if (this.cell.autotile != 0 && sourceFloor.autotile != 0 && (!hasBridge || this.cell.bridgeHeight - this.cell.height > 3) && !this.cell.skipRender && num31 == 0) 
{
	pass = (isWater ? passAutoTileWater : passAutoTile);
	batch = pass.batches[pass.batchIdx];

public virtual void DrawTile()

cs
}
if (isWater)
{
	int num33 = 12; 
	int num34 = this.cell.shore / num33; 
	int num35 = this.cell.shore % num33; 
	int num32 = 12; 
	int num33 = this.cell.shore / num32; 
	int num34 = this.cell.shore % num32; 
	bool isShoreSand = this.cell.isShoreSand;
	if (this.cell.shore != 0)
	{
		Cell cell = (((num34 & 1) != 0) ? this.cell.Back : (((num34 & 2) != 0) ? this.cell.Right : (((num34 & 4) != 0) ? this.cell.Front : this.cell.Left))); 
		Cell cell = (((num33 & 1) != 0) ? this.cell.Back : (((num33 & 2) != 0) ? this.cell.Right : (((num33 & 4) != 0) ? this.cell.Front : this.cell.Left))); 
		if (isShoreSand && !cell.sourceFloor.isBeach)
		{
			cell = (((num34 & 8) != 0) ? this.cell.Left : (((num34 & 4) != 0) ? this.cell.Front : (((num34 & 2) != 0) ? this.cell.Right : this.cell.Back))); 
			cell = (((num33 & 8) != 0) ? this.cell.Left : (((num33 & 4) != 0) ? this.cell.Front : (((num33 & 2) != 0) ? this.cell.Right : this.cell.Back))); 
		}
		if (!cell.IsSnowTile)
		{

public virtual void DrawTile()

cs
batch.matrices[pass.idx].m03 = param.x;
batch.matrices[pass.idx].m13 = param.y;
batch.matrices[pass.idx].m23 = param.z;
batch.tiles[pass.idx] = 768 + this.cell.shore / num33; 
batch.tiles[pass.idx] = 768 + this.cell.shore / num32; 
batch.colors[pass.idx] = param.color;
batch.matColors[pass.idx] = param.matColor;
pass.idx++;

public virtual void DrawTile()

cs
			{
				pass.NextBatch();
			}
			num35 = 2; 
			num34 = 2; 
		}
		else
		{
			num35 = cell.sourceFloor.edge; 
			num34 = cell.sourceFloor.edge; 
		}
		param.tile = (24 + num35 / 2) * 32 + num35 % 2 * 16 + num34; 
		param.tile = (24 + num34 / 2) * 32 + num34 % 2 * 16 + num33; 
		rendererShore.Draw(param);
	}
}
if (this.cell.Back.isShoreSand && ((this.cell.Back.shore / num33) & 8) != 0 && this.cell.Left.isShoreSand && ((this.cell.Left.shore / num33) & 1) != 0) 
if (this.cell.Back.isShoreSand && ((this.cell.Back.shore / num32) & 8) != 0 && this.cell.Left.isShoreSand && ((this.cell.Left.shore / num32) & 1) != 0) 
{
	param.tile = 785f;
	param.matColor = GetColorInt(ref this.cell.BackLeft.matFloor.matColor, this.cell.BackLeft.sourceFloor.colorMod);
	passShore.Add(param);
	Draw(60);
}
if (this.cell.Back.isShoreSand && ((this.cell.Back.shore / num33) & 2) != 0 && this.cell.Right.isShoreSand && ((this.cell.Right.shore / num33) & 1) != 0) 
if (this.cell.Back.isShoreSand && ((this.cell.Back.shore / num32) & 2) != 0 && this.cell.Right.isShoreSand && ((this.cell.Right.shore / num32) & 1) != 0) 
{
	param.tile = 786f;
	param.matColor = GetColorInt(ref this.cell.BackRight.matFloor.matColor, this.cell.BackRight.sourceFloor.colorMod);
	passShore.Add(param);
	Draw(56);
}
if (this.cell.Front.isShoreSand && ((this.cell.Front.shore / num33) & 2) != 0 && this.cell.Right.isShoreSand && ((this.cell.Right.shore / num33) & 4) != 0) 
if (this.cell.Front.isShoreSand && ((this.cell.Front.shore / num32) & 2) != 0 && this.cell.Right.isShoreSand && ((this.cell.Right.shore / num32) & 4) != 0) 
{
	param.tile = 787f;
	param.matColor = GetColorInt(ref this.cell.FrontRight.matFloor.matColor, this.cell.FrontRight.sourceFloor.colorMod);
	passShore.Add(param);
	Draw(48);
}
if (this.cell.Front.isShoreSand && ((this.cell.Front.shore / num33) & 8) != 0 && this.cell.Left.isShoreSand && ((this.cell.Left.shore / num33) & 4) != 0) 
if (this.cell.Front.isShoreSand && ((this.cell.Front.shore / num32) & 8) != 0 && this.cell.Left.isShoreSand && ((this.cell.Left.shore / num32) & 4) != 0) 
{
	param.tile = 788f;
	param.matColor = GetColorInt(ref this.cell.FrontLeft.matFloor.matColor, this.cell.FrontLeft.sourceFloor.colorMod);

public virtual void DrawTile()

cs
bool flag8 = false;
if (isShoreSand)
{
	if ((num34 & 1) != 0) 
	if ((num33 & 1) != 0) 
	{
		if ((num34 & 8) != 0) 
		if ((num33 & 8) != 0) 
		{
			if ((num34 & 2) == 0 && (num34 & 4) == 0) 
			if ((num33 & 2) == 0 && (num33 & 4) == 0) 
			{
				Draw(16);
			}
			flag8 = true;
		}
		if ((num34 & 2) != 0) 
		if ((num33 & 2) != 0) 
		{
			if ((num34 & 8) == 0 && (num34 & 4) == 0) 
			if ((num33 & 8) == 0 && (num33 & 4) == 0) 
			{
				Draw(20);
			}
			flag8 = true;
		}
	}
	if ((num34 & 4) != 0) 
	if ((num33 & 4) != 0) 
	{
		if ((num34 & 8) != 0) 
		if ((num33 & 8) != 0) 
		{
			if ((num34 & 2) == 0 && (num34 & 1) == 0) 
			if ((num33 & 2) == 0 && (num33 & 1) == 0) 
			{
				Draw(24);
			}
			flag8 = true;
		}
		if ((num34 & 2) != 0) 
		if ((num33 & 2) != 0) 
		{
			if ((num34 & 8) == 0 && (num34 & 1) == 0) 
			if ((num33 & 8) == 0 && (num33 & 1) == 0) 
			{
				Draw(28);
			}

public virtual void DrawTile()

cs
batch = pass.batches[pass.batchIdx];
batch.tiles[pass.idx] = 608 + waterAnimeIndex % 4;
batch.matColors[pass.idx] = 104025f;
if (((this.cell.shore / num33) & 1) != 0) 
if (((this.cell.shore / num32) & 1) != 0) 
{
	if (isShoreSand)
	{

public virtual void DrawTile()

cs
batch = pass.batches[pass.batchIdx];
batch.tiles[pass.idx] = 612 + waterAnimeIndex % 4;
batch.matColors[pass.idx] = 104025f;
if (((this.cell.shore / num33) & 8) != 0) 
if (((this.cell.shore / num32) & 8) != 0) 
{
	if (isShoreSand)
	{

public virtual void DrawTile()

cs
param.z += bridgeFix.z;
param.dir = 0;
SourceBlock.Row row4 = sourceBridge._bridgeBlock;
float num36 = (float)(this.cell.bridgeHeight - this.cell.height) * _heightMod.y; 
float num35 = (float)(this.cell.bridgeHeight - this.cell.height) * _heightMod.y; 
if (this.cell.sourceFloor.tileType == TileType.Sky)
{
	num36 += (float)EMono._map.config.skyBlockHeight; 
	num35 += (float)EMono._map.config.skyBlockHeight; 
}
int num37 = (int)(num36 / heightBlockSize) + 2; 
int num36 = (int)(num35 / heightBlockSize) + 2; 
if (this.cell.bridgePillar != 0)
{
	row4 = EMono.sources.blocks[this.cell.bridgePillar];
	param.tile = row4._tiles[0] + ((num37 == 2) ? 32 : 0); 
	param.tile = row4._tiles[0] + ((num36 == 2) ? 32 : 0); 
	param.mat = ((sourceBridge.DefaultMaterial == row4.DefaultMaterial) ? sourceBridge.DefaultMaterial : row4.DefaultMaterial);
	param.matColor = ((row4.colorMod == 0) ? 104025 : GetColorInt(ref param.mat.matColor, row4.colorMod));
}

public virtual void DrawTile()

cs
}
param.y += ugFixBridgeTop.y;
param.z += ugFixBridgeTop.z;
for (int num38 = 0; num38 < num37; num38++) 
for (int num37 = 0; num37 < num36; num37++) 
{
	if (num38 == num37 - 1) 
	if (num37 == num36 - 1) 
	{
		param.y = (float)(cz - cx) * screen.tileAlign.y + (float)height * _heightMod.y + ugFixBridgeBottom.y;
		param.z = 1000f + param.x * screen.tileWeight.x + param.y * screen.tileWeight.z + (float)height * _heightMod.z + ugFixBridgeBottom.z;

public virtual void DrawTile()

cs
}
if (!buildMode && this.cell.highlight != 0)
{
	if (this.cell._block != 0 && !this.cell.hasDoor) 
	{ 
		screen.guide.DrawWall(this.cell.GetPoint(), EMono.Colors.blockColors.MapHighlight, useMarkerPass: true); 
	} 
	else
	{ 
		passGuideFloor.Add(this.cell.GetPoint(), (int)this.cell.highlight); 
	} 
	passGuideFloor.Add(this.cell.GetPoint(), (int)this.cell.highlight); 
}
param.color = blockLight;
if (isSnowCovered && (sourceBlock.id != 0 || this.cell.hasDoor) && (snowed || this.cell.isClearSnow) && (this.cell.Front.HasRoof || this.cell.Right.HasRoof))
{
	snowed = false;
}
num25 = 0; 
int num38 = 0; 
if (sourceBlock.id != 0)
{
	this.tileType = sourceBlock.tileType;

public virtual void DrawTile()

cs
}
if (!_lowblock && (double)roomHeight > 1.2 && this.tileType.RepeatBlock)
{
	num25 = 1; 
	num38 = 1; 
}
else if (lowBlock)
{
	num25 = 2; 
	num38 = 2; 
}
param.mat = matBlock;
param.dir = this.cell.blockDir;

public virtual void DrawTile()

cs
{
	if (this.cell.room != null || !this.cell.IsRoomEdge || !showRoof)
	{
		goto IL_71d9; 
		goto IL_718a; 
	}
	if (this.cell._block == 0 || !this.cell.sourceBlock.tileType.RepeatBlock)
	{
		Room obj = this.cell.FrontRight.room;
		if (obj == null || !obj.HasRoof)
		{
			goto IL_71d9; 
			goto IL_718a; 
		}
	}
}
goto IL_7239; 
goto IL_71ea; 
IL_718a: 
if (!showRoof || !roof || this.cell.room == null || this.cell.Front.room == null || this.cell.Right.room == null) 
{ 
	param.tile = num38; 
	rendererFov.Draw(param); 
} 
goto IL_71ea; 
void Draw(int tile)
{
	pass = passEdge;

Chara โ€‹

public void RestockEquip(bool onCreate)

cs
		EQ_CAT(job.weapon.RandomItem());
	}
}
for (int k = 0; k < ((!(race.id == "mutant")) ? 1 : (2 + base.LV / 30)); k++) 
for (int k = 0; k < ((!(race.id == "mutant")) ? 1 : Mathf.Min(2 + base.LV / 30, 20)); k++) 
{
	if (flag)
	{

public void SetFeat(int id, int value = 1, bool msg = false)

cs
{
	Feat feat = elements.GetElement(id) as Feat;
	int num = 0;
	if (feat == null) 
	{ 
		Debug.Log("1: null/" + EClass.sources.elements.map[id].id); 
	} 
	else
	{ 
		Debug.Log("1:" + feat.Name + "/" + feat.Value); 
	} 
	if (feat != null && feat.Value > 0)
	{
		if (value == feat.Value)

public void SetFeat(int id, int value = 1, bool msg = false)

cs
	feat.Apply(-feat.Value, elements);
}
feat = elements.SetBase(id, value - (feat?.vSource ?? 0)) as Feat;
if (feat == null) 
{ 
	Debug.Log("1: null" + EClass.sources.elements.map[id].id); 
} 
else
{ 
	Debug.Log("1:" + feat.Name + "/" + feat.Value); 
} 
if (feat != null && feat.Value != 0)
{
	feat.Apply(feat.Value, elements);

FACTION โ€‹

public int EvadeTax(int v, bool evasion)

cs
public void SetTaxTooltip(UINote n)
{
	n.AddHeader("tax");
	n.AddTopic("tax_base", Lang._currency(GetBaseTax(evasion: true), showUnit: true) + " (" + Lang._currency(GetBaseTax(evasion: false)) + ")"); 
	n.AddTopic("tax_fame", Lang._currency(GetFameTax(evasion: true), showUnit: true) + " (" + Lang._currency(GetFameTax(evasion: false)) + ")"); 
	n.AddTopic("tax_extra", Lang._currency(EClass.player.extraTax, showUnit: true)); 
	n.AddTopic("TopicDefault_fit", "tax_base", Lang._currency(GetBaseTax(evasion: true), showUnit: true) + " (" + Lang._currency(GetBaseTax(evasion: false)) + ")"); 
	n.AddTopic("TopicDefault_fit", "tax_fame", Lang._currency(GetFameTax(evasion: true), showUnit: true) + " (" + Lang._currency(GetFameTax(evasion: false)) + ")"); 
	n.AddTopic("TopicDefault_fit", "tax_extra", Lang._currency(EClass.player.extraTax, showUnit: true)); 
}

public int CountTaxFreeLand()

ListPeople โ€‹

public override string TextTab

cs
	public override bool ShowGoto => true;

	public override bool ShowHome => memberType != FactionMemberType.Guest; 
	public override bool ShowHome => true; 

	public override bool ShowShowMode => true;
}

RenderDataObjV โ€‹

public class RenderDataObjV : RenderDataObj

cs
{
	public bool topOnly;

	public Vector3 topFix; 
	public override bool ForceAltHeldPosition => true;

	public override void Draw(RenderParam p)

public override void Draw(RenderParam p)

cs
else
{
	meshBatch.colors[meshPass.idx] = p.color;
	meshBatch.matrices[meshPass.idx].m03 = p.x + offset.x * (float)num; 
	meshBatch.matrices[meshPass.idx].m13 = p.y + offset.y + meshPass.pmesh.size.y; 
	meshBatch.matrices[meshPass.idx].m23 = p.z + offset.z + RenderData.renderSetting.vFix.z; 
	meshBatch.matrices[meshPass.idx].m03 = p.x + (topFix.x + offset.x) * (float)num; 
	meshBatch.matrices[meshPass.idx].m13 = p.y + topFix.y + offset.y + meshPass.pmesh.size.y; 
	meshBatch.matrices[meshPass.idx].m23 = p.z + topFix.z + offset.z + RenderData.renderSetting.vFix.z; 
}
meshPass.idx++;
if (meshPass.idx == meshPass.batchSize)

TraitDoorBig โ€‹

public class TraitDoorBig : TraitDoor

cs
{
	public override int height => 2;

	public override string idSound => "door3"; 
	public override void ToggleDoor(bool sound = true, bool refresh = true)
	{
		base.ToggleDoor(sound, refresh);

TraitFoodEggFertilized โ€‹

using UnityEngine;

cs
using UnityEngine; 
public class TraitFoodEggFertilized : TraitFoodEgg
{
	public override int DecaySpeed => 1;

public static Chara Incubate(Thing egg, Point pos, Card incubator = null)

cs
	for (int i = 0; i < chara.Evalue(1644); i++)
	{
		chara.RemoveLastBodyPart();
		Debug.Log(i + "/" + chara.body.slots.Count); 
	}
	chara.elements.SetBase(1644, 0);
}

UIInventory โ€‹

public Transform ShowAdvDistribution(UIContextMenu dis, Window.SaveData data)

cs
public void Sort(bool redraw = true)
{
	UIList.SortMode m = (IsShop ? EMono.player.pref.sortInvShop : (IsAdvSort ? window.saveData.sortMode : EMono.player.pref.sortInv));
	LayerDragGrid instance = LayerDragGrid.Instance; 
	bool flag = true;
	while (flag)
	{
		flag = false;
		Dictionary<string, List<Thing>> dict = new Dictionary<string, List<Thing>>();
		foreach (Thing item in owner.Container.things.Copy()) 
		foreach (Thing t in owner.Container.things.Copy()) 
		{
			if (item.invY == 1) 
			if (t.invY == 1 || ((bool)instance && (bool)instance.buttons.Find((ButtonGrid b) => b.card == t))) 
			{
				continue;
			}
			List<Thing> orCreate = dict.GetOrCreate(item.id + item.GetStr(53)); 
			List<Thing> orCreate = dict.GetOrCreate(t.id + t.GetStr(53)); 
			bool flag2 = false;
			for (int i = 0; i < orCreate.Count; i++) 
			for (int num = 0; num < orCreate.Count; num++) 
			{
				if (orCreate[i].TryStackTo(item)) 
				if (orCreate[num].TryStackTo(t)) 
				{
					orCreate[i] = item; 
					orCreate[num] = t; 
					flag2 = true;
					break;
				}
				if (item.TryStackTo(orCreate[i])) 
				if (t.TryStackTo(orCreate[num])) 
				{
					flag2 = true;
					break;

public void Sort(bool redraw = true)

cs
		}
		else
		{
			orCreate.Add(item); 
			orCreate.Add(t); 
		}
	}
}
int num = 0; 
int num2 = 0; 
foreach (Thing thing in owner.Container.things)
{
	if (thing.invY != 1)

public void Sort(bool redraw = true)

cs
		thing.invY = 0;
		thing.invX = -1;
	}
	num++; 
	num2++; 
}
owner.Container.things.Sort(m, IsShop ? EMono.player.pref.sort_ascending_shop : (IsAdvSort ? window.saveData.sort_ascending : EMono.player.pref.sort_ascending), owner.currency);
if (!UseGrid)
{
	int num2 = 0; 
	int num3 = 0;
	int num4 = 0; 
	Vector2 sizeDelta = list.Rect().sizeDelta;
	sizeDelta.x -= 60f;
	sizeDelta.y -= 60f;

public void Sort(bool redraw = true)

cs
	{
		continue;
	}
	thing2.posInvX = num2 + 30; 
	thing2.posInvY = (int)sizeDelta.y - num3 + 30; 
	num2 += 40; 
	if ((float)num2 > sizeDelta.x) 
	thing2.posInvX = num3 + 30; 
	thing2.posInvY = (int)sizeDelta.y - num4 + 30; 
	num3 += 40; 
	if ((float)num3 > sizeDelta.x) 
	{
		num2 = 0; 
		num3 += 40; 
		if ((float)num3 > sizeDelta.y) 
		num3 = 0; 
		num4 += 40; 
		if ((float)num4 > sizeDelta.y) 
		{
			num3 = 20; 
			num4 = 20; 
		}
	}
}

Zone โ€‹

public void Simulate()

cs
{
	item.conSleep.Kill();
}
if (EClass.rnd(EClass.world.date.IsNight ? 20 : 200) == 0 && !item.IsPCFaction) 
if (EClass.rnd(EClass.world.date.IsNight ? 20 : 200) == 0 && !item.IsPCFaction && !item.IsGuest()) 
{
	item.AddCondition<ConSleep>(1000 + EClass.rnd(1000), force: true);
}

public void Simulate()

cs
	{
		item2.ChooseNewGoal();
		item2.ai.SimulateZone(num6);
		item2.ai.OnSimulatePosition(); 
	}
	continue;
}