Skip to content

EA 23.83

January 29, 2025

12 files modified.

Important Changes

None.

AI_Torture

@@ -87,6 +87,7 @@ public override void OnCancelOrSuccess()

cs
	{
		return;
	}
	owner.AddCondition<ConInvulnerable>(); 
	foreach (Chara chara in EClass._map.charas)
	{
		if (chara != _owner && (chara.enemy == _owner || chara.enemy == _owner.parasite || chara.enemy == _owner.ride))

AM_Adv

@@ -534,6 +534,7 @@ public override void _OnUpdateInput()

cs
		{
			EClass.player.lastTurn = EClass.pc.turn;
			EClass.player.invlunerable = false;
			EClass.pc.RemoveCondition<ConInvulnerable>(); 
			OnBecomeNoGoal();
			if (!EClass.pc.HasNoGoal)
			{

ActPlan

@@ -696,7 +696,14 @@ public void _Update(PointTarget target)

cs
									Color lightColor = t.LightColor;
									EClass.ui.AddLayer<LayerColorPicker>().SetColor(lightColor, lightColor, delegate(PickerState state, Color _c)
									{
										t.c_lightColor = (byte)Mathf.Clamp(_c.r * 32f, 1f, 31f) * 1024 + (byte)Mathf.Clamp(_c.g * 32f, 1f, 31f) * 32 + (byte)Mathf.Clamp(_c.b * 32f, 1f, 31f); 
										if (state == PickerState.Cancel) 
										{ 
											t.c_lightColor = 0; 
										} 
										else
										{ 
											t.c_lightColor = (byte)Mathf.Clamp(_c.r * 32f, 1f, 31f) * 1024 + (byte)Mathf.Clamp(_c.g * 32f, 1f, 31f) * 32 + (byte)Mathf.Clamp(_c.b * 32f, 1f, 31f); 
										} 
										t.RecalculateFOV();
										t.renderer.GetTC<TCExtra>()?.RefreshColor();
									});

AttackProcess

@@ -574,7 +574,7 @@ public bool Perform(int count, bool hasHit, float dmgMulti = 1f, bool maxRoll =

cs
			conWeapon = CC.GetCondition<ConWeapon>();
			num4 = conWeapon.sourceElement.id;
			num5 = conWeapon.power / 2;
			num6 = 40 + (int)Mathf.Min(MathF.Sqrt(conWeapon.power), 80f); 
			num6 = (int)Mathf.Min(40f + MathF.Sqrt(conWeapon.power), 80f); 
		}
		if (conWeapon == null && weapon == null && (CC.MainElement != Element.Void || CC.HasElement(1565)))
		{

@@ -657,7 +657,7 @@ public bool Perform(int count, bool hasHit, float dmgMulti = 1f, bool maxRoll =

cs
				{
					num10 = 0;
				}
				if (num10 >= EClass.rnd(100)) 
				if (num10 > EClass.rnd(100)) 
				{
					TC.DamageHP(dmg, item.id, isThrow ? (100 + item.Value * 5) : (30 + item.Value), AttackSource.WeaponEnchant, CC);
				}

@@ -802,7 +802,7 @@ void Proc(List<Element> list)

cs
			{
				int num12 = 10 + item2.Value / 5;
				int power = EClass.curve((100 + item2.Value * 10) * (100 + weaponSkill.Value) / 100, 400, 100);
				if (num12 >= EClass.rnd(100)) 
				if (num12 > EClass.rnd(100)) 
				{
					Act obj = item2 as Act;
					Card card = (obj.TargetType.CanSelectSelf ? CC : TC);

BaseCondition

@@ -435,7 +435,14 @@ public override void _WriteNote(UINote n, bool asChild = false)

cs
	for (int j = 0; j < base.source.elements.Length; j += 2)
	{
		Element element = Element.Create(GetElementSource(j).id, base.source.elements[j + 1].Calc(power, 0, P2));
		list.Add("modValue".lang(element.Name, ((element.Value < 0) ? "" : "+") + element.Value)); 
		if (elements != null && elements.Has(element.id) && elements.Value(element.id) != element.Value) 
		{ 
			list.Add("modValue".lang(element.Name, ((element.Value < 0) ? "" : "+") + elements.Value(element.id) + " (" + element.Value + ")")); 
		} 
		else
		{ 
			list.Add("modValue".lang(element.Name, ((element.Value < 0) ? "" : "+") + element.Value)); 
		} 
	}
	if (list.Count <= 0)
	{

CTAG

@@ -32,5 +32,6 @@ public enum CTAG

cs
	godArtifact,
	noWish,
	dish_bonus,
	dish_fail 
	dish_fail, 
	random_color 
}

Card

@@ -3683,7 +3683,7 @@ public void DamageHP(int dmg, int ele, int eleP = 100, AttackSource attackSource

cs
		}
		if (IsPCParty && EClass.pc.ai is GoalAutoCombat)
		{
			dmg = dmg * 100 / Mathf.Min(105 + EClass.pc.Evalue(135) / 10, 110); 
			dmg = dmg * 100 / Mathf.Clamp(105 + EClass.pc.Evalue(135) / 10, 10, 110); 
		}
		if (HasElement(1218))
		{

@@ -3834,7 +3834,7 @@ public void DamageHP(int dmg, int ele, int eleP = 100, AttackSource attackSource

cs
					if (EClass.player.invlunerable)
					{
						EvadeDeath();
						goto IL_0a84; 
						goto IL_0a86; 
					}
				}
				if (IsPC && Evalue(1220) > 0 && Chara.stamina.value >= Chara.stamina.max / 2)

@@ -3846,8 +3846,8 @@ public void DamageHP(int dmg, int ele, int eleP = 100, AttackSource attackSource

cs
			}
		}
	}
	goto IL_0a84; 
	IL_0a84: 
	goto IL_0a86; 
	IL_0a86: 
	if (trait.CanBeAttacked)
	{
		renderer.PlayAnime(AnimeID.HitObj);

@@ -5083,7 +5083,7 @@ public virtual void SetRenderParam(RenderParam p)

cs

	public void DyeRandom()
	{
		Dye(EClass.sources.materials.rows.RandomItem().alias); 
		Dye(EClass.sources.materials.rows.Where((SourceMaterial.Row r) => r.matColor.r != r.matColor.g || r.matColor.g != r.matColor.b || r.matColor.b != r.matColor.r).RandomItem().alias); 
	}

	public void Dye(string idMat)

Chara

@@ -1452,7 +1452,7 @@ public override void OnCreate(int genLv)

cs
		}
		break;
	}
	if (source.tag.Contains("random_color")) 
	if (HasTag(CTAG.random_color)) 
	{
		DyeRandom();
	}

CoreDebug

@@ -913,13 +913,18 @@ public void UpdateInput()

cs
			EClass.pc.Pick(targetChara.MakeBraineCell());
			EClass.pc.Pick(targetChara.MakeEgg(effect: true, 10));
		}
		if (EClass.game.quests.Get<QuestDebt>() == null) 
		{
			foreach (Chara chara in EClass._map.charas) 
			{ 
				chara.hunger.value = 100; 
			} 
			return; 
			Chara chara = CharaGen.Create("loytel"); 
			EClass._zone.AddCard(chara, EClass.pc.pos); 
			chara.SetGlobal(); 
			Quest q = EClass.game.quests.Add("debt", "loytel"); 
			EClass.game.quests.Start(q); 
			EClass.pc.party.RemoveMember(chara); 
			Hostility hostility2 = (chara.c_originalHostility = Hostility.Ally); 
			chara.hostility = hostility2; 
		}
		return; 
	}
	if (Input.GetKeyDown(KeyCode.F3))
	{

Game

@@ -392,6 +392,10 @@ public void OnLoad()

cs
		{
			value.memberType = FactionMemberType.Default;
		}
		if (!value.isDyed && value.HasTag(CTAG.random_color)) 
		{ 
			value.DyeRandom(); 
		} 
	}
	foreach (FactionBranch child in EClass.pc.faction.GetChildren())
	{

TraitBaseSpellbook

@@ -122,7 +122,7 @@ public static void ReadFailEffect(Chara c)

cs
		c.Say("spell_fail_confuse", c);
		c.AddCondition<ConConfuse>();
	}
	else if (EClass.rnd(3) == 0) 
	else if (((c.IsPCFaction && c.memberType == FactionMemberType.Default) || !EClass._zone.IsPCFaction) && EClass.rnd(3) == 0) 
	{
		c.Say("spell_fail_monster", c);
		c.PlaySound("spell_funnel");

Zone

@@ -903,6 +903,10 @@ public void Activate()

cs
		if (card.isChara)
		{
			Chara chara = card.Chara;
			if (!card.isDyed && card.HasTag(CTAG.random_color)) 
			{ 
				card.DyeRandom(); 
			} 
			if (card.IsUnique && !card.IsPCFaction && !card.IsPCParty)
			{
				Point point = chara.orgPos ?? card.pos;