EA 23.153 Nightly
June 14, 2025
13 files modified.
Important Changes
None.
AI_Slaughter
@@ -99,6 +99,7 @@ public override IEnumerable<Status> Run()
}
else
{
target.Chara.c_uniqueData = null;
target.Chara.homeBranch.BanishMember(target.Chara, skipMsg: true);
}
}
Card
@@ -2843,9 +2843,9 @@ public Card SetLv(int a)
}
}
}
if (flag && elements.Base(286) > 50)
if (flag)
{
elements.SetTo(286, 50 + (int)Mathf.Sqrt(elements.Base(286) - 50));
ClampInitialSkill();
}
Rand.SetSeed();
hp = MaxHP;
@@ -2855,27 +2855,55 @@ public Card SetLv(int a)
return this;
}
public void ClampInitialSkill()
{
if (elements.Base(286) > 50)
{
elements.SetTo(286, 50 + (int)Mathf.Sqrt(elements.Base(286) - 50));
}
}
public void AddExp(int a)
{
a = a * GetExpMtp() / 100;
exp += a;
while (exp >= ExpToNext)
{
exp -= ExpToNext;
LevelUp();
}
}
public int GetExpMtp()
{
int num = 100;
if (!IsPC)
{
a *= 2;
num *= 2;
if (IsPCFaction)
{
a = a * Mathf.Clamp(100 + Chara.affinity.value / 10, 50, 200) / 100;
num = num * GetAffinityExpBonus() / 100;
if (EClass.game.principal.petFeatExp)
{
a = a * (50 + EClass.game.principal.petFeatExpMtp * 50) / 100;
num = num * (50 + EClass.game.principal.petFeatExpMtp * 50) / 100;
}
}
}
a = a * (100 + Evalue(1237) * 30) / 100;
exp += a;
while (exp >= ExpToNext)
return num * (100 + Evalue(1237) * 30) / 100;
}
public int GetAffinityExpBonus()
{
return Mathf.Clamp(100 + Chara.affinity.value / 10, 50, 200);
}
public int GetDaysTogetherBonus()
{
if (!IsPCFactionOrMinion)
{
exp -= ExpToNext;
LevelUp();
return 100;
}
return 100 + EClass.curve(c_daysWithPC / 100 * 3, 100, 20, 70);
}
public void LevelUp()
p *= 0.004999999888241291;
break;
default:
if (IsIdentified || (this.trait is TraitErohon && !sell))
if (IsIdentified || (this.trait is TraitErohon && !sell) || priceType == PriceType.Tourism)
{
if (blessedState == BlessedState.Blessed)
{
CardRow
@@ -120,8 +120,10 @@ public string GetName(Card c, bool full = false)
{
source = c.Chara.MainElement.source;
}
text = ((source == Element.Void.source) ? text.Replace("#ele4", "").Replace("#ele3", "").Replace("#ele2", "")
.Replace("#ele", "") : text.Replace("#ele4", source.GetAltname(2)).Replace("#ele3", source.GetAltname(1)).Replace("#ele2", source.GetAltname(0))
text = ((source == Element.Void.source) ? text.Replace("#ele5", "").Replace("#ele4", "").Replace("#ele3", "")
.Replace("#ele2", "")
.Replace("#ele", "") : text.Replace("#ele5", source.GetAltname(3)).Replace("#ele4", source.GetAltname(2)).Replace("#ele3", source.GetAltname(1))
.Replace("#ele2", source.GetAltname(0))
.Replace("#ele", source.GetName().ToLower()));
string text2 = GetText("aka");
if (text == "*r")
Chara
@@ -1217,7 +1217,8 @@ public override string GetName(NameStyle style, int num = -1)
return EClass.sources.backers.map[base.c_idBacker].Name;
}
string text = base.c_altName ?? source.GetName(this);
text = text.Replace("#ele4", MainElement.source.GetAltname(2)).Replace("#ele3", MainElement.source.GetAltname(1)).Replace("#ele2", MainElement.source.GetAltname(0))
text = text.Replace("#ele5", MainElement.source.GetAltname(3)).Replace("#ele4", MainElement.source.GetAltname(2)).Replace("#ele3", MainElement.source.GetAltname(1))
.Replace("#ele2", MainElement.source.GetAltname(0))
.Replace("#ele", MainElement.source.GetName().ToLower());
if (base.c_bossType == BossType.Evolved)
{
@@ -1526,6 +1527,7 @@ public override void OnCreate(int genLv)
}
_affinity = 0;
interest = 100;
ClampInitialSkill();
CalculateMaxStamina();
Refresh();
stamina.value = stamina.max;
DramaCustomSequence
@@ -728,7 +728,12 @@ public void Build(Chara c)
});
Method(delegate
{
if (EClass.player.IsCriminal && !EClass._zone.AllowCriminal && !EClass._zone.IsPCFaction && !c.trait.AllowCriminal)
if (c.trait is TraitMerchantBlack && Guild.Thief.relation.rank < 4 && (Guild.Thief.IsCurrentZone || (!(EClass._zone.id == "derphy") && !(EClass._zone.id == "kapul"))))
{
SE.Play("click_chat");
TempTalkTopic("shop_blackmarket_noaccess", StepEnd);
}
else if (EClass.player.IsCriminal && !EClass._zone.AllowCriminal && !EClass._zone.IsPCFaction && !c.trait.AllowCriminal)
{
SE.Play("click_chat");
TempTalkTopic("shop_criminal", StepEnd);
ElementContainer
@@ -277,6 +277,10 @@ public void ModExp(int ele, int a, bool chain = false)
{
return;
}
if (!chain && a > 0 && Card != null && Card.isChara)
{
a = a * Card.Chara.GetDaysTogetherBonus() / 100;
}
int value = (element.UsePotential ? element.Potential : 100);
if (element.UseExpMod && a >= 0)
{
FactionBranch
@@ -583,7 +583,10 @@ public void OnAdvanceDay()
{
continue;
}
member.c_daysWithPC++;
if (member.IsPCParty || member.currentZone == EClass.pc.currentZone)
{
member.c_daysWithPC++;
}
if (member.memberType == FactionMemberType.Default)
{
if (EClass.rnd(3) == 0)
GamePrincipal
@@ -144,6 +144,9 @@ public void SetInt(int value)
[JsonProperty]
public bool disableUsermapBenefit;
[JsonProperty]
public bool realAdv;
[JsonProperty]
public bool dropRate;
InvOwner
@@ -256,11 +256,6 @@ public bool Process(bool startTransaction = false)
Msg.Say("markedImportant");
return false;
}
if (inv.owner.isChara && inv.owner.Chara.IsPCFaction && !inv.owner.IsPC && thing2.IsRangedWeapon)
{
thing2.ammoData = null;
thing2.c_ammo = 0;
}
if (startTransaction)
{
dragItemCard.from.thing = thing2;
@@ -1037,11 +1032,6 @@ public virtual bool CanShiftClick(ButtonGrid b, bool rightMouse = false)
{
return false;
}
if (b.invOwner.owner.isChara && b.invOwner.owner.Chara.IsPCFaction && !b.invOwner.owner.IsPC && thing.IsRangedWeapon)
{
thing.ammoData = null;
thing.c_ammo = 0;
}
if (EInput.isShiftDown)
{
LayerInventory.highlightInv = shitDestOwner;
SourceChara
@@ -111,7 +111,8 @@ public override void SetTiles()
public override string GetName()
{
string text = GetText();
text = text.Replace("#ele4", "").Replace("#ele3", "").Replace("#ele2", "")
text = text.Replace("#ele5", "").Replace("#ele4", "").Replace("#ele3", "")
.Replace("#ele2", "")
.Replace("#ele", "");
if (text == "*r")
{
Thing
@@ -267,7 +267,7 @@ public override void OnCreate(int genLv)
{
if (bp.qualityBonus == 0)
{
num4 = EClass.rnd(EClass.rnd(11) + 1);
num4 = EClass.rnd(EClass.rnd(12) + 1);
if (num4 == 1 && EClass.rnd(3) != 0)
{
num4 = 0;
@@ -287,7 +287,11 @@ public override void OnCreate(int genLv)
}
if (num4 > 0)
{
SetEncLv(Mathf.Min(num4, 12));
if (num4 > 12)
{
num4 = 12;
}
SetEncLv(num4);
}
}
if (HasTag(CTAG.randomSkin))
TraitMerchantBlack
@@ -4,17 +4,7 @@ public class TraitMerchantBlack : TraitMerchant
public override int CostRerollShop => 2;
public override ShopType ShopType
{
get
{
if (!Guild.Thief.IsCurrentZone || Guild.Thief.relation.rank >= 4)
{
return ShopType.Blackmarket;
}
return ShopType.None;
}
}
public override ShopType ShopType => ShopType.Blackmarket;
public override bool CanSellStolenGoods => true;
WindowChara
using System;
using System.Collections.Generic;
using System.Linq;
using PrimitiveUI.Examples;
@@ -915,9 +916,18 @@ public static void RefreshNote(Chara chara, UINote n, bool shortMode = false)
{
AddText("info_criminal".lang());
}
if (!chara.IsPC && chara.c_daysWithPC > 0)
if (!chara.IsPC)
{
AddText("info_daysWithPC".lang(chara.c_daysWithPC.ToString() ?? ""));
int num = chara.GetAffinityExpBonus() - 100;
if (num != 0)
{
AddText("affinity_exp_bonus".lang(chara.affinity.Name, ((num > 0) ? "+" : "") + num));
}
if (chara.c_daysWithPC > 0)
{
num = chara.GetDaysTogetherBonus() - 100;
AddText("info_daysWithPC".lang(chara.c_daysWithPC.ToString() ?? "") + Environment.NewLine + "daystogether_bonus".lang(((num > 0) ? "+" : "") + num));
}
}
if (EClass.debug.showExtra)
{