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โฆ)
{
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 =โฆ)
{
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)
}, "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()
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()
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()
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()
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()
{
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()
{
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()
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()
}
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()
}
}
}
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()
}
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()
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()
{
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()
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()
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()
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()
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()
}
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()
}
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()
}
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()
{
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)
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)
{
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)
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)
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
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
{
public bool topOnly;
public Vector3 topFix;
public override bool ForceAltHeldPosition => true;
public override void Draw(RenderParam p)public override void Draw(RenderParam p)
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
{
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;
public class TraitFoodEggFertilized : TraitFoodEgg
{
public override int DecaySpeed => 1;public static Chara Incubate(Thing egg, Point pos, Card incubator = null)
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)
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)
}
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)
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)
{
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 โ
{
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);
} {
item2.ChooseNewGoal();
item2.ai.SimulateZone(num6);
item2.ai.OnSimulatePosition();
}
continue;
}