Skip to content

EA 23.55 Hotfix 4

December 13, 2024

12 files modified.

Important Changes

None.

ButtonGrid

@@ -519,7 +519,7 @@ public void SetRecipeVariation(UIRecipeInfo.RecipeVariation a)

cs
	Recipe recipe = a.recipe;
	if (recipe.UseStock && !recipe.VirtualBlock && recipe.ingredients[0].thing != null)
	{
		recipe.ingredients[0].thing.SetImage(icon, a.dir, recipe.ingredients[0].thing.idSkin); 
		recipe.ingredients[0].thing.SetImage(icon, a.dir, recipe.ingredients[0].thing.trait.IdSkin); 
	}
	else
	{

@@ -553,7 +553,7 @@ public void SetRecipe(Recipe r)

cs
		mainText.SetText(thing.Num.ToString() ?? "", SkinManager.CurrentColors.buttonGrid);
		if (r.VirtualBlock)
		{
			r.renderRow.SetImage(icon, null, r.GetDefaultColor(), setNativeSize: true, 0, thing.idSkin); 
			r.renderRow.SetImage(icon, null, r.GetDefaultColor(), setNativeSize: true, 0, thing.trait.IdSkin); 
		}
		else
		{

Card

@@ -5055,7 +5055,7 @@ public virtual Sprite GetSprite(int dir = 0)

cs
		{
			return (trait as TraitAbility).CreateAct()?.GetSprite() ?? EClass.core.refs.icons.defaultAbility;
		}
		return sourceCard.GetSprite(dir, idSkin, (IsInstalled && pos.cell.IsSnowTile) ? true : false); 
		return sourceCard.GetSprite(dir, trait.IdSkin, (IsInstalled && pos.cell.IsSnowTile) ? true : false); 
	}

	public virtual Sprite GetImageSprite()

CharaBody

@@ -82,7 +82,10 @@ public void Unequip(BodySlot slot, bool refresh = true)

cs
	slot.thing = null;
	if (owner.IsPC)
	{
		LayerChara.Refresh(); 
		if (refresh) 
		{ 
			LayerChara.Refresh(); 
		} 
		LayerInventory.SetDirty(thing);
		WidgetEquip.SetDirty();
	}

@@ -217,7 +220,10 @@ public bool Equip(Thing thing, BodySlot slot = null, bool msg = true)

cs
	owner.SetTempHand();
	if (owner.IsPC)
	{
		LayerChara.Refresh(); 
		if (msg) 
		{ 
			LayerChara.Refresh(); 
		} 
		LayerInventory.SetDirty(thing);
		WidgetEquip.SetDirty();
	}

ELEMENT

@@ -416,7 +416,7 @@ public virtual int GetSourceValue(int v, int lv, SourceValueType type)

cs
		{
			SourceValueType.Chara => v * (100 + (lv - 1 + EClass.rnd(lv / 2 + 1)) * source.lvFactor / 10) / 100 + EClass.rnd(lv / 3) * source.lvFactor / 100, 
			SourceValueType.Fixed => v, 
			_ => v * (50 + EClass.rnd(100) + EClass.rnd((int)Mathf.Sqrt(lv * 100)) * source.encFactor / 100) / 100,  
			_ => v * ((source.encFactor == 0) ? 100 : (50 + EClass.rnd(100) + EClass.rnd((int)Mathf.Sqrt(lv * 100)) * source.encFactor / 100)) / 100,  
		};
	}

HotItemEQSet

@@ -59,7 +59,7 @@ public override void Perform()

cs
			if (slot2.elementId != 44 && slot2.thing != null && slot2.thing.blessedState >= BlessedState.Normal)
			{
				dictionary.Add(slot2.thing.c_equippedSlot - 1, slot2.thing);
				EClass.pc.body.Unequip(slot2.thing); 
				EClass.pc.body.Unequip(slot2.thing, refresh: false); 
			}
		}
		Card card = null;

@@ -105,6 +105,7 @@ public override void Perform()

cs
			}
		}
		SE.Equip();
		LayerChara.Refresh(); 
	}

	public override void OnShowContextMenu(UIContextMenu m)

Thing

@@ -1490,9 +1490,9 @@ public override void SetRenderParam(RenderParam p)

cs
		}
		break;
	}
	if (base.idSkin != 0) 
	if (trait.IdSkin != 0) 
	{
		int num6 = base.idSkin - 1; 
		int num6 = trait.IdSkin - 1; 
		if (sourceCard.skins.Length != 0)
		{
			p.tile += ((p.tile < 0f) ? (-sourceCard.skins[num6]) : sourceCard.skins[num6]);

Trait

@@ -41,6 +41,8 @@ public string[] Params

cs

	public virtual byte WeightMod => 0;

	public virtual int IdSkin => owner.idSkin; 

	public virtual string Name => owner.NameSimple;

	public virtual TileType tileType => owner.TileType;

TraitErohon

@@ -5,4 +5,6 @@ public class TraitErohon : TraitBaseSpellbook

cs
	public override Type BookType => Type.Ero;

	public override int eleParent => 75;

	public override int IdSkin => (EClass.sources.charas.map.TryGetValue(owner.c_idRefName)?._index ?? 1) % (owner.sourceCard.skins.Length + 1); 
}

TraitUsuihon

@@ -5,4 +5,6 @@ public class TraitUsuihon : TraitErohon

cs
	public override int Difficulty => 30;

	public override Type BookType => Type.Dojin;

	public override int IdSkin => owner.idSkin; 
}

UIRecipeInfo

@@ -232,7 +232,7 @@ public void RefreshImages()

cs
	{
		if (recipe.UseStock && !recipe.VirtualBlock)
		{
			recipe.ingredients[0].thing.SetImage(imageIcon, recipe._dir, recipe.ingredients[0].thing.idSkin); 
			recipe.ingredients[0].thing.SetImage(imageIcon, recipe._dir, recipe.ingredients[0].thing.trait.IdSkin); 
		}
		else
		{

Zone

@@ -230,9 +230,9 @@ public virtual bool AllowInvest

cs
{
	get
	{
		if (!IsTown) 
		if (!IsTown && !IsPCFaction) 
		{
			return IsPCFaction; 
			return Guild.GetCurrentGuild() != null; 
		}
		return true;
	}