EA 23.83 Patch 3
January 31, 2025
40 files modified.
Important Changes
None.
AI_Shear
@@ -17,7 +17,11 @@ public override string GetText(string str = "")
public override bool IsValidTC(Card c)
{
return c?.CanBeSheared() ?? false;
if (c != null && c.IsAliveInCurrentZone)
{
return c.CanBeSheared();
}
return false;
}
public override bool Perform()
@@ -62,12 +66,15 @@ public override IEnumerable<Status> Run()
},
onProgressComplete = delegate
{
Thing fur = GetFur(target.Chara);
owner.Say("shear_end", owner, target, fur.Name);
owner.Pick(fur, msg: false);
owner.elements.ModExp(237, 50 * furLv);
owner.stamina.Mod(-1);
target.Chara.ModAffinity(owner, 1);
if (target.IsAliveInCurrentZone)
{
Thing fur = GetFur(target.Chara);
owner.Say("shear_end", owner, target, fur.Name);
owner.Pick(fur, msg: false);
owner.elements.ModExp(237, 50 * furLv);
owner.stamina.Mod(-1);
target.Chara.ModAffinity(owner, 1);
}
}
}.SetDuration((6 + furLv * 6) * 100 / (100 + owner.Tool.material.hardness * 2), 3);
yield return Do(seq);
ActEffect
{
return;
}
Thing thing3 = ThingGen.Create("mine");
thing3.c_idRefCard = "dog_mine";
Thing thing = ThingGen.Create("mine");
thing.c_idRefCard = "dog_mine";
Zone.ignoreSpawnAnime = true;
EClass._zone.AddCard(thing3, CC.pos).Install();
EClass._zone.AddCard(thing, CC.pos).Install();
break;
}
case EffectId.MagicMap:
@@ -913,9 +913,9 @@ public static bool DamageEle(Card CC, EffectId id, int power, Element e, List<Po
TC.PlaySound("curse3");
TC.PlayEffect("curse");
TC.Say("forgetItems", TC);
int num4 = power / 50 + 1 + EClass.rnd(3);
int num5 = power / 50 + 1 + EClass.rnd(3);
List<Thing> source = TC.things.List((Thing t) => t.c_IDTState == 0);
for (int j = 0; j < num4; j++)
for (int j = 0; j < num5; j++)
{
source.RandomItem().c_IDTState = 5;
}
case EffectId.EnchantArmorGreat:
{
bool armor = id == EffectId.EnchantArmor || id == EffectId.EnchantArmorGreat;
bool flag2 = id == EffectId.EnchantWeaponGreat || id == EffectId.EnchantArmorGreat;
bool flag3 = id == EffectId.EnchantWeaponGreat || id == EffectId.EnchantArmorGreat;
if (!tc.isThing)
{
LayerDragGrid.CreateEnchant(CC, armor, flag2, state);
LayerDragGrid.CreateEnchant(CC, armor, flag3, state);
return;
}
cc.PlaySound("identify");
@@ -941,8 +941,8 @@ public static bool DamageEle(Card CC, EffectId id, int power, Element e, List<Po
tc.ModEncLv(-1);
break;
}
int num = (flag2 ? 4 : 2) + (blessed ? 1 : 0);
if (tc.encLV >= num)
int num3 = (flag3 ? 4 : 2) + (blessed ? 1 : 0);
if (tc.encLV >= num3)
{
cc.Say("enc_resist", tc);
break;
LayerDragGrid.CreateUncurse(CC, state);
return;
}
Thing thing = tc.Thing;
if (thing.blessedState == BlessedState.Cursed)
Thing thing3 = tc.Thing;
if (thing3.blessedState == BlessedState.Cursed)
{
thing.SetBlessedState(BlessedState.Normal);
thing3.SetBlessedState(BlessedState.Normal);
}
else if (thing.blessedState == BlessedState.Doomed)
else if (thing3.blessedState == BlessedState.Doomed)
{
thing.SetBlessedState(BlessedState.Normal);
thing3.SetBlessedState(BlessedState.Normal);
}
thing.GetRootCard()?.TryStack(thing);
LayerInventory.SetDirty(thing);
thing3.GetRootCard()?.TryStack(thing3);
LayerInventory.SetDirty(thing3);
break;
}
case EffectId.Lighten:
}
cc.PlaySound("offering");
cc.PlayEffect("buff");
int num5 = (tc.isWeightChanged ? tc.c_weight : tc.Thing.source.weight);
int num4 = (tc.isWeightChanged ? tc.c_weight : tc.Thing.source.weight);
tc.isWeightChanged = true;
Element orCreateElement = tc.elements.GetOrCreateElement(64);
Element orCreateElement2 = tc.elements.GetOrCreateElement(65);
bool flag4 = tc.IsEquipmentOrRanged || tc.IsThrownWeapon || tc.IsAmmo;
if (flag)
{
num5 = (int)(0.01f * (float)num5 * (float)power * 0.75f + 500f);
if (num5 < 0 || num5 > 10000000)
num4 = (int)(0.01f * (float)num4 * (float)power * 0.75f + 500f);
if (num4 < 0 || num4 > 10000000)
{
num5 = 10000000;
num4 = 10000000;
flag4 = false;
}
if (flag4)
{
if (tc.IsWeapon || tc.IsThrownWeapon)
if (tc.IsWeapon || tc.IsThrownWeapon || tc.IsAmmo)
{
tc.elements.ModBase(67, Mathf.Clamp(orCreateElement3.vBase * power / 1000, 1, 5));
tc.elements.ModBase(66, -Mathf.Clamp(orCreateElement4.vBase * power / 1000, 1, 5));
}
else
{
num5 = num5 * (100 - power / 10) / 100;
num4 = num4 * (100 - power / 10) / 100;
if (blessed)
{
power /= 4;
}
cc.Say("lighten", cc, tc);
}
tc.c_weight = num5;
tc.c_weight = num4;
tc.SetDirtyWeight();
if (tc.parent == null)
{
string name = tc.Name;
if (row == null)
{
bool num2 = id == EffectId.ChangeMaterialGreater;
bool flag3 = id == EffectId.ChangeMaterialLesser;
bool num = id == EffectId.ChangeMaterialGreater;
bool flag2 = id == EffectId.ChangeMaterialLesser;
string text2 = tc.Thing.source.tierGroup;
Dictionary<string, SourceMaterial.TierList> tierMap = SourceMaterial.tierMap;
int num3 = 1;
int num2 = 1;
if (flag)
{
num3 -= 2;
num2 -= 2;
}
if (blessed)
{
num3++;
num2++;
}
if (num2)
if (num)
{
num3++;
num2++;
}
if (flag3)
if (flag2)
{
num3 -= 2;
num2 -= 2;
}
num3 = Mathf.Clamp(num3 + EClass.rnd(2), 0, 4);
num2 = Mathf.Clamp(num2 + EClass.rnd(2), 0, 4);
if (EClass.rnd(10) == 0)
{
text2 = ((text2 == "metal") ? "leather" : "metal");
SourceMaterial.TierList tierList = (text2.IsEmpty() ? tierMap.RandomItem() : tierMap[text2]);
for (int i = 0; i < 1000; i++)
{
row = tierList.tiers[num3].Select();
row = tierList.tiers[num2].Select();
if (row != tc.material)
{
break;
{
break;
}
int hex2 = 0;
int hex = 0;
foreach (Condition condition4 in TC.conditions)
{
if (condition4.Type == ConditionType.Debuff)
{
hex2++;
hex++;
}
}
if (hex2 == 0)
if (hex == 0)
{
CC.SayNothingHappans();
break;
{
break;
}
int dmg2 = Dice.Create("SpShutterHex", power * hex2, CC, actRef.act).Roll();
int dmg2 = Dice.Create("SpShutterHex", power * hex, CC, actRef.act).Roll();
item3.DamageHP(dmg2, 919, power, AttackSource.None, CC);
}
});
case EffectId.KizuamiTrick:
{
EClass.game.religions.Trickery.Talk("ability");
bool hex = CC.IsHostile(TC);
List<SourceStat.Row> list4 = EClass.sources.stats.rows.Where((SourceStat.Row con) => con.tag.Contains("random") && con.group == (hex ? "Debuff" : "Buff")).ToList();
bool hex2 = CC.IsHostile(TC);
List<SourceStat.Row> list3 = EClass.sources.stats.rows.Where((SourceStat.Row con) => con.tag.Contains("random") && con.group == (hex2 ? "Debuff" : "Buff")).ToList();
int power2 = power;
for (int k = 0; k < 4 + EClass.rnd(2); k++)
{
SourceStat.Row row2 = list4.RandomItem();
list4.Remove(row2);
Proc(hex ? EffectId.Debuff : EffectId.Buff, CC, TC, power2, new ActRef
SourceStat.Row row2 = list3.RandomItem();
list3.Remove(row2);
Proc(hex2 ? EffectId.Debuff : EffectId.Buff, CC, TC, power2, new ActRef
{
n1 = row2.alias
});
bool isPowerful = TC.IsPowerful;
string n = actRef.n1;
int a2 = power;
int num6 = TC.WIL * (isPowerful ? 20 : 5);
int num7 = TC.WIL * (isPowerful ? 20 : 5);
ConHolyVeil condition = TC.GetCondition<ConHolyVeil>();
if (condition != null)
{
num6 += condition.power * 5;
num7 += condition.power * 5;
}
if (EClass.rnd(a2) < num6 / EClass.sources.stats.alias[n].hexPower && EClass.rnd(10) != 0)
if (EClass.rnd(a2) < num7 / EClass.sources.stats.alias[n].hexPower && EClass.rnd(10) != 0)
{
TC.Say("debuff_resist", TC);
CC.DoHostileAction(TC);
case EffectId.Ally:
{
Msg.Say("gainAlly");
Chara chara = CharaGen.CreateFromFilter("chara", EClass.pc.LV);
Chara chara = CharaGen.CreateFromFilter("chara", cc.LV);
EClass._zone.AddCard(chara, cc.pos.GetNearestPoint(allowBlock: false, allowChara: false));
chara.MakeAlly(msg: false);
if (cc.IsPCFactionOrMinion)
{
chara.MakeAlly(msg: false);
}
chara.PlaySound("identify");
chara.PlayEffect("teleport");
break;
break;
case EffectId.Revive:
{
List<KeyValuePair<int, Chara>> list3 = EClass.game.cards.globalCharas.Where((KeyValuePair<int, Chara> a) => a.Value.isDead && a.Value.faction == EClass.pc.faction && !a.Value.isSummon && a.Value.c_wasInPcParty).ToList();
List<KeyValuePair<int, Chara>> list4 = EClass.game.cards.globalCharas.Where((KeyValuePair<int, Chara> a) => a.Value.isDead && a.Value.faction == EClass.pc.faction && !a.Value.isSummon && a.Value.c_wasInPcParty).ToList();
if (TC.IsPCFaction || TC.IsPCFactionMinion)
{
if (TC.IsPC && list3.Count == 0)
if (TC.IsPC && list4.Count == 0)
{
list3 = EClass.game.cards.globalCharas.Where((KeyValuePair<int, Chara> a) => a.Value.CanRevive() && a.Value.isDead && a.Value.faction == EClass.pc.faction && !a.Value.isSummon).ToList();
list4 = EClass.game.cards.globalCharas.Where((KeyValuePair<int, Chara> a) => a.Value.CanRevive() && a.Value.isDead && a.Value.faction == EClass.pc.faction && !a.Value.isSummon).ToList();
}
if (list3.Count > 0)
if (list4.Count > 0)
{
list3.RandomItem().Value.Chara.GetRevived();
list4.RandomItem().Value.Chara.GetRevived();
break;
}
}
{
bool flag6 = id == EffectId.EnhanceBody || id == EffectId.EnhanceBodyGreat;
bool mind = id == EffectId.EnhanceMind || id == EffectId.EnhanceMindGreat;
int num7 = ((id == EffectId.EnhanceBody || id == EffectId.EnhanceMind) ? 1 : (4 + EClass.rnd(4)));
int num6 = ((id == EffectId.EnhanceBody || id == EffectId.EnhanceMind) ? 1 : (4 + EClass.rnd(4)));
TC.Say(flag6 ? "enhanceBody" : "enhanceMind", TC);
TC.PlayEffect("buff");
TC.PlaySound("buff");
for (int l = 0; l < num7; l++)
for (int l = 0; l < num6; l++)
{
TC.EnhanceTempElements(power, flag6, mind);
}
ActRestrain
@@ -42,7 +42,7 @@ public override bool Perform()
}
if (Act.TC.IsPCFaction && EClass._zone.IsPCFaction)
{
Act.CC.SetAI(new AI_Torture
Act.TC.Chara?.SetAI(new AI_Torture
{
shackle = shackle
});
Card
@@ -5573,7 +5573,7 @@ public void CalculateFOV()
{
power = EClass.scene.profile.global.playerLightPowerLimit;
}
power *= EClass.scene.profile.light.playerLightMod;
power *= EClass.scene.profile.light.playerLightMod + (float)EClass.player.customLightMod * EClass.scene.profile.light.playerLightCustomMod;
EClass.player.lightRadius = radius;
EClass.player.lightPower = power;
}
CardRow
@@ -128,9 +128,10 @@ public string GetName(Card c, bool full = false)
{
return text2;
}
int type = ((quality == 3) ? 3 : ((quality < 2) ? 1 : 2));
if (full && !text2.IsEmpty())
{
text = text2.ToTitleCase(wholeText: true) + Lang.space + text.Bracket(2);
text = text2.ToTitleCase(wholeText: true) + Lang.space + text.Bracket(type);
}
return text;
}
Chara
}
if (newPoint.cell.CanSuffocate())
{
AddCondition<ConSuffocation>((EClass.pc.Evalue(200) > 0) ? (2000 / (100 + Evalue(200) * 10)) : 30);
AddCondition<ConSuffocation>((EClass.pc.Evalue(200) != 0) ? (2000 / (100 + EvalueMax(200, -5) * 10)) : 30);
int num4 = GetCondition<ConSuffocation>()?.GetPhase() ?? 0;
if (num4 >= 2)
{
@@ -2860,11 +2860,16 @@ public void DestroyPath(Point pos)
public void TryPush(Point point)
{
point.Charas.ForeachReverse(delegate(Chara c)
List<Chara> list = point.ListCharas();
if (list.Count == 0)
{
return;
}
list.Copy().ForeachReverse(delegate(Chara c)
{
if (!c.ai.IsMoveAI && !c.IsPC && c.trait.CanBePushed && c != this && !c.noMove && (!EClass._zone.IsRegion || c.IsPCFactionOrMinion))
{
List<Point> list = new List<Point>();
List<Point> list2 = new List<Point>();
for (int i = point.x - 1; i <= point.x + 1; i++)
{
for (int j = point.z - 1; j <= point.z + 1; j++)
@@ -2874,24 +2879,24 @@ public void TryPush(Point point)
Point point2 = new Point(i, j);
if (point2.IsValid && !point2.HasChara && !point2.IsBlocked && !point2.cell.hasDoor && !point2.IsBlockByHeight(point))
{
list.Add(point2);
list2.Add(point2);
}
}
}
}
if (list.Count > 0)
if (list2.Count > 0)
{
if (list.Count > 1)
if (list2.Count > 1)
{
list.ForeachReverse(delegate(Point p)
list2.ForeachReverse(delegate(Point p)
{
if (p.Equals(new Point(point.x + point.x - pos.x, point.z + point.z - pos.z)))
{
list.Remove(p);
list2.Remove(p);
}
});
}
Point newPoint = list.RandomItem();
Point newPoint = list2.RandomItem();
if (IsPC)
{
Say("displace", this, c);
@@ -3744,7 +3749,7 @@ public override void Tick()
}
if (IsPC && !EClass._zone.IsRegion && cell.CanSuffocate())
{
AddCondition<ConSuffocation>(800 / (100 + Evalue(200) * 10));
AddCondition<ConSuffocation>(800 / (100 + EvalueMax(200, -5) * 10));
}
CellEffect e;
if (cell.effect != null)
GoalCombat
@@ -314,6 +314,7 @@ public override IEnumerable<Status> Run()
}
else if (owner.FindNearestNewEnemy())
{
yield return Status.Running;
continue;
}
yield return Status.Running;
InvOwner
@@ -1393,6 +1393,19 @@ public ListInteraction ListInteractions(ButtonGrid b, bool context)
}
}
ListInteractions(listInteraction, t, trait, b, context);
if (context && trait is TraitLightSource)
{
listInteraction.Add("customBrightness", 300, delegate
{
UIContextMenu uIContextMenu = EClass.ui.CreateContextMenuInteraction();
uIContextMenu.AddSlider("brightness", (float a) => a.ToString() ?? "", EClass.player.customLightMod, delegate(float b)
{
EClass.player.customLightMod = (int)b;
EClass.pc.RecalculateFOV();
}, 1f, 6f, isInt: true, hideOther: false);
uIContextMenu.Show();
});
}
if (AllowHold(t) && !t.isEquipped && !HasTrader)
{
Interaction item = listInteraction.Add((EClass.pc.held == t) ? "actPick" : "actHold", 60, delegate
Player
@@ -761,6 +761,9 @@ public void OnLeaveZone()
[JsonProperty]
public int luckycoin;
[JsonProperty]
public int customLightMod = 3;
[JsonProperty]
public float angle;
SceneLightProfile
@@ -14,6 +14,8 @@ public class SceneLightProfile : ScriptableObject
public float playerLightMod = 1f;
public float playerLightCustomMod;
public AnimationCurve lightLimit;
public AnimationCurve lightModCurve;
SourceArea
@@ -21,10 +21,13 @@ public class Row : BaseRow
public string detail;
[NonSerialized]
public string name_L;
[NonSerialized]
public string detail_L;
[NonSerialized]
public string textAssign_L;
public override bool UseAlias => false;
SourceBacker
@@ -38,8 +38,10 @@ public class Row : BaseRow
public string original;
[NonSerialized]
public string name_L;
[NonSerialized]
public string text_L;
public override bool UseAlias => false;
SourceBlock
@@ -26,8 +26,10 @@ public class Row : TileRow
[NonSerialized]
public SourceFloor.Row sourceAutoFloor;
[NonSerialized]
public string name_L;
[NonSerialized]
public string detail_L;
public override bool UseAlias => true;
SourceCategory
@@ -56,6 +56,7 @@ public class Row : BaseRow
[NonSerialized]
public List<Row> children;
[NonSerialized]
public string name_L;
public override bool UseAlias => false;
SourceChara
@@ -59,10 +59,13 @@ public class Row : CardRow
[NonSerialized]
public SourceRace.Row _race_row;
[NonSerialized]
public string name_L;
[NonSerialized]
public string detail_L;
[NonSerialized]
public string aka_L;
public override bool UseAlias => false;
SourceCharaText
@@ -27,14 +27,19 @@ public class Row : BaseRow
public string kill;
[NonSerialized]
public string calm_L;
[NonSerialized]
public string fov_L;
[NonSerialized]
public string aggro_L;
[NonSerialized]
public string dead_L;
[NonSerialized]
public string kill_L;
public override bool UseAlias => false;
SourceCollectible
@@ -27,8 +27,10 @@ public class Row : BaseRow
public string detail;
[NonSerialized]
public string name_L;
[NonSerialized]
public string detail_L;
public override bool UseAlias => false;
SourceElement
@@ -135,24 +135,34 @@ public class Row : BaseRow
public int idMold;
[NonSerialized]
public string name_L;
[NonSerialized]
public string altname_L;
[NonSerialized]
public string detail_L;
[NonSerialized]
public string textPhase_L;
[NonSerialized]
public string textExtra_L;
[NonSerialized]
public string textInc_L;
[NonSerialized]
public string textDec_L;
[NonSerialized]
public string levelBonus_L;
[NonSerialized]
public string[] textAlt_L;
[NonSerialized]
public string[] adjective_L;
public override bool UseAlias => true;
SourceFaction
@@ -29,14 +29,19 @@ public class Row : BaseRow
public string detail;
[NonSerialized]
public string name_L;
[NonSerialized]
public string detail_L;
[NonSerialized]
public string textType_L;
[NonSerialized]
public string textBenefit_L;
[NonSerialized]
public string textPet_L;
public override bool UseAlias => false;
SourceFloor
@@ -39,8 +39,10 @@ public class Row : TileRow
[NonSerialized]
public BiomeProfile biome;
[NonSerialized]
public string name_L;
[NonSerialized]
public string detail_L;
public override bool UseAlias => true;
SourceHobby
@@ -46,8 +46,10 @@ public class Row : BaseRow
public string detail;
[NonSerialized]
public string name_L;
[NonSerialized]
public string detail_L;
public override bool UseAlias => true;
SourceHomeResource
@@ -21,8 +21,10 @@ public class Row : BaseRow
public string detail;
[NonSerialized]
public string name_L;
[NonSerialized]
public string detail_L;
public override bool UseAlias => false;
SourceJob
@@ -46,8 +46,10 @@ public class Row : BaseRow
public Dictionary<int, int> elementMap;
[NonSerialized]
public string name_L;
[NonSerialized]
public string detail_L;
public override bool UseAlias => false;
SourceKeyItem
@@ -17,8 +17,10 @@ public class Row : BaseRow
public string detail;
[NonSerialized]
public string name_L;
[NonSerialized]
public string detail_L;
public override bool UseAlias => true;
SourceLiquid
using System;
public class SourceLiquid
{
public class Row
{
[NonSerialized]
public string name_L;
[NonSerialized]
public string detail_L;
}
}
SourceMaterial
@@ -87,10 +87,13 @@ public class Row : BaseRow
public static string[] IDAxe = new string[1] { "wood" };
[NonSerialized]
public string name_L;
[NonSerialized]
public string detail_L;
[NonSerialized]
public string[] altName_L;
public override bool UseAlias => true;
SourceObj
@@ -32,8 +32,10 @@ public class Row : TileRow
public ObjValType objValType;
[NonSerialized]
public string name_L;
[NonSerialized]
public string detail_L;
public override bool UseAlias => true;
SourcePerson
@@ -35,10 +35,13 @@ public class Row : BaseRow
public string detail;
[NonSerialized]
public string name_L;
[NonSerialized]
public string detail_L;
[NonSerialized]
public string aka_L;
public override bool UseAlias => false;
SourceQuest
@@ -39,12 +39,16 @@ public class Row : BaseRow
public string talkComplete;
[NonSerialized]
public string name_L;
[NonSerialized]
public string detail_L;
[NonSerialized]
public string talkProgress_L;
[NonSerialized]
public string talkComplete_L;
public override bool UseAlias => false;
SourceRace
@@ -98,8 +98,10 @@ public class Row : BaseRow
public Dictionary<int, int> elementMap;
[NonSerialized]
public string name_L;
[NonSerialized]
public string detail_L;
public override bool UseAlias => false;
SourceRecipe
@@ -27,8 +27,10 @@ public class Row : BaseRow
public string[] tag;
[NonSerialized]
public string name_L;
[NonSerialized]
public string detail_L;
public override bool UseAlias => false;
SourceReligion
@@ -51,14 +51,19 @@ public class Row : BaseRow
public string textPet;
[NonSerialized]
public string name_L;
[NonSerialized]
public string detail_L;
[NonSerialized]
public string textType_L;
[NonSerialized]
public string textBenefit_L;
[NonSerialized]
public string[] name2_L;
public override bool UseAlias => false;
SourceResearch
@@ -31,8 +31,10 @@ public class Row : BaseRow
public string detail;
[NonSerialized]
public string name_L;
[NonSerialized]
public string detail_L;
public override bool UseAlias => false;
SourceStat
@@ -70,16 +70,22 @@ public class Row : BaseRow
public string detail;
[NonSerialized]
public string name_L;
[NonSerialized]
public string detail_L;
[NonSerialized]
public string textPhase_L;
[NonSerialized]
public string textPhase2_L;
[NonSerialized]
public string textEnd_L;
[NonSerialized]
public string[] strPhase_L;
public override bool UseAlias => true;
SourceSupplyType
using System;
public class SourceSupplyType
{
public class Row
{
[NonSerialized]
public string name_L;
}
}
SourceTactics
@@ -41,8 +41,10 @@ public class Row : BaseRow
public string detail;
[NonSerialized]
public string name_L;
[NonSerialized]
public string detail_L;
public override bool UseAlias => false;
SourceThing
@@ -52,16 +52,22 @@ public class Row : CardRow
public bool ignoreAltFix;
[NonSerialized]
public string name_L;
[NonSerialized]
public string detail_L;
[NonSerialized]
public string unit_L;
[NonSerialized]
public string unknown_L;
[NonSerialized]
public string[] name2_L;
[NonSerialized]
public string[] roomName_L;
public override bool UseAlias => false;
SourceZone
@@ -53,10 +53,13 @@ public class Row : BaseRow
public string detail;
[NonSerialized]
public string name_L;
[NonSerialized]
public string detail_L;
[NonSerialized]
public string textFlavor_L;
public override bool UseAlias => false;
SourceZoneAffix
@@ -21,8 +21,10 @@ public class Row : BaseRow
public string detail;
[NonSerialized]
public string name_L;
[NonSerialized]
public string detail_L;
public override bool UseAlias => false;
WindowChara
@@ -378,7 +378,7 @@ public void RefreshProfile()
textSAN.text = chara.SAN.value.ToString() ?? "";
textFame.text = (chara.IsPC ? (EClass.player.fame.ToString() ?? "") : "???");
textMoney.text = Lang._currency(chara.GetCurrency(), showUnit: true);
textDeposit.text = (chara.IsPC ? Lang._currency(EClass.game.cards.container_deposit.GetCurrency(), showUnit: true) : "???");
textDeposit.text = Lang._currency(chara.IsPC ? EClass.game.cards.container_deposit.GetCurrency() : chara.c_allowance, showUnit: true);
string text = "deepestLv2".lang((chara.IsPCFaction ? EClass.player.stats.deepest : chara.LV).ToString() ?? "");
if (chara.IsPCFaction && EClass.player.CountKeyItem("license_void") > 0)
{