Skip to content

EA 23.228 Nightly

October 30, 2025

5 files modified.

Important Changes

None.

Chara

public override bool isSynced

cs

	public override int MaxHP => (int)Mathf.Clamp(((long)(base.END * 2 + base.STR + base.WIL / 2) * (long)Mathf.Min(base.LV, 25) / 25 + base.END + 10) * Evalue(60) / 100 * ((base.IsPCFactionOrMinion ? 100 : (100 + (int)base.rarity * 300)) + (IsPC ? (EClass.player.lastEmptyAlly * Evalue(1646)) : 0)) / 100, 1f, 1E+09f);

	public override int WeightLimit => Mathf.Max((base.STR * 500 + base.END * 250 + Evalue(207) * 2000) * ((!HasElement(1411)) ? 1 : 5) + 45000, 1000); 
	public override int WeightLimit => (int)Mathf.Clamp(((long)base.STR * 500L + base.END * 250 + Evalue(207) * 2000) * ((!HasElement(1411)) ? 1 : 5) + 45000, 1000f, 1.0737418E+09f); 

	public override int SelfWeight => bio.weight * 1000;

public override void OnCreate(int genLv)

cs
	_idTimeTable = ((EClass.rnd(5) == 0) ? 1 : 0);
	ApplyRace();
	ApplyJob();
	Debug.Log(source.defMat); 
	ChangeMaterial(source.defMat.IsEmpty(race.material), ignoreFixedMaterial: true);
	if (num != source.LV)
	{

CoreDebug

public void QuickStart()

cs
		for (int j = 0; j < 30; j++)
		{
			CardBlueprint.Set(CardBlueprint.DebugEQ);
			Thing thing2 = ThingGen.CreateFromCategory("weapon", int.MaxValue); 
			Thing thing2 = ThingGen.CreateFromCategory("weapon", 214748364); 
			thing2.elements.SetBase(653, 1);
			if (!(thing2.trait is TraitAmmo))
			{
				thing.AddCard(thing2);
			}
			CardBlueprint.Set(CardBlueprint.DebugEQ);
			thing2 = ThingGen.CreateFromCategory("armor", int.MaxValue); 
			thing2 = ThingGen.CreateFromCategory("armor", 214748364); 
			thing2.elements.SetBase(653, 1);
			thing.AddCard(thing2);
		}

FortuneRollData

public List<List<string>> GetPrizeList()

cs
		{
			"computer", "834", "1090", "goods_figure", "goods_canvas", "mb_1", "mb_2", "mb_3", "mb_4", "mb_5",
			"1174", "1085", "toilet", "714", "nobility", "plat", "1165", "mathammer", "medal", "bbq",
			"panty", "beehive", "ticket_resident", "lovepotion", "crystal_sun"
			"panty", "beehive", "ticket_resident", "lovepotion", "crystal_sun", "goods_crim"
		},
		new List<string>
		{

SurvivalManager

public void OnExpandFloor(Point pos)

cs
	});
	Check(20, delegate
	{
		EClass.pc.homeBranch.AddMemeber(EClass._zone.AddCard(CharaGen.Create("fiama"), pos.x, pos.z).Chara); 
		AddMemeber("fiama"); 
	});
	Check(40, delegate
	{
		EClass.pc.homeBranch.AddMemeber(EClass._zone.AddCard(CharaGen.Create("nino"), pos.x, pos.z).Chara); 
		AddMemeber("nino"); 
	});
	Check(60, delegate
	{
		EClass.pc.homeBranch.AddMemeber(EClass._zone.AddCard(CharaGen.Create("loytel"), pos.x, pos.z).Chara); 
		AddMemeber("loytel"); 
		CheckLoytelDebt();
	});
	Check(80, delegate
	{ 
		AddMemeber("farris"); 
	}); 
	Check(100, delegate
	{
		EClass._zone.AddCard(ThingGen.Create("core_defense"), pos).Install();
	});
	void AddMemeber(string id) 
	{ 
		if (EClass.game.cards.globalCharas.Find(id) == null) 
		{ 
			EClass.pc.homeBranch.AddMemeber(EClass._zone.AddCard(CharaGen.Create(id), pos.x, pos.z).Chara); 
		} 
	} 
	void Check(int a, Action action)
	{
		if (!done && flags.floors < a && i >= a)

public bool OnMineWreck(Point point)

cs
		break;
	case "wreck_junk":
		chanceChange = 100;
		return Pop(ThingGen.CreateFromFilter("shop_junk", num)); 
		return Pop(ThingGen.CreateFromFilter("wreck_junk", num)); 
	case "wreck_stone":
		chanceChange = 30;
		array = new string[4] { "rock", "rock", "stone", "bone" };

Trait

public void OnBarter(bool reroll = false)

cs
		{
			break;
		}
		int num7 = 0; 
		int num3 = 0; 
		foreach (Thing thing10 in c_copyContainer.things)
		{
			if (!owner.trait.CanCopy(thing10))
			{
				continue;
			}
			Thing thing5 = thing10.Duplicate(1); 
			thing5.isStolen = false; 
			thing5.isCopy = true; 
			thing5.c_priceFix = 0; 
			foreach (Element item in thing5.elements.dict.Values.Where((Element e) => e.HasTag("noInherit")).ToList()) 
			Thing thing3 = thing10.Duplicate(1); 
			thing3.isStolen = false; 
			thing3.isCopy = true; 
			thing3.c_priceFix = 0; 
			foreach (Element item in thing3.elements.dict.Values.Where((Element e) => e.HasTag("noInherit")).ToList()) 
			{
				thing5.elements.Remove(item.id); 
				thing3.elements.Remove(item.id); 
			}
			int num8 = 1; 
			int num4 = 1; 
			switch (owner.trait.CopyShop)
			{
			case CopyShopType.Item:
			{
				num8 = (1000 + owner.c_invest * 100) / (thing5.GetPrice(CurrencyType.Money, sell: false, PriceType.CopyShop) + 50); 
				num4 = (1000 + owner.c_invest * 100) / (thing3.GetPrice(CurrencyType.Money, sell: false, PriceType.CopyShop) + 50); 
				int[] array = new int[3] { 704, 703, 702 };
				foreach (int ele in array)
				{
					if (thing5.HasElement(ele)) 
					if (thing3.HasElement(ele)) 
					{
						num8 = 1; 
						num4 = 1; 
					}
				}
				break;
			}
			case CopyShopType.Spellbook:
				thing5.c_charges = thing10.c_charges; 
				thing3.c_charges = thing10.c_charges; 
				break;
			}
			if (num8 > 1 && thing5.trait.CanStack) 
			if (num4 > 1 && thing3.trait.CanStack) 
			{
				thing5.SetNum(num8); 
				thing3.SetNum(num4); 
			}
			AddThing(thing5); 
			num7++; 
			if (num7 > owner.trait.NumCopyItem) 
			AddThing(thing3); 
			num3++; 
			if (num3 > owner.trait.NumCopyItem) 
			{
				break;
			}

public void OnBarter(bool reroll = false)

cs
		break;
	case ShopType.RedBook:
	{
		for (int num6 = 0; num6 < 30; num6++) 
		for (int num7 = 0; num7 < 30; num7++) 
		{
			AddThing(ThingGen.CreateFromCategory((EClass.rnd(2) == 0) ? "_book" : "book"));
		}

public void OnBarter(bool reroll = false)

cs
		AddThing(TraitSeed.MakeSeed("carrot")).SetNum(4 + EClass.rnd(4));
		AddThing(TraitSeed.MakeSeed("potato")).SetNum(4 + EClass.rnd(4));
		AddThing(TraitSeed.MakeSeed("corn")).SetNum(4 + EClass.rnd(4));
		for (int l = 0; l < EClass.rnd(3) + 1; l++) 
		for (int num8 = 0; num8 < EClass.rnd(3) + 1; num8++) 
		{
			Add("462", 1, 0);
		}
		for (int m = 0; m < EClass.rnd(3) + 1; m++) 
		for (int num9 = 0; num9 < EClass.rnd(3) + 1; num9++) 
		{
			Add("1167", 1, 0);
		}

public void OnBarter(bool reroll = false)

cs
				Add("stethoscope", 1, 0);
				Add("whip_love", 1, 0);
				Add("whip_interest", 1, 0);
				if (EClass.game.IsSurvival) 
				{ 
					Add("chest_tax", 1, 0); 
				} 
				break;
			case ShopType.Guild:
				if (this is TraitClerk_Merchant)

public void OnBarter(bool reroll = false)

cs
				break;
			case ShopType.Influence:
			{
				bool num3 = owner.id == "big_sister"; 
				TraitTicketFurniture.SetZone(num3 ? EClass.game.spatials.Find("little_garden") : EClass._zone, Add("ticket_furniture", 1, 0).SetNum(99)); 
				if (num3) 
				bool num5 = owner.id == "big_sister"; 
				TraitTicketFurniture.SetZone(num5 ? EClass.game.spatials.Find("little_garden") : EClass._zone, Add("ticket_furniture", 1, 0).SetNum(99)); 
				if (num5) 
				{
					Add("littleball", 10, 0);
					if (!owner.Chara.affinity.CanGiveCard())

public void OnBarter(bool reroll = false)

cs
					}
					if (!reroll)
					{
						for (int n = 0; n < 20; n++) 
						for (int m = 0; m < 20; m++) 
						{
							owner.Chara.ModExp(287, 1000);
						}
					}
					Thing thing3 = CraftUtil.MakeLoveLunch(owner.Chara); 
					thing3.elements.SetBase(1229, 1); 
					AddThing(thing3); 
					Thing thing4 = CraftUtil.MakeLoveLunch(owner.Chara); 
					thing4.elements.SetBase(1229, 1); 
					AddThing(thing4); 
					break;
				}
				for (int num4 = 0; num4 < 10; num4++) 
				for (int n = 0; n < 10; n++) 
				{
					Thing thing4 = ThingGen.Create(EClass._zone.IsFestival ? "1123" : ((EClass.rnd(3) == 0) ? "1169" : "1160")); 
					thing4.DyeRandom(); 
					AddThing(thing4); 
					Thing thing5 = ThingGen.Create(EClass._zone.IsFestival ? "1123" : ((EClass.rnd(3) == 0) ? "1169" : "1160")); 
					thing5.DyeRandom(); 
					AddThing(thing5); 
				}
				if (EClass._zone is Zone_Exile)
				{
					for (int num5 = 0; num5 < 30; num5++) 
					for (int num6 = 0; num6 < 30; num6++) 
					{
						Add("1235", 1, -1);
						Add("1236", 1, -1);

public void OnBarter(bool reroll = false)

cs
					continue;
				}
				string[] recipeKey = item3.row.recipeKey;
				for (int num9 = 0; num9 < recipeKey.Length; num9++) 
				for (int l = 0; l < recipeKey.Length; l++) 
				{
					if (recipeKey[num9] == ShopType.ToString()) 
					if (recipeKey[l] == ShopType.ToString()) 
					{
						NoRestock(ThingGen.CreateRecipe(item3.id));
						break;