EA 23.250 Nightly Patch 1
December 20, 2025
5 files modified.
Important Changes
None.
BaseTileMap
public virtual void DrawTile()
cs
else
{
thingPos.y += num26;
_actorPos.x += pref.x * (float)((!t.flipX) ? 1 : (-1));
_actorPos.z += pref.z;
if (pref.height >= 0f)
if (tileType.UseMountHeight)
{
thingPos.z += pref.z;
if (tileType != TileType.Illumination || !this.cell.HasObj)
{
if (noRoofMode && currentRoom == null && t.altitude >= lowWallObjAltitude)
{
continue;
}
if (hideHang && (this.cell.room?.lot != currentLot || (!this.cell.lotWall && this.cell.room != currentRoom)))
{
Room room5 = ((t.dir == 0) ? this.cell.Back.room : this.cell.Left.room);
if (t.trait.AlwaysHideOnLowWall)
{
if (room5 == null || !room5.data.showWallItem)
{
continue;
}
}
else if (t.altitude >= lowWallObjAltitude)
{
continue;
}
}
}
if (tileType.UseHangZFix)
{
flag10 = true;
}
tileType.GetMountHeight(ref _actorPos, Point.shared.Set(index), t.dir, t);
shadow = false;
param.liquidLv = 0;
if (t.freePos)
{
_actorPos.x += t.fx;
_actorPos.y += t.fy;
}
}
if (!t.TileType.UseMountHeight)
else
{
thingPos.y += (float)t.altitude * altitudeFix.y;
thingPos.z += (float)t.altitude * altitudeFix.z;
}
_actorPos.x += pref.x * (float)((!t.flipX) ? 1 : (-1));
_actorPos.z += pref.z;
if (pref.height >= 0f)
{
thingPos.z += pref.z;
}
}
if (!tileType.UseMountHeight && m > 10)
{public virtual void DrawTile()
cs
}
}
}
if (isInstalled && tileType.UseMountHeight)
{
if (tileType != TileType.Illumination || !this.cell.HasObj)
{
if (noRoofMode && currentRoom == null && t.altitude >= lowWallObjAltitude)
{
continue;
}
if (hideHang && (this.cell.room?.lot != currentLot || (!this.cell.lotWall && this.cell.room != currentRoom)))
{
Room room5 = ((t.dir == 0) ? this.cell.Back.room : this.cell.Left.room);
if (t.trait.AlwaysHideOnLowWall)
{
if (room5 == null || !room5.data.showWallItem)
{
continue;
}
}
else if (t.altitude >= lowWallObjAltitude)
{
continue;
}
}
}
if (tileType.UseHangZFix)
{
flag10 = true;
}
tileType.GetMountHeight(ref _actorPos, Point.shared.Set(index), t.dir, t);
shadow = false;
param.liquidLv = 0;
if (t.freePos)
{
_actorPos.x += t.fx;
_actorPos.y += t.fy;
}
}
else
if (!isInstalled || !tileType.UseMountHeight)
{
if (t.altitude != 0)
{Card
public void Create(string _id, int _idMat = -1, int genLv = -1)
cs
{
rarity = bp.rarity;
}
else if ((category.slot != 0 && category.slot != 45 && category.slot != 44) || IsRangedWeapon)
else if ((category.slot != 0 && category.slot != 45 && category.slot != 44) || category.tag.Contains("randomRarity"))
{
if (EClass.rnd(10) == 0)
{public void DamageHP(long dmg, int ele, int eleP = 100, AttackSource attackSourc
cs
num6++;
}
}
if (IsPCParty)
if (IsPCFactionOrMinion)
{
dmg = dmg * 100 / Mathf.Min(100 + num5 * 5, 120);
}public void TalkRaw(string text, string ref1 = null, string ref2 = null, bool fo
cs
text = text.Replace("#2", ref2);
}
HostRenderer.Say(ApplyNewLine(text));
text = StripTalkSpeiclaCharacters(text);
bool flag = text.StartsWith("*");
Msg.SetColor(text.StartsWith("(") ? Msg.colors.Thinking : (flag ? Msg.colors.Ono : Msg.colors.Talk));
if (!flag)public void TalkRaw(string text, string ref1 = null, string ref2 = null, bool fo
cs
Msg.Say(text.Replace("&", ""));
}
public string StripTalkSpeiclaCharacters(string text)
{
switch (text[0])
{
case '@':
{
if (text.Length > 1 && int.TryParse(text[1].ToString() ?? "", out var _))
{
return text.Substring(2);
}
break;
}
case '^':
case '|':
return text.Substring(1);
}
return text;
}
public string ApplyNewLine(string text)
{
if (text.Contains("&"))Chara
public string TalkTopic(string topic = "calm")
cs
topicText = ApplyTone(topicText);
topicText = topicText.Replace("~", "*");
Msg.SetColor(flag2 ? Msg.colors.Thinking : (flag3 ? Msg.colors.Talk : Msg.colors.Ono));
Msg.Say(topicText.Replace("&", ""));
Msg.Say(StripTalkSpeiclaCharacters(topicText.Replace("&", "")));
if (topic == "dead")
{
EClass.ui.popGame.PopText(ApplyNewLine(topicText.StripBrackets()), null, "PopTextDead", default(Color), pos.Position() + EClass.setting.render.tc.textPosDead);public void TryTakeSharedItems(IEnumerable<Thing> containers, bool msg = true, b
cs
}
foreach (Thing thing4 in container.things)
{
if (!thing4.c_isImportant && thing4.IsIdentified)
if (!thing4.c_isImportant && thing4.IsIdentified && thing4 != EClass.pc.held)
{
if (num4 > 0 && thing4.id == "polish_powder")
{TCText
cs
public class TCText : TCUI
{
public static string[] popIDs = new string[2] { "PopTextSys", "PopTextGod" };
public static string[] popIDs = new string[4] { "PopTextSys", "PopTextGod", "PopTextASMR", "PopTextOPA" };
public PopManager pop;public void Say(string s, float duration = 0f)
cs
{
int num = int.Parse(s[1].ToString());
p = pop.PopText(s.Substring(2), null, popIDs[num], default(Color), default(Vector3), duration);
if (num == 3)
{
Shaker.ShakeCam("opa");
}
break;
}
case '^':TraitASMR
cs
using UnityEngine;
public class TraitASMR : Trait
{
public int tick;public class TraitASMR : Trait
cs
public override void OnCreate(int lv)
{
owner.c_idRefCard = GetParam(1) ?? ((EClass.rnd(EClass.debug.enable ? 2 : 10) == 0) ? "opatos" : ((EClass.rnd(2) == 0) ? "jure" : ""));
ExcelData.Sheet dialogSheet = Lang.GetDialogSheet("asmr");
owner.c_idRefCard = GetParam(1) ?? ((EClass.rnd(EClass.debug.enable ? 2 : 10) != 0) ? "jure" : dialogSheet.map.RandomItem()["id"]);
}
public override void OnImportMap()cs
tick++;
if (tick % 5 == 0)
{
Debug.Log(owner.c_idRefCard);
string[] dialog = Lang.GetDialog("asmr", owner.c_idRefCard.IsEmpty("eyth"));
if (dialog.IsEmpty())
{