EA 23.122 Nightly
April 8, 2025
11 files modified.
Important Changes
None.
ActEffect
break;
}
case EffectId.HealComplete:
TC.HealHPHost(9999, (actRef.refThing == null) ? HealSource.Magic : HealSource.Item);
TC.HealHPHost(100000000, (actRef.refThing == null) ? HealSource.Magic : HealSource.Item);
TC.CureHost(CureType.HealComplete, power, state);
TC.Say("heal_heavy", TC);
break;
CTAG
@@ -34,5 +34,6 @@ public enum CTAG
dish_bonus,
dish_fail,
random_color,
noRandomEnc
noRandomEnc,
noMix
}
Card
@@ -2050,11 +2050,23 @@ public virtual bool IsMultisize
public bool IsFood => category.IsChildOf("food");
public bool IsInheritFoodTraits
{
get
{
if (!IsFood && !category.IsChildOf("seed") && !(id == "pasture"))
{
return id == "grass";
}
return true;
}
}
public bool ShowFoodEnc
{
get
{
if (!IsFood && (Evalue(10) <= 0 || IsEquipmentOrRangedOrAmmo) && !category.IsChildOf("seed") && !(id == "pasture") && !(id == "grass"))
if (!IsInheritFoodTraits && (Evalue(10) <= 0 || IsEquipmentOrRangedOrAmmo))
{
return category.IsChildOf("drug");
}
@@ -3677,7 +3689,7 @@ public virtual void HealHP(int a, HealSource origin = HealSource.None)
{
if (origin == HealSource.Magic)
{
a = a * Mathf.Max(100 - Evalue(93), 1) / 100;
a = (int)Mathf.Min(a * Mathf.Max(100 - Evalue(93), 1) / 100, 100000000f);
}
hp += a;
if (hp > MaxHP)
Chara
}
daysStarved = 0;
isDead = true;
ClearTempElements();
enemy = null;
_cooldowns = null;
base.isSale = false;
@@ -9364,4 +9365,13 @@ void Cure(int[] eles)
}
}
}
public void ClearTempElements()
{
if (tempElements != null)
{
tempElements.SetParent();
tempElements = null;
}
}
}
CoreDebug
@@ -448,6 +448,7 @@ public void QuickStart()
thing.AddCard(ThingGen.Create("mathammer", 102)).SetNum(10);
thing.AddCard(ThingGen.Create("mathammer", 33)).SetNum(10);
thing.AddCard(ThingGen.Create("mathammer", 18)).SetNum(10);
thing.AddCard(ThingGen.Create("mathammer", 10)).SetNum(99);
EClass.pc.AddCard(thing);
thing = ThingGen.Create("pouch");
for (int l = 0; l < 30; l++)
CraftUtil
@@ -7,7 +7,8 @@ public class CraftUtil : EClass
public enum MixType
{
General,
Food
Food,
NoMix
}
public static string[] ListFoodEffect = new string[2] { "exp", "pot" };
public static Card MixIngredients(Card product, List<Thing> ings, MixType type, int maxQuality, Chara crafter = null)
{
bool noMix = type == MixType.NoMix || product.HasTag(CTAG.noMix);
bool isFood = type == MixType.Food;
int nutFactor = 100 - (ings.Count - 1) * 5;
if (crafter != null && crafter.Evalue(1650) >= 3)
{
nutFactor -= 10;
}
foreach (Element value2 in product.elements.dict.Values)
if (!noMix)
{
int id = value2.id;
if ((uint)(id - 914) > 1u && value2.Value >= 0 && (value2.HasTag("noInherit") || IsValidTrait(value2)))
foreach (Element value2 in product.elements.dict.Values)
{
product.elements.SetTo(value2.id, 0);
int id = value2.id;
if ((uint)(id - 914) > 1u && value2.Value >= 0 && (value2.HasTag("noInherit") || IsValidTrait(value2)))
{
product.elements.SetTo(value2.id, 0);
}
}
}
if (product.HasCraftBonusTrait())
@@ -248,7 +253,7 @@ bool IsValidTrait(Element e)
}
if (e.IsFoodTrait)
{
return product.ShowFoodEnc;
return product.IsInheritFoodTraits;
}
break;
case MixType.Food:
@@ -266,7 +271,7 @@ void MixElements(Card t)
{
foreach (Element value3 in t.elements.dict.Values)
{
if (IsValidTrait(value3))
if (IsValidTrait(value3) && (!noMix || value3.id == 2))
{
if (isFood && value3.IsFoodTraitMain)
{
Game
@@ -445,22 +445,6 @@ public void OnLoad()
}
}
});
QuestDebt questDebt = EClass.game.quests.Get<QuestDebt>();
if (questDebt != null && questDebt.stage == 6)
{
if (player.debt == 19900000)
{
EClass.pc.AddCard(ThingGen.Create("ticket_champagne"));
questDebt.stage = 3;
}
if (player.debt == 19530000)
{
EClass.pc.AddCard(ThingGen.Create("loytel_mart"));
EClass.pc.AddCard(ThingGen.Create("ticket_massage"));
player.debt = 19500000;
questDebt.stage = 5;
}
}
TryAddQuest("into_darkness", "exile_kettle");
if (version.IsBelow(0, 23, 100))
{
Thing
{
AddText("isCopy", FontColor.Default);
}
if (flag && HasTag(CTAG.noMix))
{
AddText("isNoMix", FontColor.Default);
}
if (!trait.CanBeDestroyed)
{
AddText("isIndestructable", FontColor.Default);
TraitCrafter
@@ -16,7 +16,8 @@ public enum MixType
Scratch,
Incubator,
Fortune,
RuneMold
RuneMold,
FixedResource
}
public enum AnimeType
@@ -281,6 +282,7 @@ public virtual Thing Craft(AI_UseCrafter ai)
MixType mixType = source.type.ToEnum<MixType>();
int num = source.num.Calc();
Thing t = null;
string[] array = thing3.Split('%');
bool claimed;
switch (mixType)
{
@@ -288,11 +290,9 @@ public virtual Thing Craft(AI_UseCrafter ai)
t = CraftUtil.MixIngredients(thing3, ai.ings, CraftUtil.MixType.General, 0, EClass.pc);
break;
case MixType.Resource:
{
string[] array = thing3.Split('%');
t = CraftUtil.MixIngredients(ThingGen.Create(array[0], (array.Length > 1) ? EClass.sources.materials.alias[array[1]].id : thing.material.id), ai.ings, CraftUtil.MixType.General, 999, EClass.pc).Thing;
case MixType.FixedResource:
t = CraftUtil.MixIngredients(ThingGen.Create(array[0], (array.Length > 1) ? EClass.sources.materials.alias[array[1]].id : thing.material.id), ai.ings, (mixType == MixType.FixedResource) ? CraftUtil.MixType.NoMix : CraftUtil.MixType.General, 999, EClass.pc).Thing;
break;
}
case MixType.Dye:
t = ThingGen.Create(thing3, thing2.material.id);
break;
TraitPotionAlchemy
@@ -20,6 +20,7 @@ public override void OnCrafted(Recipe recipe)
case 750:
case 753:
num = ((num2 >= 6) ? 8402 : ((num2 >= 4) ? 8401 : 8400));
Debug.Log(num.ToString() + num2);
break;
case 754:
num = 8471;
UIDragGridInfo
@@ -84,11 +84,11 @@ public void Init(Card _owner)
{
Util.Instantiate(moldOr, b);
}
AddThing(text2);
AddThing(text2, null);
}
}
Util.Instantiate(moldEqual, b);
AddThing(a.thing);
AddThing(a.thing, (a.type == "FixedResource") ? "noInherit" : null);
},
onList = delegate
{
@@ -110,11 +110,11 @@ public void Init(Card _owner)
}
window.SetActive(enable: true);
window.RebuildLayout(recursive: true);
void AddThing(string id)
void AddThing(string id, string lang)
{
if (id.IsEmpty() || id == "notImplemented" || id == "any")
{
Util.Instantiate(moldUnknown, P_1.b).GetComponentInChildren<UIButton>().tooltip.lang = "???";
Util.Instantiate(moldUnknown, P_2.b).GetComponentInChildren<UIButton>().tooltip.lang = "???";
}
else
{
@@ -133,17 +133,19 @@ void AddThing(string id)
{
mat = ((!(array[1] == "gelatin")) ? EMono.sources.materials.alias[array[1]] : EMono.sources.materials.alias["jelly"]);
}
Transform transform = Util.Instantiate(moldThing, P_1.b);
Transform transform = Util.Instantiate(moldThing, P_2.b);
Image componentInChildren = transform.GetComponentInChildren<Image>();
UIButton component = componentInChildren.GetComponent<UIButton>();
cardRow.SetImage(componentInChildren, null, cardRow.GetColorInt(mat));
string s = cardRow.GetName();
if (!text.IsEmpty())
if (!text.IsEmpty() || lang != null)
{
Transform obj = Util.Instantiate(moldCat, transform);
string @ref = EMono.sources.categories.map[text].GetName();
obj.GetComponentInChildren<UIText>().SetText("category".lang());
s = "ingCat".lang(@ref);
Util.Instantiate(moldCat, transform).GetComponentInChildren<UIText>().SetText((lang ?? "category").lang());
if (lang == null)
{
string @ref = EMono.sources.categories.map[text].GetName();
s = "ingCat".lang(@ref);
}
}
component.tooltip.lang = s.ToTitleCase();
}