Decompiled source of Forest Under The Starry Sky v2.2.319

ForestUnderTheStarrySky.dll

Decompiled 2 days ago
using System;
using System.Collections;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Runtime.Versioning;
using BepInEx;
using DiskCardGame;
using FUTSSNewCardsMod.Utils;
using HarmonyLib;
using InscryptionAPI.Ascension;
using InscryptionAPI.Card;
using InscryptionAPI.Guid;
using InscryptionAPI.Helpers;
using InscryptionAPI.Helpers.Extensions;
using InscryptionAPI.Triggers;
using Pixelplacement;
using UnityEngine;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
[assembly: AssemblyTitle("ForestUnderTheStarrySky")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("ForestUnderTheStarrySky")]
[assembly: AssemblyCopyright("Copyright ©  2025")]
[assembly: AssemblyTrademark("")]
[assembly: ComVisible(false)]
[assembly: Guid("ce178e1a-8da7-40d5-a6ad-8af9c2f68bd8")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: TargetFramework(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")]
[assembly: AssemblyVersion("1.0.0.0")]
public class Class1
{
}
namespace FUTSSNewCardsMod.Utils
{
	internal static class CombatBridge
	{
		private static MethodInfo _unlockAchievement;

		private static FieldInfo _weightPrefabField;

		private static MethodInfo _showCardBlocked;

		private static MethodInfo _preOverkillDamage;

		private static MethodInfo _postOverkillDamage;

		private static MethodInfo _visualizeClearSniper;

		static CombatBridge()
		{
			Type typeFromHandle = typeof(CombatPhaseManager);
			Type type = Type.GetType("DiskCardGame.AchievementManager, Assembly-CSharp");
			if (type != null)
			{
				_unlockAchievement = AccessTools.Method(type, "Unlock", new Type[1] { typeof(Achievement) }, (Type[])null);
			}
			Type type2 = Type.GetType("DiskCardGame.CombatPhaseManager3D, Assembly-CSharp");
			if (type2 != null)
			{
				_weightPrefabField = AccessTools.Field(type2, "weightPrefab");
			}
			_unlockAchievement = AccessTools.Method(type, "Unlock", new Type[1] { typeof(Achievement) }, (Type[])null);
			_weightPrefabField = AccessTools.Field(typeof(CombatPhaseManager3D), "weightPrefab");
			_showCardBlocked = AccessTools.Method(typeFromHandle, "ShowCardBlocked", new Type[1] { typeof(PlayableCard) }, (Type[])null);
			_preOverkillDamage = AccessTools.Method(typeFromHandle, "PreOverkillDamage", new Type[1] { typeof(PlayableCard) }, (Type[])null);
			_postOverkillDamage = AccessTools.Method(typeFromHandle, "PostOverkillDamage", new Type[1] { typeof(PlayableCard) }, (Type[])null);
			_visualizeClearSniper = AccessTools.Method(typeFromHandle, "VisualizeClearSniperAbility", Type.EmptyTypes, (Type[])null);
		}

		public static void UnlockAchievement(Achievement achievement)
		{
			//IL_001e: Unknown result type (might be due to invalid IL or missing references)
			if (_unlockAchievement != null)
			{
				_unlockAchievement.Invoke(null, new object[1] { achievement });
			}
			else
			{
				Debug.LogWarning((object)"[CombatBridge] UnlockAchievement 方法未找到");
			}
		}

		public static GameObject GetWeightPrefab()
		{
			CombatPhaseManager instance = Singleton<CombatPhaseManager>.Instance;
			CombatPhaseManager3D val = (CombatPhaseManager3D)(object)((instance is CombatPhaseManager3D) ? instance : null);
			if ((Object)(object)val == (Object)null || _weightPrefabField == null)
			{
				return null;
			}
			object? value = _weightPrefabField.GetValue(val);
			return (GameObject)((value is GameObject) ? value : null);
		}

		public static IEnumerator ShowCardBlocked(PlayableCard card)
		{
			if (!(_showCardBlocked == null))
			{
				yield return _showCardBlocked.Invoke(Singleton<CombatPhaseManager>.Instance, new object[1] { card }) as IEnumerator;
			}
		}

		public static IEnumerator PreOverkillDamage(PlayableCard queuedCard)
		{
			if (!(_preOverkillDamage == null))
			{
				yield return _preOverkillDamage.Invoke(Singleton<CombatPhaseManager>.Instance, new object[1] { queuedCard }) as IEnumerator;
			}
		}

		public static IEnumerator PostOverkillDamage(PlayableCard queuedCard)
		{
			if (!(_postOverkillDamage == null))
			{
				yield return _postOverkillDamage.Invoke(Singleton<CombatPhaseManager>.Instance, new object[1] { queuedCard }) as IEnumerator;
			}
		}

		public static void VisualizeClearSniperAbility()
		{
			if (_visualizeClearSniper != null)
			{
				_visualizeClearSniper.Invoke(Singleton<CombatPhaseManager>.Instance, null);
			}
		}
	}
	public class FakeCombatHandler
	{
		public class FakeCombatThing
		{
			private List<Transform> damageWeights = new List<Transform>();

			public static bool isCombatPhase;

			public static Ability ability;

			public int DamageDealtThisPhase { get; private set; }

			public IEnumerator FakeCombat(bool playerIsAttacker, SpecialBattleSequencer specialSequencer, CardSlot attacker, List<CardSlot> overrideTargets = null, int overrideDMG = -1)
			{
				DamageDealtThisPhase = 0;
				yield return SlotAttackSequence(attacker, overrideTargets, overrideDMG);
				if (DamageDealtThisPhase > 0 && !isCombatPhase)
				{
					yield return (object)new WaitForSeconds(0.4f);
					yield return VisualizeDamageMovingToScales(playerIsAttacker);
					int excessDamage = 0;
					if (playerIsAttacker)
					{
						excessDamage = Singleton<LifeManager>.Instance.Balance + DamageDealtThisPhase - 5;
						excessDamage = Mathf.Max(0, excessDamage);
					}
					int damage = DamageDealtThisPhase - excessDamage;
					if (DamageDealtThisPhase >= 666)
					{
						CombatBridge.UnlockAchievement((Achievement)25);
					}
					if ((Object)(object)specialSequencer == (Object)null || !specialSequencer.PreventDamageAddedToScales)
					{
						yield return Singleton<LifeManager>.Instance.ShowDamageSequence(damage, damage, !playerIsAttacker, 0f, (GameObject)null, 0f, true);
					}
					if ((Object)(object)specialSequencer != (Object)null)
					{
						yield return specialSequencer.DamageAddedToScale(damage + excessDamage, playerIsAttacker);
					}
					if ((!((Object)(object)specialSequencer != (Object)null) || !specialSequencer.PreventDamageAddedToScales) && excessDamage > 0 && Singleton<TurnManager>.Instance.Opponent.NumLives == 1 && Singleton<TurnManager>.Instance.Opponent.GiveCurrencyOnDefeat)
					{
						yield return Singleton<TurnManager>.Instance.Opponent.TryRevokeSurrender();
						RunState run = RunState.Run;
						run.currency += excessDamage;
					}
					Singleton<ViewManager>.Instance.Controller.LockState = (ViewLockState)0;
					DamageDealtThisPhase = 0;
				}
			}

			private IEnumerator VisualizeDamageMovingToScales(bool playerIsAttacker)
			{
				if ((Object)(object)Singleton<LifeManager>.Instance.Scales3D != (Object)null)
				{
					Vector3 scalesPos = (playerIsAttacker ? Singleton<LifeManager>.Instance.Scales3D.OpponentSide : Singleton<LifeManager>.Instance.Scales3D.PlayerSide);
					foreach (Transform transform in damageWeights)
					{
						Tween.Position(transform, scalesPos, 0.2f, 0f, Tween.EaseOut, (LoopType)0, (Action)null, (Action)null, true);
						Object.Destroy((Object)(object)((Component)transform).gameObject, 0.2f);
						yield return (object)new WaitForSeconds(0.02f);
					}
				}
				else
				{
					foreach (Transform transform2 in damageWeights)
					{
						Part1Scales.DissolveWeight(((Component)transform2).gameObject);
						yield return (object)new WaitForSeconds(0.02f);
					}
				}
				yield return (object)new WaitForSeconds(0.25f);
			}

			public IEnumerator SpecialVisualiseAttacking(CardSlot attackingSlot, CardSlot targetSlot, int damage)
			{
				if (!Object.op_Implicit((Object)(object)Singleton<CombatPhaseManager>.Instance))
				{
					yield break;
				}
				if (Singleton<CombatPhaseManager>.Instance is CombatPhaseManager3D)
				{
					List<Transform> newWeights = new List<Transform>();
					GameObject weightPrefab = CombatBridge.GetWeightPrefab();
					if ((Object)(object)weightPrefab == (Object)null)
					{
						yield break;
					}
					for (int i = 0; i < Mathf.Min(20, damage); i++)
					{
						GameObject gameObject = Object.Instantiate<GameObject>(weightPrefab);
						Vector3 vector = new Vector3(0f, 0f, attackingSlot.IsPlayerSlot ? 0.75f : (-0.75f));
						gameObject.transform.position = ((Component)targetSlot).transform.position + vector + new Vector3((float)i * 0.1f, 0f, (float)i * 0.1f);
						gameObject.transform.eulerAngles = Random.insideUnitSphere;
						newWeights.Add(gameObject.transform);
					}
					damageWeights.AddRange(newWeights);
					((Card)attackingSlot.Card).Anim.PlayAttackAnimation(true, targetSlot, (Action)delegate
					{
						//IL_006d: Unknown result type (might be due to invalid IL or missing references)
						//IL_0077: Unknown result type (might be due to invalid IL or missing references)
						if ((Object)(object)Singleton<TableVisualEffectsManager>.Instance != (Object)null)
						{
							Singleton<TableVisualEffectsManager>.Instance.ThumpTable(0.075f * (float)Mathf.Min(10, damage));
						}
						foreach (Transform item in newWeights)
						{
							if ((Object)(object)item != (Object)null)
							{
								((Component)item).gameObject.SetActive(true);
								((Component)item).GetComponent<Rigidbody>().AddForce(Vector3.up * 4f, (ForceMode)2);
							}
						}
					});
				}
				else
				{
					((Card)attackingSlot.Card).Anim.PlayAttackAnimation(true, targetSlot, (Action)delegate
					{
					});
				}
			}

			public IEnumerator SlotAttackSlot(CardSlot attackingSlot, CardSlot opposingSlot, float waitAfter = 0f, int overrideDMG = -1)
			{
				yield return Singleton<GlobalTriggerHandler>.Instance.TriggerCardsOnBoard((Trigger)6, false, new object[2] { opposingSlot, attackingSlot.Card });
				yield return (object)new WaitForSeconds(0.025f);
				if (!((Object)(object)attackingSlot.Card != (Object)null))
				{
					yield break;
				}
				if (((Card)attackingSlot.Card).Anim.DoingAttackAnimation)
				{
					yield return (object)new WaitUntil((Func<bool>)(() => !((Card)attackingSlot.Card).Anim.DoingAttackAnimation));
					yield return (object)new WaitForSeconds(0.25f);
				}
				if ((Object)(object)opposingSlot.Card != (Object)null && attackingSlot.Card.AttackIsBlocked(opposingSlot))
				{
					ProgressionData.SetAbilityLearned((Ability)21);
					yield return CombatBridge.ShowCardBlocked(attackingSlot.Card);
				}
				else if (attackingSlot.Card.CanAttackDirectly(opposingSlot))
				{
					DamageDealtThisPhase += ((overrideDMG > -1) ? overrideDMG : attackingSlot.Card.Attack);
					yield return SpecialVisualiseAttacking(attackingSlot, opposingSlot, (overrideDMG > -1) ? overrideDMG : attackingSlot.Card.Attack);
					if (attackingSlot.Card.TriggerHandler.RespondsToTrigger((Trigger)20, new object[1] { (overrideDMG > -1) ? overrideDMG : attackingSlot.Card.Attack }))
					{
						yield return attackingSlot.Card.TriggerHandler.OnTrigger((Trigger)20, new object[1] { (overrideDMG > -1) ? overrideDMG : attackingSlot.Card.Attack });
					}
				}
				else
				{
					float heightOffset = (((Object)(object)opposingSlot.Card == (Object)null) ? 0f : opposingSlot.Card.SlotHeightOffset);
					if (heightOffset > 0f)
					{
						Tween.Position(((Component)attackingSlot.Card).transform, ((Component)attackingSlot.Card).transform.position + Vector3.up * heightOffset, 0.05f, 0f, Tween.EaseInOut, (LoopType)0, (Action)null, (Action)null, true);
					}
					((Card)attackingSlot.Card).Anim.PlayAttackAnimation(attackingSlot.Card.IsFlyingAttackingReach(), opposingSlot, (Action)null);
					yield return (object)new WaitForSeconds(0.07f);
					((Card)attackingSlot.Card).Anim.SetAnimationPaused(true);
					PlayableCard attackingCard = attackingSlot.Card;
					yield return Singleton<GlobalTriggerHandler>.Instance.TriggerCardsOnBoard((Trigger)7, false, new object[1] { opposingSlot.Card });
					if ((Object)(object)attackingCard != (Object)null && (Object)(object)attackingCard.Slot != (Object)null)
					{
						attackingSlot = attackingCard.Slot;
						if (attackingSlot.Card.IsFlyingAttackingReach())
						{
							((Card)opposingSlot.Card).Anim.PlayJumpAnimation();
							yield return (object)new WaitForSeconds(0.3f);
							((Card)attackingSlot.Card).Anim.PlayAttackInAirAnimation();
						}
						((Card)attackingSlot.Card).Anim.SetAnimationPaused(false);
						yield return (object)new WaitForSeconds(0.05f);
						int overkillDamage = ((overrideDMG > -1) ? (overrideDMG - opposingSlot.Card.Health) : (attackingSlot.Card.Attack - opposingSlot.Card.Health));
						yield return opposingSlot.Card.TakeDamage((overrideDMG > -1) ? overrideDMG : attackingSlot.Card.Attack, attackingSlot.Card);
						yield return DealOverkillDamage(overkillDamage, attackingSlot, opposingSlot);
						if ((Object)(object)attackingSlot.Card != (Object)null && heightOffset > 0f)
						{
							yield return Singleton<BoardManager>.Instance.AssignCardToSlot(attackingSlot.Card, attackingSlot.Card.Slot, 0.1f, (Action)null, false);
						}
					}
				}
				yield return (object)new WaitForSeconds(waitAfter);
			}

			private IEnumerator SlotAttackSequence(CardSlot slot, List<CardSlot> overrideTargets = null, int overrideDMG = -1)
			{
				List<CardSlot> opposingSlots = slot.Card.GetOpposingSlots();
				if (overrideTargets != null)
				{
					opposingSlots = overrideTargets;
				}
				Singleton<ViewManager>.Instance.SwitchToView(Singleton<BoardManager>.Instance.CombatView, false, false);
				foreach (CardSlot opposingSlot in opposingSlots)
				{
					Singleton<ViewManager>.Instance.SwitchToView(Singleton<BoardManager>.Instance.CombatView, false, false);
					yield return SlotAttackSlot(slot, opposingSlot, (opposingSlots.Count > 1) ? 0.1f : 0f, overrideDMG);
				}
				CombatBridge.VisualizeClearSniperAbility();
			}

			protected virtual IEnumerator DealOverkillDamage(int damage, CardSlot attackingSlot, CardSlot opposingSlot)
			{
				if (!((Object)(object)attackingSlot.Card != (Object)null) || !attackingSlot.IsPlayerSlot || damage <= 0)
				{
					yield break;
				}
				PlayableCard queuedCard = Singleton<BoardManager>.Instance.GetCardQueuedForSlot(opposingSlot);
				if ((Object)(object)queuedCard != (Object)null)
				{
					yield return (object)new WaitForSeconds(0.1f);
					Singleton<ViewManager>.Instance.SwitchToView(Singleton<BoardManager>.Instance.QueueView, false, false);
					yield return (object)new WaitForSeconds(0.3f);
					if (queuedCard.HasAbility((Ability)21))
					{
						yield return CombatBridge.ShowCardBlocked(attackingSlot.Card);
						yield break;
					}
					yield return CombatBridge.PreOverkillDamage(queuedCard);
					yield return queuedCard.TakeDamage(damage, attackingSlot.Card);
					yield return CombatBridge.PostOverkillDamage(queuedCard);
				}
			}
		}

		public static IEnumerator DoSimpleFakeCombat(int damage, CardSlot attacker, CardSlot target)
		{
			bool impactFrameReached = false;
			((Card)attacker.Card).Anim.PlayAttackAnimation(false, target, (Action)delegate
			{
				impactFrameReached = true;
			});
			yield return (object)new WaitUntil((Func<bool>)(() => impactFrameReached));
			yield return target.Card.TakeDamage(damage, attacker.Card);
		}
	}
}
namespace NewCardsMod
{
	[BepInPlugin("NewCards", "ForestUnderTheStarrySkyMod", "2.0.0")]
	[BepInDependency(/*Could not decode attribute arguments.*/)]
	public class Plugin : BaseUnityPlugin
	{
		[HarmonyPatch(typeof(RunIntroSequencer))]
		public static class StarterDocilePatch
		{
			[HarmonyPostfix]
			[HarmonyPatch("TryModifyStarterCards")]
			public static void AddDocileToStarters()
			{
				//IL_0006: Unknown result type (might be due to invalid IL or missing references)
				//IL_0026: Unknown result type (might be due to invalid IL or missing references)
				//IL_002b: Unknown result type (might be due to invalid IL or missing references)
				//IL_002c: Unknown result type (might be due to invalid IL or missing references)
				//IL_002e: Invalid comparison between Unknown and I4
				//IL_0077: Unknown result type (might be due to invalid IL or missing references)
				//IL_0087: Unknown result type (might be due to invalid IL or missing references)
				//IL_0088: Unknown result type (might be due to invalid IL or missing references)
				//IL_008f: Expected O, but got Unknown
				if (!AscensionSaveData.Data.ChallengeIsActive(DocileStarterChallengeID))
				{
					return;
				}
				Ability enumValue = GuidManager.GetEnumValue<Ability>("nevernamed.inscryption.sigils", "Docile");
				if ((int)enumValue == 0)
				{
					Debug.LogError((object)"Count not find NevernamedSigils Docile!");
					return;
				}
				foreach (CardInfo card in ((CardCollectionInfo)RunState.Run.playerDeck).Cards)
				{
					if (!card.HasTrait((Trait)13) && !card.HasAbility(enumValue))
					{
						CardModificationInfo val = new CardModificationInfo(enumValue);
						RunState.Run.playerDeck.ModifyCard(card, val);
					}
				}
			}

			[HarmonyPostfix]
			[HarmonyPatch("RunIntroSequence")]
			public static IEnumerator ShowActivationAnnouncement(IEnumerator values)
			{
				if (AscensionSaveData.Data.ChallengeIsActive(DocileStarterChallengeID))
				{
					ChallengeActivationUI.TryShowActivation(DocileStarterChallengeID);
				}
				yield return values;
			}
		}

		[HarmonyPatch(typeof(RunIntroSequencer))]
		public static class StarterCowardPatch
		{
			[HarmonyPostfix]
			[HarmonyPatch("TryModifyStarterCards")]
			public static void AddCowardToStarters()
			{
				//IL_0006: Unknown result type (might be due to invalid IL or missing references)
				//IL_0026: Unknown result type (might be due to invalid IL or missing references)
				//IL_002b: Unknown result type (might be due to invalid IL or missing references)
				//IL_002c: Unknown result type (might be due to invalid IL or missing references)
				//IL_002e: Invalid comparison between Unknown and I4
				//IL_0077: Unknown result type (might be due to invalid IL or missing references)
				//IL_0087: Unknown result type (might be due to invalid IL or missing references)
				//IL_0088: Unknown result type (might be due to invalid IL or missing references)
				//IL_008f: Expected O, but got Unknown
				if (!AscensionSaveData.Data.ChallengeIsActive(CowardStarterChallengeID))
				{
					return;
				}
				Ability enumValue = GuidManager.GetEnumValue<Ability>("nevernamed.inscryption.sigils", "Coward");
				if ((int)enumValue == 0)
				{
					Debug.LogError((object)"Count not find NevernamedSigils Coward!");
					return;
				}
				foreach (CardInfo card in ((CardCollectionInfo)RunState.Run.playerDeck).Cards)
				{
					if (!card.HasTrait((Trait)13) && !card.HasAbility(enumValue))
					{
						CardModificationInfo val = new CardModificationInfo(enumValue);
						RunState.Run.playerDeck.ModifyCard(card, val);
					}
				}
			}

			[HarmonyPostfix]
			[HarmonyPatch("RunIntroSequence")]
			public static IEnumerator ShowActivationAnnouncement(IEnumerator values)
			{
				if (AscensionSaveData.Data.ChallengeIsActive(DocileStarterChallengeID))
				{
					ChallengeActivationUI.TryShowActivation(DocileStarterChallengeID);
				}
				yield return values;
			}
		}

		[HarmonyPatch(typeof(RunIntroSequencer))]
		public static class StarterEndangeredPatch
		{
			[HarmonyPostfix]
			[HarmonyPatch("TryModifyStarterCards")]
			public static void AddEndangeredToStarters()
			{
				//IL_0006: Unknown result type (might be due to invalid IL or missing references)
				//IL_0026: Unknown result type (might be due to invalid IL or missing references)
				//IL_002b: Unknown result type (might be due to invalid IL or missing references)
				//IL_002c: Unknown result type (might be due to invalid IL or missing references)
				//IL_002e: Invalid comparison between Unknown and I4
				//IL_0077: Unknown result type (might be due to invalid IL or missing references)
				//IL_0087: Unknown result type (might be due to invalid IL or missing references)
				//IL_0088: Unknown result type (might be due to invalid IL or missing references)
				//IL_008f: Expected O, but got Unknown
				if (!AscensionSaveData.Data.ChallengeIsActive(CowardStarterChallengeID))
				{
					return;
				}
				Ability enumValue = GuidManager.GetEnumValue<Ability>("nevernamed.inscryption.sigils", "Endangered");
				if ((int)enumValue == 0)
				{
					Debug.LogError((object)"Count not find NevernamedSigils Coward!");
					return;
				}
				foreach (CardInfo card in ((CardCollectionInfo)RunState.Run.playerDeck).Cards)
				{
					if (!card.HasTrait((Trait)13) && !card.HasAbility(enumValue))
					{
						CardModificationInfo val = new CardModificationInfo(enumValue);
						RunState.Run.playerDeck.ModifyCard(card, val);
					}
				}
			}

			[HarmonyPostfix]
			[HarmonyPatch("RunIntroSequence")]
			public static IEnumerator ShowActivationAnnouncement(IEnumerator values)
			{
				if (AscensionSaveData.Data.ChallengeIsActive(DocileStarterChallengeID))
				{
					ChallengeActivationUI.TryShowActivation(DocileStarterChallengeID);
				}
				yield return values;
			}
		}

		[HarmonyPatch(typeof(TurnManager), "set_GameEnded")]
		public static class NirvanaCleanupPatch
		{
			[HarmonyPostfix]
			public static void Postfix(bool value)
			{
				if (value)
				{
					CleanupAllCards();
				}
			}

			private static void CleanupAllCards()
			{
				if (RunState.Run != null && RunState.Run.playerDeck != null)
				{
					foreach (CardInfo card in ((CardCollectionInfo)RunState.Run.playerDeck).Cards)
					{
						card.Mods.RemoveAll((CardModificationInfo m) => m.singletonId == "NirvanaCostReduction");
					}
				}
				if (!((Object)(object)Singleton<PlayerHand>.Instance != (Object)null))
				{
					return;
				}
				foreach (PlayableCard item in Singleton<PlayerHand>.Instance.CardsInHand)
				{
					((Card)item).Info.Mods.RemoveAll((CardModificationInfo m) => m.singletonId == "NirvanaCostReduction");
					item.OnStatsChanged();
				}
			}
		}

		public static SpecialTriggeredAbility NirvanaID;

		public static AscensionChallenge DocileStarterChallengeID;

		public static AscensionChallenge CowardStarterChallengeID;

		public static AscensionChallenge EndangeredStarterChallengeID;

		public static AscensionChallenge NoGoldTeethChallengeID;

		public static AscensionChallenge TigerModeChallengeID;

		private void Awake()
		{
			//IL_002c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0032: Expected O, but got Unknown
			((BaseUnityPlugin)this).Logger.LogInfo((object)"Loaded Forest Under The Starry Sky Mod!");
			addChallengeDoclieDeck();
			addChallengeCowardDeck();
			addChallengeEndangeredDeck();
			Harmony val = new Harmony("NewCards");
			val.PatchAll();
			addExtremelyFastAttack();
			addFanaticism();
			addFortifiedArmor();
			addKillingDesire();
			addExtremitySprint();
			addMonetaryRewards();
			addImbalaneSuppression();
			addRoar();
			addMadCowDisease();
			addUndercurrentsSurge();
			addCornerSmash();
			addHydroHunter();
			AddNirvana();
			addChallengeTigerMode();
		}

		private void addExtremelyFastAttack()
		{
			//IL_006f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0074: Unknown result type (might be due to invalid IL or missing references)
			AbilityInfo val = AbilityExtensions.SetDefaultPart1Ability(AbilityExtensions.SetPixelAbilityIcon(AbilityManager.New("NewCards", "ExtremelyFastAttack", "When [creature] is played, will direct attack once.", typeof(ExtremelyFastAttack), "ExtremelyFastAttack.png"), TextureHelper.GetImageAsTexture("Act2_ExtremelyFastAttack.png", (FilterMode)0), (FilterMode?)(FilterMode)0));
			val.canStack = false;
			val.passive = false;
			val.activated = false;
			val.opponentUsable = true;
			val.powerLevel = 4;
			val.rulebookName = "Extremely Fast Attack";
			ExtremelyFastAttack.ability = val.ability;
		}

		private void addFanaticism()
		{
			//IL_006f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0074: Unknown result type (might be due to invalid IL or missing references)
			AbilityInfo val = AbilityExtensions.SetDefaultPart1Ability(AbilityExtensions.SetPixelAbilityIcon(AbilityManager.New("NewCards", "Fanaticism", "When [creature] is killed, it will attack once.", typeof(Fanaticism), "Fanaticism.png"), TextureHelper.GetImageAsTexture("Act2_Fanaticism.png", (FilterMode)0), (FilterMode?)(FilterMode)0));
			val.canStack = false;
			val.passive = false;
			val.activated = false;
			val.opponentUsable = true;
			val.powerLevel = 4;
			val.rulebookName = "Fanaticism";
			Fanaticism.ability = val.ability;
		}

		private void addFortifiedArmor()
		{
			//IL_006f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0074: Unknown result type (might be due to invalid IL or missing references)
			AbilityInfo val = AbilityExtensions.SetDefaultPart1Ability(AbilityExtensions.SetPixelAbilityIcon(AbilityManager.New("NewCards", "FortifiedArmor", " [creature]  will reduce the damage they receive by one point when they are injured.", typeof(FortifiedArmor), "FortifiedArmor.png"), TextureHelper.GetImageAsTexture("Act2_FortifiedArmor.png", (FilterMode)0), (FilterMode?)(FilterMode)0));
			val.canStack = false;
			val.passive = false;
			val.activated = false;
			val.opponentUsable = true;
			val.powerLevel = 3;
			val.rulebookName = "Fortified Armor";
			FortifiedArmor.ability = val.ability;
		}

		private void addKillingDesire()
		{
			//IL_006f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0074: Unknown result type (might be due to invalid IL or missing references)
			AbilityInfo val = AbilityExtensions.SetDefaultPart1Ability(AbilityExtensions.SetPixelAbilityIcon(AbilityManager.New("NewCards", "KillingDesire", "When [creature] is kill another card, the adjacent cards gain +1 health.", typeof(KillingDesire), "KillingDesire.png"), TextureHelper.GetImageAsTexture("Act2_KillingDesire.png", (FilterMode)0), (FilterMode?)(FilterMode)0));
			val.canStack = false;
			val.passive = false;
			val.activated = false;
			val.opponentUsable = true;
			val.powerLevel = 2;
			val.rulebookName = "KillingDesire";
			KillingDesire.ability = val.ability;
		}

		private void addMonetaryRewards()
		{
			//IL_006f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0074: Unknown result type (might be due to invalid IL or missing references)
			AbilityInfo val = AbilityExtensions.SetDefaultPart1Ability(AbilityExtensions.SetPixelAbilityIcon(AbilityManager.New("NewCards", "MonetaryRewards", "When [creature] killing other cards, it will add a weight to the opposing side's balance.", typeof(MonetaryRewards), "MonetaryRewards.png"), TextureHelper.GetImageAsTexture("Act2_MonetaryRewards.png", (FilterMode)0), (FilterMode?)(FilterMode)0));
			val.canStack = false;
			val.passive = false;
			val.activated = false;
			val.opponentUsable = true;
			val.powerLevel = 2;
			val.rulebookName = "MonetaryRewards";
			MonetaryRewards.ability = val.ability;
		}

		private void addImbalaneSuppression()
		{
			//IL_006f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0074: Unknown result type (might be due to invalid IL or missing references)
			AbilityInfo val = AbilityExtensions.SetDefaultPart1Ability(AbilityExtensions.SetPixelAbilityIcon(AbilityManager.New("NewCards", "ImbalaneSuppression", "When [creature] is present, after the opponent's turn ends, a weight will be added to the balance of the owner; and after the enemy's turn ends, a weight will be added to the balance of the opponent.", typeof(ImbalaneSuppression), "ImbalaneSuppression.png"), TextureHelper.GetImageAsTexture("Act2_ImbalaneSuppression.png", (FilterMode)0), (FilterMode?)(FilterMode)0));
			val.canStack = false;
			val.passive = false;
			val.activated = false;
			val.opponentUsable = false;
			val.powerLevel = 2;
			val.rulebookName = "ImbalaneSuppression";
			ImbalaneSuppression.ability = val.ability;
		}

		private void addExtremitySprint()
		{
			//IL_006f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0074: Unknown result type (might be due to invalid IL or missing references)
			AbilityInfo val = AbilityExtensions.SetDefaultPart1Ability(AbilityExtensions.SetPixelAbilityIcon(AbilityManager.New("NewCards", "ExtremitySprint", "At the end of the owner's turn, [creature] will move twice in the direction inscribed in the sigil.", typeof(ExtremitySprint), "ExtremitySprint.png"), TextureHelper.GetImageAsTexture("Act2_ExtremitySprint.png", (FilterMode)0), (FilterMode?)(FilterMode)0));
			val.canStack = false;
			val.passive = false;
			val.activated = false;
			val.opponentUsable = true;
			val.powerLevel = 1;
			val.rulebookName = "ExtremitySprint";
			ExtremitySprint.ability = val.ability;
		}

		private void addRoar()
		{
			//IL_006f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0074: Unknown result type (might be due to invalid IL or missing references)
			AbilityInfo val = AbilityExtensions.SetDefaultPart1Ability(AbilityExtensions.SetPixelAbilityIcon(AbilityManager.New("NewCards", "Roar", "When [creature] is played, it reduces the all creatures on the opponent's -1 attack.", typeof(Roar), "Roar.png"), TextureHelper.GetImageAsTexture("Act2_Roar.png", (FilterMode)0), (FilterMode?)(FilterMode)0));
			val.canStack = false;
			val.passive = false;
			val.activated = false;
			val.opponentUsable = false;
			val.powerLevel = 5;
			val.rulebookName = "Roar";
			Roar.ability = val.ability;
		}

		private void addMadCowDisease()
		{
			//IL_006f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0074: Unknown result type (might be due to invalid IL or missing references)
			AbilityInfo val = AbilityExtensions.SetDefaultPart1Ability(AbilityExtensions.SetPixelAbilityIcon(AbilityManager.New("NewCards", "MadCowDisease", "When [creature] is attacked,it will swap slot with attacker.", typeof(MadCowDisease), "MadCowDisease.png"), TextureHelper.GetImageAsTexture("Act2_MadCowDisease.png", (FilterMode)0), (FilterMode?)(FilterMode)0));
			val.canStack = false;
			val.passive = false;
			val.activated = false;
			val.opponentUsable = true;
			val.powerLevel = 0;
			val.rulebookName = "MadCowDisease";
			MadCowDisease.ability = val.ability;
		}

		private void addUndercurrentsSurge()
		{
			//IL_006f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0074: Unknown result type (might be due to invalid IL or missing references)
			AbilityInfo val = AbilityExtensions.SetDefaultPart1Ability(AbilityExtensions.SetPixelAbilityIcon(AbilityManager.New("NewCards", "UndercurrentsSurge", "When [creature] is played,it will give sigil 'Waterborne' to the opposing card.", typeof(UndercurrentsSurge), "UndercurrentsSurge.png"), TextureHelper.GetImageAsTexture("Act2_UndercurrentsSurge.png", (FilterMode)0), (FilterMode?)(FilterMode)0));
			val.canStack = false;
			val.passive = false;
			val.activated = false;
			val.opponentUsable = false;
			val.powerLevel = 1;
			val.rulebookName = "UndercurrentsSurge";
			UndercurrentsSurge.ability = val.ability;
		}

		private void addCornerSmash()
		{
			//IL_006f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0074: Unknown result type (might be due to invalid IL or missing references)
			AbilityInfo val = AbilityExtensions.SetDefaultPart1Ability(AbilityExtensions.SetPixelAbilityIcon(AbilityManager.New("NewCards", "CornerSmash", "When [creature] is moved, it will attack once.", typeof(CornerSmash), "CornerSmash.png"), TextureHelper.GetImageAsTexture("Act2_CornerSmash.png", (FilterMode)0), (FilterMode?)(FilterMode)0));
			val.canStack = false;
			val.passive = false;
			val.activated = false;
			val.opponentUsable = false;
			val.powerLevel = 3;
			val.rulebookName = "CornerSmash";
			CornerSmash.ability = val.ability;
		}

		private void addHydroHunter()
		{
			//IL_006f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0074: Unknown result type (might be due to invalid IL or missing references)
			AbilityInfo val = AbilityExtensions.SetDefaultPart1Ability(AbilityExtensions.SetPixelAbilityIcon(AbilityManager.New("NewCards", "HydroHunter", "When [creature] is played, choose an opposing card with Waterbrone to slay and [creature] gains a buff.", typeof(HydroHunter), "HydroHunter.png"), TextureHelper.GetImageAsTexture("Act2_HydroHunter.png", (FilterMode)0), (FilterMode?)(FilterMode)0));
			val.canStack = false;
			val.passive = false;
			val.activated = false;
			val.opponentUsable = false;
			val.powerLevel = 4;
			val.rulebookName = "HydroHunter";
			HydroHunter.ability = val.ability;
		}

		private void addBloodGuzzler()
		{
			//IL_006f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0074: Unknown result type (might be due to invalid IL or missing references)
			AbilityInfo val = AbilityExtensions.SetDefaultPart1Ability(AbilityExtensions.SetPixelAbilityIcon(AbilityManager.New("NewCards", "BloodGuzzler", "When [creature] deals damage, it gains 1 Health for each damage dealt.", typeof(BloodGuzzler), "BloodGuzzler.png"), TextureHelper.GetImageAsTexture("Act2_BloodGuzzler.png", (FilterMode)0), (FilterMode?)(FilterMode)0));
			val.canStack = false;
			val.passive = false;
			val.activated = false;
			val.opponentUsable = true;
			val.powerLevel = 4;
			val.rulebookName = "Blood Guzzler";
			BloodGuzzler.ability = val.ability;
		}

		private void addChallengeTigerMode()
		{
			//IL_0048: Unknown result type (might be due to invalid IL or missing references)
			//IL_004d: Unknown result type (might be due to invalid IL or missing references)
			FullChallenge val = ChallengeManager.Add("NewCards", "Tiger Bosses", "Bengal Tigers appear during the first 3 boss battles.", 75, TextureHelper.GetImageAsTexture("TigerMode.png", (FilterMode)0), TextureHelper.GetImageAsTexture("DefaultChallenge_activated.png", (FilterMode)0), 0, false);
			val.SetIncompatibleChallengeGetterStatic((AscensionChallenge[])(object)new AscensionChallenge[1] { (AscensionChallenge)13 });
			TigerModeChallengeID = val.Challenge.challengeType;
		}

		private void addChallengeDoclieDeck()
		{
			//IL_0036: Unknown result type (might be due to invalid IL or missing references)
			//IL_003b: Unknown result type (might be due to invalid IL or missing references)
			FullChallenge val = ChallengeManager.Add("NewCards", "Lose bestiality", "Give 'Doclie' sigil to all the cards in the starter deck.", 40, TextureHelper.GetImageAsTexture("LoseBestiality.png", (FilterMode)0), TextureHelper.GetImageAsTexture("LoseBestiality_Activated.png", (FilterMode)0), 0, false);
			DocileStarterChallengeID = val.Challenge.challengeType;
		}

		private void addChallengeCowardDeck()
		{
			//IL_0036: Unknown result type (might be due to invalid IL or missing references)
			//IL_003b: Unknown result type (might be due to invalid IL or missing references)
			FullChallenge val = ChallengeManager.Add("NewCards", "Avoidance", "Give 'Coward' sigil to all the cards in the starter deck.", 25, TextureHelper.GetImageAsTexture("Avoidance.png", (FilterMode)0), TextureHelper.GetImageAsTexture("DefaultChallenge_activated.png", (FilterMode)0), 0, false);
			CowardStarterChallengeID = val.Challenge.challengeType;
		}

		private void addChallengeEndangeredDeck()
		{
			//IL_0036: Unknown result type (might be due to invalid IL or missing references)
			//IL_003b: Unknown result type (might be due to invalid IL or missing references)
			FullChallenge val = ChallengeManager.Add("NewCards", "Unstable existence", "Give 'Endangered' sigil to all the cards in the starter deck.", 30, TextureHelper.GetImageAsTexture("Unstable existence.png", (FilterMode)0), TextureHelper.GetImageAsTexture("UnstableExistence_activated.png", (FilterMode)0), 0, false);
			EndangeredStarterChallengeID = val.Challenge.challengeType;
		}

		private void AddNirvana()
		{
			//IL_001a: Unknown result type (might be due to invalid IL or missing references)
			//IL_001f: Unknown result type (might be due to invalid IL or missing references)
			NirvanaID = SpecialTriggeredAbilityManager.Add("NewCards", "Nirvana", typeof(Nirvana)).Id;
		}
	}
	public static class PluginInfo
	{
		public const string PLUGIN_GUID = "ForestUnderTheStarrySkyMod";

		public const string PLUGIN_NAME = "ForestUnderTheStarrySkyMod";

		public const string PLUGIN_VERSION = "2.0.0";
	}
	[HarmonyPatch(typeof(Part1BossOpponent), "HasGrizzlyGlitchPhase")]
	public static class BengalTigerPhasePatch
	{
		[HarmonyPostfix]
		public static void Postfix(ref bool __result)
		{
			//IL_0014: Unknown result type (might be due to invalid IL or missing references)
			if (AscensionSaveData.Data != null && AscensionSaveData.Data.ChallengeIsActive(Plugin.TigerModeChallengeID))
			{
				__result = true;
			}
		}
	}
	[HarmonyPatch(typeof(Tutorial4BattleSequencer), "BearGlitchSequence")]
	public static class BengalTigerBearGlitchPatch
	{
		[HarmonyPrefix]
		public static bool Prefix(ref IEnumerator __result)
		{
			//IL_0016: Unknown result type (might be due to invalid IL or missing references)
			if (AscensionSaveData.Data == null)
			{
				return true;
			}
			if (!AscensionSaveData.Data.ChallengeIsActive(Plugin.TigerModeChallengeID))
			{
				return true;
			}
			__result = BengalTigerGlitchSequence();
			return false;
		}

		private static IEnumerator BengalTigerGlitchSequence()
		{
			CardInfo tigerInfo = CardLoader.GetCardByName("SC_BengalTiger");
			((ScreenEffect)Singleton<UIManager>.Instance.Effects.GetEffect<ScreenGlitchEffect>()).SetIntensity(1f, 1f);
			Singleton<CameraEffects>.Instance.Shake(0.1f, 1f);
			AudioController.Instance.PlaySound2D("broken_hum", (MixerGroup)0, 1f, 0f, (Pitch)null, (Repetition)null, (Randomization)null, (Distortion)null, false);
			foreach (CardSlot slot in Singleton<BoardManager>.Instance.OpponentSlotsCopy)
			{
				if (!Singleton<TurnManager>.Instance.Opponent.QueuedSlots.Contains(slot))
				{
					yield return Singleton<TurnManager>.Instance.Opponent.QueueCard(tigerInfo, slot, false, false, false);
				}
				if ((Object)(object)slot.Card == (Object)null)
				{
					yield return Singleton<BoardManager>.Instance.CreateCardInSlot(tigerInfo, slot, 0f, true);
				}
				if ((Object)(object)slot.Card != (Object)null)
				{
					GiveCardReachAndRedColor(slot.Card);
				}
			}
			foreach (PlayableCard card in Singleton<TurnManager>.Instance.Opponent.Queue)
			{
				if (((Object)((Card)card).Info).name == "SC_BengalTiger")
				{
					GiveCardReachAndRedColor(card);
				}
			}
			yield return (object)new WaitForSeconds(0.5f);
		}

		private static void GiveCardReachAndRedColor(PlayableCard card)
		{
			//IL_0010: Unknown result type (might be due to invalid IL or missing references)
			//IL_0016: Expected O, but got Unknown
			//IL_0039: Unknown result type (might be due to invalid IL or missing references)
			if (!((Object)(object)card == (Object)null))
			{
				CardModificationInfo val = new CardModificationInfo((Ability)23);
				val.fromTotem = true;
				if ((Object)(object)((Card)card).StatsLayer != (Object)null)
				{
					((Card)card).StatsLayer.SetEmissionColor(GameColors.Instance.glowRed);
				}
				card.AddTemporaryMod(val);
			}
		}
	}
	public class ExtremelyFastAttack : AbilityBehaviour
	{
		public static Ability ability;

		public override Ability Ability => ability;

		public override bool RespondsToResolveOnBoard()
		{
			return true;
		}

		public override IEnumerator OnResolveOnBoard()
		{
			yield return (object)new WaitForSeconds(0.1f);
			yield return ((AbilityBehaviour)this).PreSuccessfulTriggerSequence();
			yield return (object)new WaitForSeconds(0.1f);
			FakeCombatHandler.FakeCombatThing fakecombat = new FakeCombatHandler.FakeCombatThing();
			yield return fakecombat.FakeCombat(!((AbilityBehaviour)this).Card.OpponentCard, null, ((AbilityBehaviour)this).Card.Slot);
			yield return (object)new WaitForSeconds(0.1f);
		}
	}
	public class Fanaticism : AbilityBehaviour
	{
		public static Ability ability;

		public override Ability Ability => ability;

		public override bool RespondsToOtherCardDie(PlayableCard card, CardSlot deathSlot, bool fromCombat, PlayableCard killer)
		{
			return (Object)(object)((AbilityBehaviour)this).Card == (Object)(object)killer && (Object)(object)killer != (Object)null && (Object)(object)((AbilityBehaviour)this).Card != (Object)null;
		}

		public override IEnumerator OnOtherCardDie(PlayableCard card, CardSlot deathSlot, bool fromCombat, PlayableCard killer)
		{
			yield return (object)new WaitForSeconds(0.1f);
			yield return ((AbilityBehaviour)this).PreSuccessfulTriggerSequence();
			yield return (object)new WaitForSeconds(0.1f);
			FakeCombatHandler.FakeCombatThing fakecombat = new FakeCombatHandler.FakeCombatThing();
			yield return fakecombat.FakeCombat(!((AbilityBehaviour)this).Card.OpponentCard, null, ((AbilityBehaviour)this).Card.Slot);
			yield return (object)new WaitForSeconds(0.1f);
		}
	}
	public class FortifiedArmor : AbilityBehaviour, IModifyDamageTaken
	{
		public static Ability ability;

		public override Ability Ability => ability;

		public bool RespondsToModifyDamageTaken(PlayableCard target, int damage, PlayableCard attacker, int originalDamage)
		{
			return (Object)(object)target == (Object)(object)((AbilityBehaviour)this).Card && damage > 0;
		}

		public int OnModifyDamageTaken(PlayableCard target, int damage, PlayableCard attacker, int originalDamage)
		{
			((Card)((AbilityBehaviour)this).Card).Anim.StrongNegationEffect();
			return Mathf.Max(0, damage - 1);
		}

		public int TriggerPriority(PlayableCard target, int damage, PlayableCard attacker)
		{
			return 0;
		}
	}
	public class KillingDesire : AbilityBehaviour
	{
		public static Ability ability;

		public override Ability Ability => ability;

		public override bool RespondsToOtherCardDie(PlayableCard card, CardSlot deathSlot, bool fromCombat, PlayableCard killer)
		{
			return (Object)(object)killer == (Object)(object)((AbilityBehaviour)this).Card;
		}

		public override IEnumerator OnOtherCardDie(PlayableCard card, CardSlot deathSlot, bool fromCombat, PlayableCard killer)
		{
			yield return ((AbilityBehaviour)this).PreSuccessfulTriggerSequence();
			CardSlot toLeft = Singleton<BoardManager>.Instance.GetAdjacent(((AbilityBehaviour)this).Card.Slot, true);
			if ((Object)(object)toLeft != (Object)null && (Object)(object)toLeft.Card != (Object)null)
			{
				toLeft.Card.TemporaryMods.Add(new CardModificationInfo(0, 1));
			}
			CardSlot toRight = Singleton<BoardManager>.Instance.GetAdjacent(((AbilityBehaviour)this).Card.Slot, false);
			if ((Object)(object)toRight != (Object)null && (Object)(object)toRight.Card != (Object)null)
			{
				toRight.Card.TemporaryMods.Add(new CardModificationInfo(0, 1));
			}
			((AbilityBehaviour)this).Card.TemporaryMods.Add(new CardModificationInfo(0, 1));
			yield return ((AbilityBehaviour)this).LearnAbility(0.25f);
		}
	}
	public class BloodGuzzler : AbilityBehaviour
	{
		public static Ability ability;

		public override Ability Ability => ability;

		public override bool RespondsToDealDamage(int amount, PlayableCard target)
		{
			return CardExtensions.NotDead(((AbilityBehaviour)this).Card) && amount > 0;
		}

		public override IEnumerator OnDealDamage(int amount, PlayableCard target)
		{
			yield return ((AbilityBehaviour)this).PreSuccessfulTriggerSequence();
			((AbilityBehaviour)this).Card.AddTemporaryMod(new CardModificationInfo(0, amount));
			((AbilityBehaviour)this).Card.OnStatsChanged();
			((Card)((AbilityBehaviour)this).Card).Anim.StrongNegationEffect();
			((Card)((AbilityBehaviour)this).Card).RenderCard();
			yield return (object)new WaitForSeconds(0.25f);
			yield return ((AbilityBehaviour)this).LearnAbility(0.25f);
		}
	}
	public class ExtremitySprint : AbilityBehaviour
	{
		public static Ability ability;

		public override Ability Ability => ability;

		public override bool RespondsToTurnEnd(bool playerTurnEnd)
		{
			return ((AbilityBehaviour)this).Card.OpponentCard != playerTurnEnd;
		}

		public override bool RespondsToResolveOnBoard()
		{
			//IL_0055: Unknown result type (might be due to invalid IL or missing references)
			//IL_0074: Unknown result type (might be due to invalid IL or missing references)
			CardExtensions.SetExtendedProperty(((Card)((AbilityBehaviour)this).Card).Info, "ExtremitySprintDirection", (object)"1");
			if (((Card)((AbilityBehaviour)this).Card).RenderInfo != null && ((Card)((AbilityBehaviour)this).Card).RenderInfo.flippedAbilityIcons != null && ((Card)((AbilityBehaviour)this).Card).RenderInfo.flippedAbilityIcons.Contains(((AbilityBehaviour)this).Ability))
			{
				((Card)((AbilityBehaviour)this).Card).RenderInfo.flippedAbilityIcons.Remove(((AbilityBehaviour)this).Ability);
			}
			return false;
		}

		public override IEnumerator OnTurnEnd(bool playerTurnEnd)
		{
			yield return MoveCardOnce();
			yield return (object)new WaitForSeconds(0.3f);
			yield return MoveCardOnce();
		}

		private IEnumerator MoveCardOnce()
		{
			CardSlot currentSlot = ((AbilityBehaviour)this).Card.Slot;
			if ((Object)(object)currentSlot == (Object)null)
			{
				yield break;
			}
			string dirStr = CardExtensions.GetExtendedProperty(((Card)((AbilityBehaviour)this).Card).Info, "ExtremitySprintDirection");
			int direction = 1;
			if (!string.IsNullOrEmpty(dirStr) && int.TryParse(dirStr, out var parsed))
			{
				direction = parsed;
			}
			if (direction != 1 && direction != -1)
			{
				direction = 1;
			}
			CardSlot targetSlot = ((direction == 1) ? CardSlotExtensions.GetAdjacent(currentSlot, false) : CardSlotExtensions.GetAdjacent(currentSlot, true));
			if ((Object)(object)targetSlot == (Object)null || (Object)(object)targetSlot.Card != (Object)null)
			{
				direction *= -1;
				CardExtensions.SetExtendedProperty(((Card)((AbilityBehaviour)this).Card).Info, "ExtremitySprintDirection", (object)direction.ToString());
				if (((Card)((AbilityBehaviour)this).Card).RenderInfo != null)
				{
					if (((Card)((AbilityBehaviour)this).Card).RenderInfo.flippedAbilityIcons == null)
					{
						((Card)((AbilityBehaviour)this).Card).RenderInfo.flippedAbilityIcons = new List<Ability>();
					}
					if (direction == -1)
					{
						if (!((Card)((AbilityBehaviour)this).Card).RenderInfo.flippedAbilityIcons.Contains(((AbilityBehaviour)this).Ability))
						{
							((Card)((AbilityBehaviour)this).Card).RenderInfo.flippedAbilityIcons.Add(((AbilityBehaviour)this).Ability);
						}
					}
					else if (((Card)((AbilityBehaviour)this).Card).RenderInfo.flippedAbilityIcons.Contains(((AbilityBehaviour)this).Ability))
					{
						((Card)((AbilityBehaviour)this).Card).RenderInfo.flippedAbilityIcons.Remove(((AbilityBehaviour)this).Ability);
					}
				}
				targetSlot = ((direction == 1) ? CardSlotExtensions.GetAdjacent(currentSlot, false) : CardSlotExtensions.GetAdjacent(currentSlot, true));
			}
			if ((Object)(object)targetSlot != (Object)null && (Object)(object)targetSlot.Card == (Object)null)
			{
				yield return CardSlotExtensions.AssignCardToSlot(targetSlot, ((AbilityBehaviour)this).Card, 0.1f, (Action)null, true);
			}
		}
	}
	public class MonetaryRewards : AbilityBehaviour
	{
		public static Ability ability;

		public override Ability Ability => ability;

		public override bool RespondsToOtherCardDie(PlayableCard card, CardSlot deathSlot, bool fromCombat, PlayableCard killer)
		{
			return (Object)(object)killer == (Object)(object)((AbilityBehaviour)this).Card;
		}

		public override IEnumerator OnOtherCardDie(PlayableCard card, CardSlot deathSlot, bool fromCombat, PlayableCard killer)
		{
			yield return ((AbilityBehaviour)this).PreSuccessfulTriggerSequence();
			yield return Singleton<LifeManager>.Instance.ShowDamageSequence(1, 1, !((AbilityBehaviour)this).Card.Slot.IsPlayerSlot, 0.25f, (GameObject)null, 0f, true);
		}
	}
	public class ImbalaneSuppression : AbilityBehaviour
	{
		public static Ability ability;

		public override Ability Ability => ability;

		public override bool RespondsToTurnEnd(bool PlayerTurn)
		{
			return true;
		}

		public override IEnumerator OnTurnEnd(bool playerTurn)
		{
			yield return (object)new WaitForSeconds(0.15f);
			bool damageToPlayer = !playerTurn;
			yield return Singleton<LifeManager>.Instance.ShowDamageSequence(1, 1, damageToPlayer, 0.25f, (GameObject)null, 0f, true);
			yield return (object)new WaitForSeconds(0.1f);
		}
	}
	public class Roar : AbilityBehaviour, IPassiveAttackBuff
	{
		public static Ability ability;

		public override Ability Ability => ability;

		public int GetPassiveAttackBuff(PlayableCard target)
		{
			if (((AbilityBehaviour)this).Card.OnBoard && target.OpponentCard != ((AbilityBehaviour)this).Card.OpponentCard)
			{
				return -1;
			}
			return 0;
		}
	}
	public class MadCowDisease : AbilityBehaviour
	{
		public static Ability ability;

		public override Ability Ability => ability;

		public override bool RespondsToTakeDamage(PlayableCard attacker)
		{
			return (Object)(object)((AbilityBehaviour)this).Card != (Object)null && (Object)(object)attacker != (Object)null && CardExtensions.NotDead(((AbilityBehaviour)this).Card) && !attacker.HasAbility((Ability)105);
		}

		public override IEnumerator OnTakeDamage(PlayableCard source)
		{
			yield return ((AbilityBehaviour)this).PreSuccessfulTriggerSequence();
			CardSlot mySlot = ((AbilityBehaviour)this).Card.Slot;
			CardSlot attackerSlot = source.Slot;
			if (!((Object)(object)mySlot == (Object)null) && !((Object)(object)attackerSlot == (Object)null) && !source.Dead && source.OnBoard)
			{
				PlayableCard myCard = ((AbilityBehaviour)this).Card;
				if (!((Object)(object)myCard == (Object)null) && CardExtensions.NotDead(myCard))
				{
					yield return CardSlotExtensions.AssignCardToSlot(attackerSlot, myCard, 0.1f, (Action)null, true);
					yield return CardSlotExtensions.AssignCardToSlot(mySlot, source, 0.1f, (Action)null, true);
					((Card)myCard).Anim.StrongNegationEffect();
					((Card)source).Anim.StrongNegationEffect();
				}
			}
		}
	}
	public class UndercurrentsSurge : AbilityBehaviour
	{
		public static Ability ability;

		public override Ability Ability => ability;

		public override bool RespondsToResolveOnBoard()
		{
			return (Object)(object)((AbilityBehaviour)this).Card != (Object)null && ((AbilityBehaviour)this).Card.OnBoard && !((AbilityBehaviour)this).Card.Dead;
		}

		public override IEnumerator OnResolveOnBoard()
		{
			yield return ((AbilityBehaviour)this).PreSuccessfulTriggerSequence();
			CardSlot opposingSlot = ((AbilityBehaviour)this).Card.Slot.opposingSlot;
			if (!((Object)(object)opposingSlot == (Object)null))
			{
				PlayableCard target = opposingSlot.Card;
				if (!((Object)(object)target == (Object)null) && !target.Dead && !CardExtensions.HasTrait(target, (Trait)16))
				{
					target.AddTemporaryMod(new CardModificationInfo((Ability)13));
					target.OnStatsChanged();
					((Card)target).RenderCard();
					((Card)target).Anim.StrongNegationEffect();
				}
			}
		}
	}
	public class CornerSmash : AbilityBehaviour
	{
		private bool hasResolved;

		public static Ability ability;

		public override Ability Ability => ability;

		public override bool RespondsToResolveOnBoard()
		{
			return true;
		}

		public override IEnumerator OnResolveOnBoard()
		{
			hasResolved = true;
			yield break;
		}

		public override bool RespondsToOtherCardAssignedToSlot(PlayableCard otherCard)
		{
			if (!hasResolved || (Object)(object)otherCard != (Object)(object)((AbilityBehaviour)this).Card)
			{
				return false;
			}
			if ((Object)(object)((AbilityBehaviour)this).Card == (Object)null || ((AbilityBehaviour)this).Card.Dead || (Object)(object)((AbilityBehaviour)this).Card.Slot == (Object)null)
			{
				return false;
			}
			return true;
		}

		public override IEnumerator OnOtherCardAssignedToSlot(PlayableCard otherCard)
		{
			yield return ((AbilityBehaviour)this).PreSuccessfulTriggerSequence();
			FakeCombatHandler.FakeCombatThing fakeCombat = new FakeCombatHandler.FakeCombatThing();
			yield return fakeCombat.FakeCombat(!((AbilityBehaviour)this).Card.OpponentCard, null, ((AbilityBehaviour)this).Card.Slot);
		}
	}
	public class HydroHunter : AbilityBehaviour
	{
		public static Ability ability;

		public override Ability Ability => ability;

		public override bool RespondsToResolveOnBoard()
		{
			return Singleton<BoardManager>.Instance.OpponentSlotsCopy.Any((CardSlot slot) => ((Object)(object)slot.Card != (Object)null && ((Card)slot.Card).FaceDown) || ((Object)(object)slot.Card != (Object)null && slot.Card.HasAbility((Ability)13)));
		}

		public override IEnumerator OnResolveOnBoard()
		{
			List<CardSlot> allSlots = Singleton<BoardManager>.Instance.OpponentSlotsCopy;
			List<CardSlot> validSlots = allSlots.Where((CardSlot s) => (Object)(object)s.Card != (Object)null && (s.Card.HasAbility((Ability)13) || ((Card)s.Card).FaceDown)).ToList();
			if (validSlots.Count == 0)
			{
				yield break;
			}
			yield return ((AbilityBehaviour)this).PreSuccessfulTriggerSequence();
			Singleton<ViewManager>.Instance.SwitchToView((View)4, false, true);
			yield return (object)new WaitForSeconds(0.25f);
			CardSlot targetSlot = null;
			yield return Singleton<BoardManager>.Instance.ChooseTarget(allSlots, validSlots, (Action<CardSlot>)delegate(CardSlot slot)
			{
				targetSlot = slot;
			}, (Action<CardSlot>)null, (Action<CardSlot>)null, (Func<bool>)(() => false), (CursorType)16);
			Singleton<ViewManager>.Instance.Controller.LockState = (ViewLockState)0;
			if (!((Object)(object)targetSlot != (Object)null) || !((Object)(object)targetSlot.Card != (Object)null))
			{
				yield break;
			}
			_ = targetSlot.Card;
			int attackBoost = GetDefaultIntProperty(((Card)((AbilityBehaviour)this).Card).Info, "HydroHunter_AttackBoost", 1);
			string bonusSigil = CardExtensions.GetExtendedProperty(((Card)((AbilityBehaviour)this).Card).Info, "HydroHunter_BonusSigil") ?? "";
			CardModificationInfo mod = new CardModificationInfo(attackBoost, 0);
			if (!string.IsNullOrEmpty(bonusSigil))
			{
				FullAbility foundAbilityInfo = ((IEnumerable<FullAbility>)AbilityManager.AllAbilities).FirstOrDefault((Func<FullAbility, bool>)((FullAbility a) => ((object)Unsafe.As<Ability, Ability>(ref a.Id)/*cast due to .constrained prefix*/).ToString().Equals(bonusSigil, StringComparison.OrdinalIgnoreCase) || a.Info.rulebookName.Equals(bonusSigil, StringComparison.OrdinalIgnoreCase) || ((object)Unsafe.As<Ability, Ability>(ref a.Id)/*cast due to .constrained prefix*/).ToString().EndsWith("." + bonusSigil, StringComparison.OrdinalIgnoreCase)));
				if (foundAbilityInfo != null)
				{
					mod.abilities.Add(foundAbilityInfo.Id);
				}
				else
				{
					Debug.LogError((object)("[FUTSS] Could not find sigil: " + bonusSigil));
				}
			}
			((AbilityBehaviour)this).Card.AddTemporaryMod(mod);
			((Card)targetSlot.Card).SetFaceDown(false, false);
			targetSlot.Card.UpdateFaceUpOnBoardEffects();
			yield return (object)new WaitForSeconds(0.2f);
			yield return targetSlot.Card.Die(false, ((AbilityBehaviour)this).Card, true);
			yield return (object)new WaitForSeconds(0.5f);
		}

		private static int GetDefaultIntProperty(CardInfo card, string propName, int defaultValue)
		{
			string extendedProperty = CardExtensions.GetExtendedProperty(card, propName);
			if (string.IsNullOrEmpty(extendedProperty) || !int.TryParse(extendedProperty, out var result))
			{
				return defaultValue;
			}
			return result;
		}
	}
	public class Nirvana : SpecialCardBehaviour
	{
		private const string MOD_SINGLETON_ID = "NirvanaCostReduction";

		public override bool RespondsToDie(bool wasSacrifice, PlayableCard killer)
		{
			//IL_0027: Unknown result type (might be due to invalid IL or missing references)
			//IL_002d: Invalid comparison between Unknown and I4
			if ((Object)(object)((SpecialCardBehaviour)this).PlayableCard == (Object)null)
			{
				return false;
			}
			return (Object)(object)Singleton<GameFlowManager>.Instance != (Object)null && (int)Singleton<GameFlowManager>.Instance.CurrentGameState == 0;
		}

		public override IEnumerator OnDie(bool wasSacrifice, PlayableCard killer)
		{
			CardInfo info = ((Card)((SpecialCardBehaviour)this).PlayableCard).Info;
			if (!((Object)(object)info == (Object)null) && info.BloodCost > 0)
			{
				CardModificationInfo mod = new CardModificationInfo();
				mod.singletonId = "NirvanaCostReduction";
				mod.bloodCostAdjustment = -1;
				info.Mods.Add(mod);
			}
			yield break;
		}
	}
}

FUTSS.StatIcon.dll

Decompiled 2 days ago
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Runtime.Versioning;
using BepInEx;
using DiskCardGame;
using HarmonyLib;
using InscryptionAPI.Card;
using InscryptionAPI.Helpers;
using UnityEngine;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
[assembly: AssemblyTitle("FUTSS.StatIcon")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("FUTSS.StatIcon")]
[assembly: AssemblyCopyright("Copyright ©  2026")]
[assembly: AssemblyTrademark("")]
[assembly: ComVisible(false)]
[assembly: Guid("ffb4df54-8822-434b-a101-2d8eff492872")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: TargetFramework(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")]
[assembly: AssemblyVersion("1.0.0.0")]
namespace FUTSS.StatIcon;

[BepInPlugin("starclouds.futss", "SCStatIcon", "1.0.0")]
public class Plugin : BaseUnityPlugin
{
	[HarmonyPatch(typeof(StatIconInfo), "IconAppliesToAttack")]
	public class SafeIconAppliesToAttack
	{
		private static bool Prefix(SpecialStatIcon icon, ref bool __result)
		{
			//IL_0001: Unknown result type (might be due to invalid IL or missing references)
			//IL_0008: Unknown result type (might be due to invalid IL or missing references)
			StatIconInfo iconInfo = StatIconInfo.GetIconInfo(icon);
			if ((int)icon == 0 || (Object)(object)iconInfo == (Object)null)
			{
				__result = false;
				return false;
			}
			return true;
		}
	}

	[HarmonyPatch(typeof(StatIconInfo), "IconAppliesToHealth")]
	public class SafeIconAppliesToHealth
	{
		private static bool Prefix(SpecialStatIcon icon, ref bool __result)
		{
			//IL_0001: Unknown result type (might be due to invalid IL or missing references)
			//IL_0008: Unknown result type (might be due to invalid IL or missing references)
			StatIconInfo iconInfo = StatIconInfo.GetIconInfo(icon);
			if ((int)icon == 0 || (Object)(object)iconInfo == (Object)null)
			{
				__result = false;
				return false;
			}
			return true;
		}
	}

	private void Awake()
	{
		//IL_0042: Unknown result type (might be due to invalid IL or missing references)
		//IL_0048: Expected O, but got Unknown
		((BaseUnityPlugin)this).Logger.LogInfo((object)"Loaded SCStatIcon!");
		DeathHalfStat.Init();
		CardManager.ModifyCardList += delegate(List<CardInfo> cards)
		{
			//IL_002e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0034: Invalid comparison between Unknown and I4
			//IL_003c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0058: Unknown result type (might be due to invalid IL or missing references)
			foreach (CardInfo card in cards)
			{
				if (((Object)card).name.StartsWith("SC_") && (int)card.SpecialStatIcon > 0)
				{
					StatIconInfo iconInfo = StatIconInfo.GetIconInfo(card.SpecialStatIcon);
					if ((Object)(object)iconInfo == (Object)null)
					{
						CardExtensions.SetStatIcon(card, DeathHalfStat.iconType);
					}
				}
			}
			return cards;
		};
		Harmony val = new Harmony("starclouds.futss");
		val.PatchAll();
		((BaseUnityPlugin)this).Logger.LogInfo((object)"FUTSS_StatIcon Loaded");
	}
}
public class DeathHalfStat : VariableStatBehaviour
{
	private static bool initialized;

	public static SpecialStatIcon iconType;

	protected override SpecialStatIcon IconType => iconType;

	public static void Init()
	{
		//IL_009c: Unknown result type (might be due to invalid IL or missing references)
		//IL_00a1: Unknown result type (might be due to invalid IL or missing references)
		//IL_00a6: Unknown result type (might be due to invalid IL or missing references)
		if (!initialized)
		{
			initialized = true;
			StatIconInfo val = ScriptableObject.CreateInstance<StatIconInfo>();
			val.rulebookName = "Power of Death";
			val.rulebookDescription = "The value represented is equal to half the number of creatures that have perished this battle.";
			Texture2D imageAsTexture = TextureHelper.GetImageAsTexture("DeathAttack.png", (FilterMode)0);
			val.iconGraphic = (Texture)(object)imageAsTexture;
			Texture2D imageAsTexture2 = TextureHelper.GetImageAsTexture("Act2_DeathAttack.png", (FilterMode)0);
			AbilityExtensions.SetPixelIcon(val, imageAsTexture2, (FilterMode?)null);
			val.metaCategories = new List<AbilityMetaCategory> { (AbilityMetaCategory)0 };
			val.appliesToAttack = true;
			val.appliesToHealth = false;
			FullStatIcon val2 = StatIconManager.Add("starclouds.futss", val, typeof(DeathHalfStat));
			iconType = val2.Id;
			StatIconInfo iconInfo = StatIconInfo.GetIconInfo(iconType);
			if (!((Object)(object)iconInfo != (Object)null))
			{
			}
		}
	}

	protected override int[] GetStatValues()
	{
		int num = DeathCounter.NonSacrificeDeaths / 2;
		return new int[2] { num, 0 };
	}
}
public static class DeathCounter
{
	public static int NonSacrificeDeaths { get; private set; }

	public static void Reset()
	{
		NonSacrificeDeaths = 0;
	}

	public static void Increment()
	{
		NonSacrificeDeaths++;
	}
}
[HarmonyPatch(typeof(PlayableCard), "Die")]
public static class DeathPatch
{
	[HarmonyPrefix]
	public static void Prefix(PlayableCard __instance, bool wasSacrifice, PlayableCard killer)
	{
		if (!wasSacrifice && (Object)(object)__instance != (Object)null && !__instance.Dead)
		{
			DeathCounter.Increment();
		}
	}
}
[HarmonyPatch(typeof(TurnManager), "StartGame", new Type[] { typeof(EncounterData) })]
public static class CombatStartPatch
{
	[HarmonyPrefix]
	public static void Prefix()
	{
		DeathCounter.Reset();
	}
}

TFYTSS.dll

Decompiled 2 days ago
using System.Diagnostics;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Runtime.Versioning;
using BepInEx;
using HarmonyLib;
using InscryptionAPI.Localizing;
using UnityEngine;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
[assembly: AssemblyInformationalVersion("1.0.0")]
[assembly: AssemblyTitle("TFYTSS")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("TFYTSS")]
[assembly: AssemblyCopyright("Copyright ©  2025")]
[assembly: AssemblyTrademark("")]
[assembly: ComVisible(false)]
[assembly: Guid("576aa911-76f7-4d4b-9e73-cd38ee3a4138")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: TargetFramework(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")]
[assembly: AssemblyVersion("1.0.0.0")]
namespace TranslateLanguageToChinese;

public class ForestUnderTheStarrySky
{
	public static void RegisterTranslations()
	{
		Debug.Log((object)"Registering Tanslations for Forest_Under_The_Starry_Sky Mod");
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Super Squirrel", "超级松鼠", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "It contains [count] new cards.", "里面包含了 [count] 张新卡牌。", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "African Buffalo", "非洲大水牛", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Anguidae", "蛇蜥", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "AunHai", "安凝", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "BoneSlinger", "投骨索", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Bone Slinger", "掷骨者", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Archer Fish", "射水鱼", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Armadillo", "犰狳", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Bed Bug", "臭蝽", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Beetle", "甲虫", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Black-Footed Cat", "黑足猫", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Blue Heron", "蓝鹫", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Bomb", "炸弹", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "TNT", "TNT", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Brown Bear", "棕熊", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Cheetah", "猎豹", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Desert Social Spider", "沙漠群居蛛", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Legion Spider", "军团蜘蛛", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Dragon", "龙", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Eastern Gorilla", "东部大猩猩", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Fisher Cat", "渔猫", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Fox", "狐狸", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Giant Centiped", "巨人蜈蚣", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Grizzly Cub", "灰熊幼崽", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Haney Badger", "蜜獾", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Humpback", "座头鲸", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Hunter", "猎人", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Skeleton King", "骷髅王", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Koi", "锦鲤", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Lion", "雄狮", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Lion Cub", "小幼狮", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Lioness", "雌狮", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Mantis Shrimp", "螳螂虾", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Minter", "矿工", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Venomous Cobra", "射毒眼镜蛇", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Owl", "鸮", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "MessyHair Anon P", "格衫黑白灰", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Pig", "猪", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Pirate Crab", "海盗蟹", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Poisonous Spider", "毒蜘蛛", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Qi Yao", "七幺", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Rattler Egg", "响尾蛇蛋", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Rhinoceros", "犀牛", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Ring Tailed-Lizard", "环尾蜥", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Sail Fish", "旗鱼", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Scorpion", "蝎子", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Serval", "薮猫", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Soul Devouring Wraith", "噬魂亡灵", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Spotted Hyena", "斑鬣狗", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Bengal Tiger", "孟加拉虎", (Language)10);
		LocalizationManager.Translate("St5arClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Tiger Shark", "虎鲨", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Vampire", "吸血鬼", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Velociraptor", "驰龙", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Wild Boar", "野猪", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Wolf King", "狼王", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Tyrannosaurus Rex", "暴龙", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Ancient Tyrannosaurus Rex", "远古暴龙", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "The savannah's belligerent buffalo, a powerful defender.", "草原蛮横的水牛,强大的捍卫者。", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "The survivalist Anguid lizard sheds its tail when threatened, releasing foul odor to repel predators.", "求生的蛇蜥,遇敌时会断尾逃生,并释放臭味驱赶天敌。", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Nimble and agile, the archerfish lurks beneath the surface, striking its prey in a single shot.", "敏捷灵活的射水鱼潜藏于水面直接,水流射出,一击制敌。", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "The wilderness's 'armored dwarf ', curling into a defensive ball.", "荒野的“坚盾矮人”,蜷缩时攻守兼备。", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Foul stink bug, beware its encounter; a simple yet practical defense.", "恶臭的蝽虫,小心遭遇,简单又实用的防御。", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "A phantom-like predator of the night, haunting the darkness.", "夜魇的掠食者,鬼影一般游荡。", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Streaking across blue skies and watery marshes, using ambush camouflage for a single decisive strike.", "飞驰于蓝天于水沼,用潜伏伪装术来一击制敌。", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "This is no beast, but the power of gunpowder demands respect!", "这称不上是野兽,但火药的威力不可小觑!", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "A massive form moves among the pines, paws wielding immense power.", "巨大身形穿梭杉树之中,巨掌蕴含极强的力量。", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "The cheetah, emperor of speed, its ferocious sprints and attacks hold more strategy than the mantis shrimp.", "猎豹乃奔跑之皇,强烈的攻击和奔跑性,远比螳螂虾更有战略。", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Spiders advance as one, eroding lonely lives amidst the windblown sands.", "群蛛相辅而上,侵蚀风沙中的孤怜生命。", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Might surpassing a herd of bulls, yet unmatched, the eastern gorilla defends its jungle; outsiders forbidden.", "蛮力可较群牛,而不及其也,东部大猩猩捍卫着丛林,外来者禁止踏足。", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "The riverbank hunter, poised for fleeting fish.", "河岸的猎手,静候鱼影游过。", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Serpent-scaled, fish-backed, antlered and eagle-clawed, the dragon's eyes pierce clouds as it coils across the world.", "蛇身鱼鳞,鹿角鹰爪,枭眸刺破云层,神龙盘踞世间。", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Hunting treacherous seas, the tiger shark's shadow looms over coral reefs.", "寻猎危机四伏的海洋,虎鲨的阴影笼罩群礁之间。", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "The cunning fox, weaving through snow-laden woods and forests.", "狡黠的狐狸,在雪地与林间穿梭。", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "The giant centipede, with a hundred writhing legs, crawls through caves and jungles, punishing intruders with venomous fangs.", "巨人蜈蚣有着百条扭曲的足,爬行于洞穴和丛林之中,用毒牙来惩罚入侵者。", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Small yet fierce, the honey badger bares its fangs at the mighty.", "蜜獾小巧而猛烈,他敢于向强大者崭露獠牙。", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "The name of firepower; the cold gun feels nothing. Listen, load, fire, and claim.", "热武器之名,冰冷的枪不带感情,只听,上膛,发射,和缴获。", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Bones piled high, jagged skeletons paving the way for blades; the Skeleton King, lord of the dead realm.", "尸骨堆积成山,嶙峋骸骨为刀锋开路,骷髅王乃死界之主。", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "King of the savannah, lord of the pride; claws that rend all asunder.", "稀树草原之王,狮群之主,利爪会撕裂所有。", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Underestimate not the cub, for it has learned the hunt and will challenge intruders.", "不要小瞧那幼狮,它早已习得狩猎,将会阻挡入侵者。", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "The pride's pillar, defender of cubs, food, and territory.", "狮群的支柱,捍卫着幼崽、食物、和领域。", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "A fragile cage in the shifting sands—soon a ruthless hunter will shatter its shell.", "风沙中的脆弱牢笼,将有一只凶残的猎手破壳而出。", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "The belligerent mantis shrimp, its strike faster than the cheetah, reigns as an aquatic executioner.", "好战的螳螂虾,拳比猎豹更快,水中的猎杀者。", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Gold Rush madman, obsessed seeker; his eyes see only gold.", "淘金热疯魔,偏执的寻觅者,他的眼里只有金子。", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Give you hug,Code no bug!", "一帆风顺,前程似锦!", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Head raised, fangs bared, venom sacs compress and spray—a single strike seals the prey.", "昂首,展露尖牙,毒囊挤压喷射,一击制敌。", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Under the moonlit night, lurking in the air, attacking in utter silence.", "月明之夜,潜伏于空中,悄无声息地袭击。", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "The slumbering titan of the mire, using sheer bulk to secure its sustenance.", "泥潭的酣睡汉,可以作为吃的东西", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "The pirate's cutlass swings, plundering with domineering arrogance, seizing the prize.", "海盗的军刀挥舞,横行霸道的掠夺,获取奖赏。", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Deep with the sea,Each breath sinks, a wave's call.", "深海中的庞然巨物,每一次沉浮换气,都是波涛的呼唤。", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "The lethal venomous spider, its sharp fangs and deadly toxin strike fear.", "致命的毒蜘蛛,锋利的尖牙和剧毒令人闻风丧胆。", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Thick-skinned rhino, armored and imposing; enemy fangs and claws glance off like feathers.", "皮糙肉厚的犀牛,重甲震慑,敌人的尖牙利齿如同羽毛划过般。", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "The scale-armored lizard ensures you bear scars long before its demise.", "刺甲满身的蜥蜴,在你击杀他之前,你也满身伤疤。", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Before you can even glimpse its dorsal fin, it vanishes into the blue.", "甚至来不及看清他的背鳍,就已经逃之夭夭。", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "The pitiful scavenger, hoping someone will lend aid.", "可怜的拾荒者,期待有人能帮助他。", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "The ferocious scorpion hunts with deadly precision, its stinger poised to kill.", "凶猛的蝎子,用致命的尾针精准狩猎。", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "The audacious serval employs lightning agility in its tactics; the overconfident face fierce reprisal.", "骄狂的薮猫,用灵敏贯彻战术,轻敌的人会遭受强烈反击。", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "A curse wrought of souls, immense yet fragile.", "魂魄的诅咒,巨大但脆弱。", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "The massive spotted hyena, tearing and savagely plundering its prize.", "身型巨大的斑鬣狗, 他撕咬,猛烈地掠夺。", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Be wary of every blade of grass and tree. Beware the Bengal tiger's ambush; its mighty paw strikes with deadly force.", "警惕身边的一草一木,小心猛虎的袭击,猛力一掌裹挟血色。", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Lurker of the night, predator supreme; the bat's fangs rend its prey.", "黑夜的潜伏者,更是掠食者,蝙蝠的尖牙撕裂着猎物。", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Ancient and swift, its cruel fangs enacting piratical slaughter.", "远古而迅猛,酷虐的利齿尖牙会进行海盗般的猎杀。", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Treading deep within the jungle, charging headlong, the beast's fury rivals tiger or wolf.", "踏步于丛林深处,激发的怒火不差虎狼。", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "As dawn fades, distant howls echo—the Wolf King's hunt begins.", "日曦落山,远方的阵阵狼吼,那是狼王狩猎的前兆。", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Pay 1 bone,choose a slot to damage.", "支付1根骨头,选择一个槽位造成1点伤害。", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "AllStrike", "全向打击", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, " [creature] will strike all opposing slot.", " [creature] 将会攻击敌方场上所有槽位。", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "CornerSmash", "拐角猛击", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "When [creature] is moved, it will attack once.", "当 [creature] 移动时, 将攻击一次。", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "ImbalaneSuppression", "失衡压制", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "When [creature] is present, after the opponent's turn ends, a weight will be added to the balance of the owner; and after the enemy's turn ends, a weight will be added to the balance of the opponent.", " [creature] 在场时,对手的回合结束后将在我方的天平上增加一个砝码,我方的回合结束后将在对手的天平上增加一个砝码。", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "TripleStrike", "三重攻击", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, " [creature] will strike the opposing space two extra time when attacking.", " [creature] 会在攻击时额外攻击对面位置两次。", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "MonetaryRewards", "金钱奖赏", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Monetary Rewards", "金钱奖赏", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "When [creature] killing other cards, it will add a weight to the opposing side's balance.", "当 [creature] 击杀卡牌时,将在对方的天平上增加一个砝码。", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "ShortStature", "矮小", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "At the end of the owner's turn, [creature] can choose to move to a position on the owner's field.", "拥有者回合结束时, [creature] 可选择移动到己方场上一个位置,亦可以止步不前。", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "GoldProspector", "淘金热", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "When [creature] killed other cards, a gold mine will be added to the owner's hand.", "当 [creature] 击杀卡牌时,将在持牌人手中加入一张金矿。", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "SkeletonSummoner", "骷髅召唤者", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "When [creature] is played, two Skeleton Soldier is created on each empty adjacent space. Skeleton Soldier have 1 Power , Health and Sniper.", "当 [creature] 被打出时,将在其左右两侧召唤骷髅士兵。骷髅士兵定义为:1攻击力,1生命值以及 狙击手 印记。", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "LeftStrike", "弹道偏左", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, " [creature] will strike each opposing space to the left of the spaces across it.", " [creature] 在攻击时会攻击左前方位置。", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "RightStrike", "弹道偏右", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, " [creature] will strike each opposing space to the right of the spaces across it.", " [creature] 在攻击时会攻击右前方位置。", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "ExtremitySprint", "极限冲刺", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "At the end of the owner's turn, [creature] will move twice in the direction inscribed in the sigil.", "回合结束时, [creature] 将朝印记方向移动两次。", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Roar", "咆哮", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "When [creature] is played, it reduces the all creatures on the opponent's -1 attack.", "当 [creature] 被打出时,将使对方场上所有造物的攻击力-1。", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "QuickCounterAttack", "敏捷反击", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "When [creature] is attacked, it attacks its own card.", "当 [creature] 被攻击时,将攻击攻击自身的卡牌。", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "FortifiedArmor", "厚重皮甲", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, " [creature]  will reduce the damage they receive by one point when they are injured.", " [creature] 大部分情况下受到的伤害-1。", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "KillingDesire", "鲜血欲望", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "When [creature] is kill another card, the adjacent cards gain +1 health.", "当 [creature] 击杀其它卡牌时,其与相邻的卡牌生命值将+1。", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "When [creature] deals damage, it gains 1 Health for each attack dealt.", "当 [creature] 造成伤害时,将获得与攻击力相等的生命值。", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "FrenziedRoarPower", "狂哮之力", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "At the beginning of the owner's turn, if [creature] with this symbol is present on the field, the owner can choose one card +1 attack.", "回合开始时,若 [creature] 在场,则可选择己方场上一张卡牌使其攻击力+1。", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Fanaticism", "狂热", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "When [creature] is killed, it will attack once.", "当 [creature] 击杀其它卡牌后,将再攻击一次。", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "It'sWitchSeasonAgain", "又到了女巫季节了", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "When [creature] is played, will direct attack once.", "当 [creature] 被打出时,将直接攻击一次。", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Extremely Fast Attack", "极速快攻", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "When [creature] is played,choose a opponent's card transform into Pumpkin or place a Pumpkin.", "当 [creature] 被打出时,选择对手一张卡牌转化为南瓜 或 放置一张南瓜。", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Rice", "白饭", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Pumpkin", "南瓜", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Preemptive Strike", "先发制人", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Crocodile", "鳄鱼", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "The crocodile’s traces appear in festering swamps;within rotting logs and murky mud, lurking peril.", "鳄鱼的身迹出没于腐烂的水沼,腐木和泥污中暗藏杀机。", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Vulture", "秃鹫", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "The vulture's fierce gaze scans the wasteland—where skeletal remains lie exposed, it descends as the first predator.", "秃鹫的怒目注视着荒野,若骨干遗留在地面,它将是首席掠食者。", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "When [creature] deals damage, it gains 1 Health for each damage dealt..", "当 [creature] 造成伤害时,将获得等同于造成的伤害的生命值。", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Peaceful Carpenter Ant", "平和弓背蚁", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Silence", "沉默", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Klipspringer", "山羚", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "The mountain antelope bounded through the craggy mountains, moving with effortless ease as if walking on level ground.", "山羚在嶙峋的山脉间蹬越,如履平地般行走自如。", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Wait,what is this?", "等等,这是什么?", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Nuclear Bomb", "核弹", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Ghost Projector", "幽灵投影仪", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Biscuit Crumbs", "饼干碎片", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Skeleton Soldier", "骷髅士兵", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Tardigrade", "水熊虫", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "So resilient, so small, the water bear. You can only pray there's yet some use for its soul.", "顽强弱小的水熊虫,你只能指望它的灵魂尚有用处。", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "HoneyAnt", "蜜罐蚁", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "A living larder the honeypot ant may be, but a prisoner of the inverted chamber it remains for life.", "蜜罐蚁不愧为蚂蚁的粮仓,一生也只能桎梏在倒悬的蚁穴上。", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "MadCowDisease", "疯牛病", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "When [creature] is attacked,it will swap slot with attacker.", "当 [creature]  被攻击时,将与攻击者交换位置。", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Plague Cattle", "瘟牛", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Swordfish", "剑鱼", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Anaconda", "森蚺", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Polar Bear", "北极熊", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Hummingbird", "蜂鸟", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Chinese Dargon", "龙", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "FengHuang", "凤凰", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Phoenix", "不死鸟", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "It contains [count] new cards.", "这个卡包一共增加了 [count] 新卡牌。", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Starry Forest Cards Expansion", "繁星森林 拓展卡包", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Boss HUAMIAO", "花喵开播了", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Lose bestiality", "失去兽性", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Give 'Doclie' sigil to all the cards in the starter deck.", "使初始卡组中所有卡牌获得‘温顺’印记。", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Unstable existence", "不稳定的存在", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Give 'Endangered' sigil to all the cards in the starter deck.", "使初始卡组中所有卡牌获得‘濒危’印记。", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Avoidance", "逃避本能", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Give 'Coward' sigil to all the cards in the starter deck.", "使初始卡组中所有卡牌获得‘贪生怕死’印记。", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Jackal", "豺", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Nimble jackals, swarming as one, bring down lions and tigers.", "灵敏的豺,相倚群袭勇于打败狮虎。", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "UndercurrentsSurge", "暗流涌动", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "When [creature] is played,it will give sigil 'Waterborne' to the opposing card.", "当 [creature] 被打出时,将使对立的卡牌获得 '水袭' 印记。", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Zebra", "斑马", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Sheepdog", "牧羊犬", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "To Bella, a loyal and reliable partner.", "忠诚可靠的伙伴,致贝拉。", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "You used to be 4 diligent 4n1mal.", "你泍是勒勉的家畗,", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Its devastating back kick proves it's no zebra crossing.", "威力巨大的后踢腿证明它不是斑马线。", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Sensitive hummingbirds. At the same time, give support to both land and air.", "轻巧的蜂鸟。可以从陆和空两面给予支援。", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Strong rhinoceros, its leather armor can resist damage that is not yet powerful.", "强劲的犀牛,它的皮甲能抵御不尚有威力的伤害。", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "The mud-wallowing sleeper, pure prey.", "泥潭的酣睡汉,纯粹的猎物。", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "A creature of pure brute force, more massive than a bull, sowing chaos on your board and mine.", "纯粹蛮力的造物,比公牛还要壮硕,在你的、我的牌桌上制造混乱。", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "The enraged boar, a creature devoid of reason. To strike it is to enrage it.", "愤怒的野猪,丧失理智的家伙,攻击就是激怒它。·", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "The colossal anaconda, jaws agape, devours prey whole.", "体型庞大的森蚺,张开口便能生吞猎物。", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "No Teeth", "一贫如洗", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "You will not gain gold teeth from overkill damage after battles.", "你将不会在战斗胜利后通过过量伤害获得金牙齿", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Dolphin", "海豚", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Immortal Jellyfish", "灯塔水母", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Blue-ringed Octopus", "蓝环章鱼", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Hermit Crab", "寄居蟹", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Sea Turtle", "海龟", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Arapaima", "巨骨舌鱼", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Cuttlefish", "墨鱼", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Cuttlefish ink", "墨鱼汁", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Slime", "史莱姆", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Dice Squid", "骰子触手", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Poison Dart Frog", "箭毒蛙", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Grave Squid", "坟墓触手", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Power of Death", "噬亡之力", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "The value represented is equal to half the number of creatures that have perished this battle.", "该值等于本场战斗中已经死亡生物数量的一半。", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "When [creature] is played, choose an opposing card with Waterbrone to slay and [creature] gains a buff.", "当 [creature] 被打出时, 可选择一张对方场上的携带印记 水袭 的卡牌将其击杀并获得增益。", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Cormorant", "鸬鹚", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "HydroHunter", "水行猎手", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Golden Monkey", "金丝猴", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Bald Eagle", "白头海雕", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Neck-Troughed Snake", "虎斑颈槽蛇", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Shaman Totem", "萨满图腾", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Peregrine Falcon", "游隼", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Mandarin Duck", "鸳鸯", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Golden Snub-nosed Monkey", "金丝猴", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Ostrich", "鸵鸟", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Little Mouse", "小老鼠", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Plague Rat", "疫鼠", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Poison Dart Frog", "箭毒蛙", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Dairy Cow", "奶牛", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Hermit Crab", "寄居蟹", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Pigeon", "鸽子", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Gray Wolf", "灰狼", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Snow Leopard", "雪豹", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Penguin", "企鹅", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Leopard", "花豹", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Albino Deer", "白化鹿", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Duskywing", "珠弄蝶", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Orchid Mantis", "兰花螳螂", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Bengal Tigers appear during the first 3 boss battles.", "前三场头目战将会出现孟加拉虎。", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "The brutish arapaima has a massive maw that can swallow anything.", "蛮横的巨骨舌鱼,它的大嘴可以吞下任何东西。", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "The bald eagle tribe holds its heads high in the sky.", "傲首于天空,白头海雕的部族。", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "What bird can dive? Look no further—to fish, the cormorant is a horror story.", "什么鸟能潜水?看看它吧,对鱼来说,这是个恐怖故事。", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "The cuttlefish is timid, and when attacked it sprays a choking cloud of ink.", "墨鱼十分胆小,被攻击后喷射出呛人的墨雾。", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Dolphins understand teamwork, and they rally the whole ocean into a charge.", "海豚们懂得配合,联合整个海洋向前攻击。", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "A heart-melting grizzly cub, given time, grows from adorable to ferocious.", "灰熊楚楚动人的幼崽,过段时间,它从动人变成凶悍。", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "The immortal jellyfish is nature's longest-lived animal, and it can grow from adult back to juvenile.", "灯塔水母是自然中最长寿的动物,他们会从成年生长到幼年。", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "The pondside snake will drag someone down with it before it dies. ", "塘边的游蛇,死亡前定要拉人下水。", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Half gilded gold, half crimson red—like a crowned heron, like the risen Christ—the Phoenix unfurls its wings in fire.", "半鎏金色,半赤红色,如戴冠的苍鹭,如复活的基督,腾火展翼。", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "The tenacious sea turtle, given but a short time, can grow new scales.", "坚韧的海龟,给它短暂的时日,它便能长出新的鳞片。", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "If Charizard becomes truly angered, the flame at the tip of its tail burns in a light blue shade.", "如果喷火龙真正被激怒,它尾巴尖端的火焰会燃成淡蓝色。", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Like snow, it vanishes into the white woods.", "它犹如落雪,消失在雪林中。", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "A lone gray wolf. Costly, but the outcome leaves you awestruck.", "独当一面的灰狼,它虽昂贵,但结果能让你叹为观止。", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "The ostrich is reckless, Whether friend or foe.", "鸵鸟总是莽撞,无论是敌是友。", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "The diving peregrine kills in one strike. Hard to catch.", "游隼,俯冲中的游隼一击致命,难以捕捉。", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "The fickle hermit crab. A new, hard shell blocks the next attack.", "喜新厌旧的寄居蟹,新的、坚硬的壳能抵挡下一次攻击。", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Taotie", "饕餮", (Language)10);
		LocalizationManager.Translate("StarClouds.inscryption.Forest_Under_The_Starry_Sky", (string)null, "Devourer of heaven and earth—the Taotie grows stronger with every insatiable hunger.", "吞噬天地的饕餮——永无止境的饥渴令它变得更强。", (Language)10);
	}
}
[BepInDependency(/*Could not decode attribute arguments.*/)]
[BepInPlugin("StarClouds.inscryption.Forest_Under_The_Starry_Sky", "SCSimplifiedChineseLanguage", "1.0.0")]
public class CVFUTSSPlugin : BaseUnityPlugin
{
	private void Awake()
	{
		((BaseUnityPlugin)this).Logger.LogInfo((object)"Loaded FUTSS!");
		Harmony.CreateAndPatchAll(Assembly.GetExecutingAssembly(), "StarClouds.inscryption.Forest_Under_The_Starry_Sky");
		ForestUnderTheStarrySky.RegisterTranslations();
	}
}