Decompiled source of Plants vs Zombies v0.7.0
ZephtPvZ.dll
Decompiled 2 months ago
The result has been truncated due to the large size, download it to view full contents!
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.Versioning; using System.Security; using System.Security.Permissions; using BepInEx; using BepInEx.Logging; using DiskCardGame; using HarmonyLib; using Infiniscryption.PackManagement; using InscryptionAPI.Ascension; using InscryptionAPI.Card; using InscryptionAPI.Guid; using InscryptionAPI.Helpers; using Microsoft.CodeAnalysis; using UnityEngine; using ZephtSun; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: TargetFramework(".NETStandard,Version=v2.0", FrameworkDisplayName = ".NET Standard 2.0")] [assembly: AssemblyCompany("ZephtPvZ")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0")] [assembly: AssemblyProduct("ZephtPvZ")] [assembly: AssemblyTitle("ZephtPvZ")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.0.0.0")] [module: UnverifiableCode] [module: RefSafetyRules(11)] namespace Microsoft.CodeAnalysis { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] internal sealed class EmbeddedAttribute : Attribute { } } namespace System.Runtime.CompilerServices { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Module, AllowMultiple = false, Inherited = false)] internal sealed class RefSafetyRulesAttribute : Attribute { public readonly int Version; public RefSafetyRulesAttribute(int P_0) { Version = P_0; } } } namespace ZephtPvZ { public class EvolveSprout : SpecialCardBehaviour { public static SpecialTriggeredAbility SpecialTriggeredAbility; private void Start() { } public override bool RespondsToUpkeep(bool playerUpkeep) { return true; } public override IEnumerator OnUpkeep(bool playerUpkeep) { Plugin.Log.LogInfo((object)"evocheck 1"); EvolveParams evoParams = new EvolveParams(); evoParams.turnsToEvolve = 1; int randomSeed = ((TriggerReceiver)this).GetRandomSeed(); CardInfo randomChoosableCard = GetRandomSproutEvo(randomSeed); evoParams.evolution = randomChoosableCard; ((SpecialCardBehaviour)this).Card.Info.evolveParams = evoParams; yield break; } public static CardInfo GetRandomSproutEvo(int randomSeed) { List<CardInfo> plantCards = GetPlantCards(); return CardLoader.Clone(plantCards[SeededRandom.Range(0, plantCards.Count, randomSeed)]); } public static List<CardInfo> GetPlantCards() { return CardLoader.RemoveDeckSingletonsIfInDeck(ScriptableObjectLoader<CardInfo>.AllData.FindAll((CardInfo x) => (x.metaCategories.Contains((CardMetaCategory)0) || x.metaCategories.Contains((CardMetaCategory)3)) && (x.IsOfTribe(Plugin.PlantFlower) || x.IsOfTribe(Plugin.PlantFruit) || x.IsOfTribe(Plugin.PlantShroom) || x.IsOfTribe(Plugin.PlantVeg) || x.IsOfTribe(Plugin.PlantSpiky)) && !(((Object)x).name == "zep_pvz_sprout") && !x.specialAbilities.Contains(SpecialTriggeredAbility) && !x.HasAbility(Plugin.AddStats.ability))); } } public class InfoStoreIce : SpecialCardBehaviour { public static SpecialTriggeredAbility SpecialTriggeredAbility; public override bool RespondsToDie(bool wasSacrifice, PlayableCard killer) { return true; } public override IEnumerator OnDie(bool wasSacrifice, PlayableCard killer) { Plugin.Log.LogInfo((object)"icecheck 2"); CardModificationInfo copymod = new CardModificationInfo(0, 0); copymod.abilities.AddRange(((SpecialCardBehaviour)this).Card.Info.ModAbilities); if (((SpecialCardBehaviour)this).Card.Info.ModAbilities.Count > 0) { copymod.fromDuplicateMerge = true; } CardExtensions.SetIceCube(((SpecialCardBehaviour)this).Card.Info, "zep_pvz_infininutbase", (IEnumerable<CardModificationInfo>)null); ((SpecialCardBehaviour)this).Card.Info.iceCubeParams.creatureWithin.Mods.Add(copymod); Plugin.Log.LogInfo((object)"icecheck 2"); yield break; } } [BepInPlugin("zepht.inscryption.ZephtPvZ", "PvZbyZepht", "0.7.0")] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] public class Plugin : BaseUnityPlugin { public class Spudow : AbilityBehaviour { public static Ability ability; public override Ability Ability => ability; public override bool RespondsToPreDeathAnimation(bool wasSacrifice) { return ((AbilityBehaviour)this).Card.OnBoard; } public override IEnumerator OnPreDeathAnimation(bool wasSacrifice) { ((Card)((AbilityBehaviour)this).Card).Anim.LightNegationEffect(); yield return ((AbilityBehaviour)this).PreSuccessfulTriggerSequence(); if (!wasSacrifice) { yield return ExplodeFromSlot(((AbilityBehaviour)this).Card.Slot); } } protected IEnumerator ExplodeFromSlot(CardSlot Slot) { if ((Object)(object)Slot.opposingSlot.Card != (Object)null && !Slot.opposingSlot.Card.Dead) { yield return BombCard(Slot.opposingSlot.Card, Slot.Card); } } private IEnumerator BombCard(PlayableCard target, PlayableCard attacker) { yield return (object)new WaitForSeconds(0.1f); ((Card)((AbilityBehaviour)this).Card).Anim.StrongNegationEffect(); yield return (object)new WaitForSeconds(0.1f); ((Card)((AbilityBehaviour)this).Card).Anim.StrongNegationEffect(); yield return (object)new WaitForSeconds(0.1f); ((Card)((AbilityBehaviour)this).Card).Anim.StrongNegationEffect(); yield return target.TakeDamage(4, attacker); } public override bool RespondsToDie(bool wasSacrifice, PlayableCard killer) { return !wasSacrifice && ((AbilityBehaviour)this).Card.OnBoard; } public override IEnumerator OnDie(bool wasSacrifice, PlayableCard killer) { yield return ((AbilityBehaviour)this).PreSuccessfulTriggerSequence(); yield return ((AbilityBehaviour)this).LearnAbility(0.5f); } } public class Sweet : AbilityBehaviour { public static Ability ability; public override Ability Ability => ability; public override bool RespondsToPreDeathAnimation(bool wasSacrifice) { return ((AbilityBehaviour)this).Card.OnBoard; } public override IEnumerator OnPreDeathAnimation(bool wasSacrifice) { ((Card)((AbilityBehaviour)this).Card).Anim.LightNegationEffect(); yield return ((AbilityBehaviour)this).PreSuccessfulTriggerSequence(); if (!wasSacrifice) { yield return ExplodeFromSlot(((AbilityBehaviour)this).Card.Slot); } } protected IEnumerator ExplodeFromSlot(CardSlot Slot) { List<CardSlot> adjacentSlots = Singleton<BoardManager>.Instance.GetAdjacentSlots(Slot); if (adjacentSlots.Count > 0 && adjacentSlots[0].Index < Slot.Index) { if ((Object)(object)adjacentSlots[0].Card != (Object)null && !adjacentSlots[0].Card.Dead) { yield return BombCard(adjacentSlots[0].Card, Slot.Card, 1); } if ((Object)(object)adjacentSlots[0].opposingSlot.Card != (Object)null && !adjacentSlots[0].opposingSlot.Card.Dead) { yield return BombCard(adjacentSlots[0].opposingSlot.Card, Slot.Card, 3); } adjacentSlots.RemoveAt(0); } if ((Object)(object)Slot.opposingSlot.Card != (Object)null && !Slot.opposingSlot.Card.Dead) { yield return BombCard(Slot.opposingSlot.Card, Slot.Card, 3); } if (adjacentSlots.Count > 0 && (Object)(object)adjacentSlots[0].opposingSlot.Card != (Object)null && !adjacentSlots[0].opposingSlot.Card.Dead) { yield return BombCard(adjacentSlots[0].opposingSlot.Card, Slot.Card, 3); } if (adjacentSlots.Count > 0 && (Object)(object)adjacentSlots[0].Card != (Object)null && !adjacentSlots[0].Card.Dead) { yield return BombCard(adjacentSlots[0].Card, Slot.Card, 1); } } private IEnumerator BombCard(PlayableCard target, PlayableCard attacker, int damage) { yield return (object)new WaitForSeconds(0.1f); ((Card)target).Anim.PlayHitAnimation(); yield return target.TakeDamage(damage, attacker); } public override bool RespondsToTurnEnd(bool playerTurnEnd) { return ((AbilityBehaviour)this).Card.OpponentCard != playerTurnEnd; } public override IEnumerator OnTurnEnd(bool playerTurnEnd) { yield return ((AbilityBehaviour)this).PreSuccessfulTriggerSequence(); ((Card)((AbilityBehaviour)this).Card).Anim.StrongNegationEffect(); yield return (object)new WaitForSeconds(0.1f); ((Card)((AbilityBehaviour)this).Card).Anim.StrongNegationEffect(); yield return (object)new WaitForSeconds(0.1f); ((Card)((AbilityBehaviour)this).Card).Anim.StrongNegationEffect(); yield return (object)new WaitForSeconds(0.1f); ((Card)((AbilityBehaviour)this).Card).Anim.StrongNegationEffect(); if ((Object)(object)((AbilityBehaviour)this).Card != (Object)null && !((AbilityBehaviour)this).Card.Dead) { if (!SaveManager.SaveFile.IsPart2) { Singleton<ViewManager>.Instance.SwitchToView((View)4, false, false); yield return (object)new WaitForSeconds(0.1f); } yield return ((AbilityBehaviour)this).Card.Die(false, (PlayableCard)null, true); if (!SaveManager.SaveFile.IsPart2) { yield return (object)new WaitForSeconds(0.1f); } } } public override bool RespondsToDie(bool wasSacrifice, PlayableCard killer) { return !wasSacrifice && ((AbilityBehaviour)this).Card.OnBoard; } public override IEnumerator OnDie(bool wasSacrifice, PlayableCard killer) { yield return ((AbilityBehaviour)this).PreSuccessfulTriggerSequence(); yield return ((AbilityBehaviour)this).LearnAbility(0.5f); } } public class Spicy : AbilityBehaviour { public static Ability ability; public override Ability Ability => ability; public override bool RespondsToPreDeathAnimation(bool wasSacrifice) { return ((AbilityBehaviour)this).Card.OnBoard; } public override IEnumerator OnPreDeathAnimation(bool wasSacrifice) { ((Card)((AbilityBehaviour)this).Card).Anim.LightNegationEffect(); yield return ((AbilityBehaviour)this).PreSuccessfulTriggerSequence(); if (!wasSacrifice) { yield return ExplodeFromSlot(((AbilityBehaviour)this).Card.Slot); } } protected IEnumerator ExplodeFromSlot(CardSlot Slot) { if ((Object)(object)Slot.opposingSlot.Card != (Object)null && !Slot.opposingSlot.Card.Dead) { yield return BombCard(Slot.opposingSlot.Card, Slot.Card); } if ((Object)(object)Singleton<BoardManager>.Instance.GetCardQueuedForSlot(Slot.opposingSlot) != (Object)null) { yield return BombCard(Singleton<BoardManager>.Instance.GetCardQueuedForSlot(Slot.opposingSlot), Slot.Card); } } private IEnumerator BombCard(PlayableCard target, PlayableCard attacker) { yield return (object)new WaitForSeconds(0.1f); ((Card)target).Anim.PlayHitAnimation(); yield return target.TakeDamage(4, attacker); } public override bool RespondsToTurnEnd(bool playerTurnEnd) { return ((AbilityBehaviour)this).Card.OpponentCard != playerTurnEnd; } public override IEnumerator OnTurnEnd(bool playerTurnEnd) { yield return ((AbilityBehaviour)this).PreSuccessfulTriggerSequence(); ((Card)((AbilityBehaviour)this).Card).Anim.StrongNegationEffect(); yield return (object)new WaitForSeconds(0.1f); ((Card)((AbilityBehaviour)this).Card).Anim.StrongNegationEffect(); yield return (object)new WaitForSeconds(0.1f); ((Card)((AbilityBehaviour)this).Card).Anim.StrongNegationEffect(); yield return (object)new WaitForSeconds(0.1f); ((Card)((AbilityBehaviour)this).Card).Anim.StrongNegationEffect(); if ((Object)(object)((AbilityBehaviour)this).Card != (Object)null && !((AbilityBehaviour)this).Card.Dead) { if (!SaveManager.SaveFile.IsPart2) { Singleton<ViewManager>.Instance.SwitchToView((View)4, false, false); yield return (object)new WaitForSeconds(0.1f); } yield return ((AbilityBehaviour)this).Card.Die(false, (PlayableCard)null, true); if (!SaveManager.SaveFile.IsPart2) { yield return (object)new WaitForSeconds(0.1f); } } } public override bool RespondsToDie(bool wasSacrifice, PlayableCard killer) { return !wasSacrifice && ((AbilityBehaviour)this).Card.OnBoard; } public override IEnumerator OnDie(bool wasSacrifice, PlayableCard killer) { yield return ((AbilityBehaviour)this).PreSuccessfulTriggerSequence(); yield return ((AbilityBehaviour)this).LearnAbility(0.5f); } } public class DoomBringer : AbilityBehaviour { public static Ability ability; public override Ability Ability => ability; public override bool RespondsToPreDeathAnimation(bool wasSacrifice) { return ((AbilityBehaviour)this).Card.OnBoard; } public override IEnumerator OnPreDeathAnimation(bool wasSacrifice) { ((Card)((AbilityBehaviour)this).Card).Anim.LightNegationEffect(); yield return ((AbilityBehaviour)this).PreSuccessfulTriggerSequence(); if (!wasSacrifice) { yield return ExplodeFromSlot(((AbilityBehaviour)this).Card.Slot); } } protected IEnumerator ExplodeFromSlot(CardSlot Slot) { foreach (CardSlot cardSlot in Singleton<BoardManager>.Instance.OpponentSlotsCopy) { if ((Object)(object)cardSlot.Card != (Object)null && !cardSlot.Card.Dead) { yield return BombCard(cardSlot.Card, Slot.Card, 7); } if ((Object)(object)cardSlot.opposingSlot.Card != (Object)null && !cardSlot.opposingSlot.Card.Dead) { yield return BombCard(cardSlot.opposingSlot.Card, Slot.Card, 1); } } } private IEnumerator BombCard(PlayableCard target, PlayableCard attacker, int damage) { yield return (object)new WaitForSeconds(0.003f); ((Card)target).Anim.PlayHitAnimation(); yield return target.TakeDamage(damage, attacker); } public override bool RespondsToTurnEnd(bool playerTurnEnd) { return ((AbilityBehaviour)this).Card.OpponentCard != playerTurnEnd; } public override IEnumerator OnTurnEnd(bool playerTurnEnd) { yield return ((AbilityBehaviour)this).PreSuccessfulTriggerSequence(); ((Card)((AbilityBehaviour)this).Card).Anim.LightNegationEffect(); yield return (object)new WaitForSeconds(0.3f); ((Card)((AbilityBehaviour)this).Card).Anim.LightNegationEffect(); yield return (object)new WaitForSeconds(0.2f); ((Card)((AbilityBehaviour)this).Card).Anim.StrongNegationEffect(); yield return (object)new WaitForSeconds(0.1f); ((Card)((AbilityBehaviour)this).Card).Anim.StrongNegationEffect(); yield return (object)new WaitForSeconds(0.1f); ((Card)((AbilityBehaviour)this).Card).Anim.StrongNegationEffect(); yield return (object)new WaitForSeconds(0.05f); ((Card)((AbilityBehaviour)this).Card).Anim.StrongNegationEffect(); yield return (object)new WaitForSeconds(0.02f); ((Card)((AbilityBehaviour)this).Card).Anim.StrongNegationEffect(); if ((Object)(object)((AbilityBehaviour)this).Card != (Object)null && !((AbilityBehaviour)this).Card.Dead) { if (!SaveManager.SaveFile.IsPart2) { Singleton<ViewManager>.Instance.SwitchToView((View)4, false, false); yield return (object)new WaitForSeconds(0.1f); } yield return ((AbilityBehaviour)this).Card.Die(false, (PlayableCard)null, true); if (!SaveManager.SaveFile.IsPart2) { yield return (object)new WaitForSeconds(0.1f); } } } } public class Hypnotist : AbilityBehaviour { public static Ability ability; public override Ability Ability => ability; public override bool RespondsToDie(bool wasSacrifice, PlayableCard killer) { return !wasSacrifice && ((AbilityBehaviour)this).Card.OnBoard; } public override IEnumerator OnDie(bool wasSacrifice, PlayableCard killer) { if (!wasSacrifice && (Object)(object)killer != (Object)null && !CardExtensions.HasAnyOfTraits(killer, (Trait[])(object)new Trait[2] { (Trait)16, (Trait)14 })) { yield return Singleton<BoardManager>.Instance.AssignCardToSlot(killer, ((AbilityBehaviour)this).Card.Slot, 0.1f, (Action)null, true); killer.SetIsOpponentCard(!killer.Slot.IsPlayerSlot); ((Card)killer).Anim.LightNegationEffect(); yield return ((AbilityBehaviour)this).PreSuccessfulTriggerSequence(); yield return ((AbilityBehaviour)this).LearnAbility(0.5f); } } } public class TacticalRetreat : AbilityBehaviour { public static Ability ability; public override Ability Ability => ability; } [HarmonyPatch(typeof(PlayableCard), "GetPassiveAttackBuffs")] public class ScaredyAttack_patch { [HarmonyPostfix] public static void Postfix(ref int __result, ref PlayableCard __instance) { //IL_0033: Unknown result type (might be due to invalid IL or missing references) //IL_006f: Unknown result type (might be due to invalid IL or missing references) if (__instance.OnBoard && (Object)(object)__instance.Slot.Card != (Object)null && __instance.Slot.Card.HasAbility(TacticalRetreat.ability) && (Object)(object)__instance.Slot.opposingSlot.Card != (Object)null && !__instance.Slot.opposingSlot.Card.HasAbility(TacticalRetreat.ability) && __instance.Slot.opposingSlot.Card.Attack >= 1) { __result--; } } } [HarmonyPatch(typeof(PlayableCard), "GetPassiveHealthBuffs")] public class ScaredHealth_patch { [HarmonyPostfix] public static void Postfix(ref int __result, ref PlayableCard __instance) { //IL_0033: 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) if (__instance.OnBoard && (Object)(object)__instance.Slot.Card != (Object)null && __instance.Slot.Card.HasAbility(TacticalRetreat.ability) && (Object)(object)__instance.Slot.opposingSlot.Card != (Object)null && __instance.Slot.opposingSlot.Card.Attack >= 1 && !__instance.Slot.opposingSlot.Card.HasAbility(TacticalRetreat.ability)) { __result++; } } } public class Pierce : AbilityBehaviour { public static Ability ability; public override Ability Ability => ability; public override bool RespondsToSlotTargetedForAttack(CardSlot slot, PlayableCard attacker) { return !slot.IsPlayerSlot && (Object)(object)((AbilityBehaviour)this).Card == (Object)(object)attacker; } public override IEnumerator OnSlotTargetedForAttack(CardSlot slot, PlayableCard attacker) { if (!slot.IsPlayerSlot) { PlayableCard queued = Singleton<BoardManager>.Instance.GetCardQueuedForSlot(slot); if ((Object)(object)queued != (Object)null && (Object)(object)attacker != (Object)null && CardExtensions.NotDead(attacker)) { Singleton<ViewManager>.Instance.SwitchToView((View)6, false, true); yield return (object)new WaitForSeconds(0.3f); ((Card)queued).Anim.LightNegationEffect(); ((Card)attacker).Anim.PlayAttackAnimation(false, queued.Slot); yield return queued.TakeDamage(((AbilityBehaviour)this).Card.Attack, ((AbilityBehaviour)this).Card); yield return (object)new WaitForSeconds(0.3f); ((Card)queued).Anim.PlayHitAnimation(); yield return ((AbilityBehaviour)this).PreSuccessfulTriggerSequence(); yield return ((AbilityBehaviour)this).LearnAbility(0.5f); Singleton<ViewManager>.Instance.SwitchToView((View)4, false, true); Singleton<ViewManager>.Instance.Controller.LockState = (ViewLockState)0; } } } } [HarmonyPatch(typeof(CombatPhaseManager), "DealOverkillDamage")] public class PierceOverkill_patch { [HarmonyPrefix] public static void CheckforPierce(ref int damage, CardSlot attackingSlot, CardSlot opposingSlot) { //IL_0022: Unknown result type (might be due to invalid IL or missing references) if ((Object)(object)attackingSlot.Card != (Object)null && attackingSlot.IsPlayerSlot && ((Card)attackingSlot.Card).Info.HasAbility(Pierce.ability)) { damage = 0; } } } [HarmonyPatch(typeof(CombatPhaseManager), "SlotAttackSlot")] public class PierceArmor_patch { [HarmonyPrefix] public static void CheckforPierceArmor(ref CardSlot opposingSlot, CardSlot attackingSlot) { //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_00d5: Unknown result type (might be due to invalid IL or missing references) //IL_00db: Expected O, but got Unknown if (!((Object)(object)attackingSlot.Card != (Object)null) || !((Card)attackingSlot.Card).Info.HasAbility(Pierce.ability) || attackingSlot.Card.Dead || !((Object)(object)opposingSlot.Card != (Object)null) || !((Card)opposingSlot.Card).Info.HasAbility((Ability)54) || opposingSlot.Card.Dead) { return; } object obj = ((Card)opposingSlot.Card).Info.Clone(); CardInfo val = (CardInfo)((obj is CardInfo) ? obj : null); foreach (CardModificationInfo mod in ((Card)opposingSlot.Card).Info.Mods) { val.Mods.Add(mod); } CardModificationInfo val2 = new CardModificationInfo(); val2.negateAbilities = new List<Ability> { (Ability)54, (Ability)54, (Ability)54 }; val.Mods.Add(val2); ((Card)opposingSlot.Card).SetInfo(val); } } public class SporeSpread : 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 && fromCombat; } public override IEnumerator OnOtherCardDie(PlayableCard card, CardSlot deathSlot, bool fromCombat, PlayableCard killer) { CardInfo CardToDraw = ((Card)((AbilityBehaviour)this).Card).Info; if (killer.Slot.IsPlayerSlot) { if ((int)Singleton<ViewManager>.Instance.CurrentView != 1) { yield return (object)new WaitForSeconds(0.2f); Singleton<ViewManager>.Instance.SwitchToView((View)1, false, false); yield return (object)new WaitForSeconds(0.2f); } yield return Singleton<CardSpawner>.Instance.SpawnCardToHand(CardToDraw, (List<CardModificationInfo>)null, 0.25f, (Action<PlayableCard>)null); yield return (object)new WaitForSeconds(0.45f); yield return ((AbilityBehaviour)this).LearnAbility(0.1f); } else if ((Object)(object)Singleton<BoardManager>.Instance.GetCardQueuedForSlot(deathSlot.opposingSlot) == (Object)null) { PlayableCard newcard = new PlayableCard(); ((Card)newcard).Info = CardToDraw; Singleton<BoardManager>.Instance.QueueCardForSlot(card, deathSlot.opposingSlot, 0.1f, true, true); yield return (object)new WaitForSeconds(0.45f); yield return ((AbilityBehaviour)this).LearnAbility(0.1f); } } } public class AddStats : AbilityBehaviour { public static Ability ability; public override Ability Ability => ability; public override bool RespondsToResolveOnBoard() { return ((AbilityBehaviour)this).Card.OnBoard; } public override IEnumerator OnResolveOnBoard() { ((Card)((AbilityBehaviour)this).Card).Anim.LightNegationEffect(); yield return ((AbilityBehaviour)this).PreSuccessfulTriggerSequence(); foreach (CardSlot cardSlot in Singleton<BoardManager>.Instance.PlayerSlotsCopy) { if (!((Object)(object)cardSlot.Card != (Object)null) || cardSlot.Card.Dead || !Object.op_Implicit((Object)(object)((AbilityBehaviour)this).Card) || !((Object)(object)cardSlot.Card != (Object)(object)((AbilityBehaviour)this).Card) || ((Card)cardSlot.Card).Info.traits.Contains((Trait)12) || ((Card)cardSlot.Card).Info.traits.Contains(NoSacs)) { continue; } ((Card)((AbilityBehaviour)this).Card).Anim.LightNegationEffect(); yield return (object)new WaitForSeconds(0.2f); ((Card)((AbilityBehaviour)this).Card).Anim.StrongNegationEffect(); yield return (object)new WaitForSeconds(0.2f); ((Card)((AbilityBehaviour)this).Card).Anim.StrongNegationEffect(); yield return (object)new WaitForSeconds(0.3f); ((Card)cardSlot.Card).Anim.PlayTransformAnimation(); object obj = ((Card)cardSlot.Card).Info.Clone(); CardInfo targetCardInfo = (CardInfo)((obj is CardInfo) ? obj : null); foreach (CardModificationInfo cardmod in ((Card)cardSlot.Card).Info.Mods) { targetCardInfo.Mods.Add(cardmod); } foreach (Ability ability in ((Card)((AbilityBehaviour)this).Card).Info.Abilities) { if (ability != AddStats.ability) { CardModificationInfo cardModificationInfoPvZ = new CardModificationInfo(ability); targetCardInfo.Mods.Add(cardModificationInfoPvZ); } } CardModificationInfo cardModificationInfoPvZ2 = new CardModificationInfo(); cardModificationInfoPvZ2.attackAdjustment = ((Card)((AbilityBehaviour)this).Card).Info.Attack; cardModificationInfoPvZ2.healthAdjustment = ((Card)((AbilityBehaviour)this).Card).Info.Health; targetCardInfo.Mods.Add(cardModificationInfoPvZ2); ((Card)cardSlot.Card).SetInfo(targetCardInfo); ((Card)cardSlot.Card).RenderCard(); yield return (object)new WaitForSeconds(0.3f); } yield return (object)new WaitForSeconds(0.2f); yield return ((AbilityBehaviour)this).Card.Die(false, (PlayableCard)null, true); yield return (object)new WaitForSeconds(0.2f); yield return ((AbilityBehaviour)this).LearnAbility(0.5f); Singleton<ViewManager>.Instance.SwitchToView(Singleton<BoardManager>.Instance.DefaultView, false, false); } } public class AddStatsOpponent : AbilityBehaviour { public static Ability ability; public override Ability Ability => ability; public override bool RespondsToResolveOnBoard() { return ((AbilityBehaviour)this).Card.OnBoard; } public override IEnumerator OnResolveOnBoard() { ((Card)((AbilityBehaviour)this).Card).Anim.LightNegationEffect(); yield return ((AbilityBehaviour)this).PreSuccessfulTriggerSequence(); foreach (CardSlot cardSlot in Singleton<BoardManager>.Instance.OpponentSlotsCopy) { if (!((Object)(object)cardSlot.Card != (Object)null) || cardSlot.Card.Dead || !Object.op_Implicit((Object)(object)((AbilityBehaviour)this).Card) || ((Card)cardSlot.Card).Info.traits.Contains(NoSacs)) { continue; } ((Card)cardSlot.Card).Anim.LightNegationEffect(); yield return (object)new WaitForSeconds(0.2f); ((Card)((AbilityBehaviour)this).Card).Anim.StrongNegationEffect(); yield return (object)new WaitForSeconds(0.2f); ((Card)((AbilityBehaviour)this).Card).Anim.StrongNegationEffect(); yield return (object)new WaitForSeconds(0.3f); ((Card)cardSlot.Card).Anim.PlayTransformAnimation(); object obj = ((Card)cardSlot.Card).Info.Clone(); CardInfo targetCardInfo = (CardInfo)((obj is CardInfo) ? obj : null); foreach (CardModificationInfo cardmod in ((Card)cardSlot.Card).Info.Mods) { targetCardInfo.Mods.Add(cardmod); } foreach (Ability ability in ((Card)((AbilityBehaviour)this).Card).Info.Abilities) { if (ability != AddStatsOpponent.ability) { CardModificationInfo cardModificationInfoPvZ = new CardModificationInfo(ability); targetCardInfo.Mods.Add(cardModificationInfoPvZ); } } CardModificationInfo cardModificationInfoPvZ2 = new CardModificationInfo(); cardModificationInfoPvZ2.attackAdjustment = ((Card)((AbilityBehaviour)this).Card).Info.Attack; cardModificationInfoPvZ2.healthAdjustment = ((Card)((AbilityBehaviour)this).Card).Info.Health; targetCardInfo.Mods.Add(cardModificationInfoPvZ2); ((Card)cardSlot.Card).SetInfo(targetCardInfo); ((Card)cardSlot.Card).RenderCard(); yield return (object)new WaitForSeconds(0.3f); } yield return (object)new WaitForSeconds(0.2f); yield return ((AbilityBehaviour)this).Card.Die(false, (PlayableCard)null, true); yield return (object)new WaitForSeconds(0.2f); yield return ((AbilityBehaviour)this).LearnAbility(0.5f); Singleton<ViewManager>.Instance.SwitchToView(Singleton<BoardManager>.Instance.DefaultView, false, false); } } public class ArmorBreak : AbilityBehaviour { public static Ability ability; public override Ability Ability => ability; public override bool RespondsToResolveOnBoard() { return ((AbilityBehaviour)this).Card.OnBoard; } public override IEnumerator OnResolveOnBoard() { ((Card)((AbilityBehaviour)this).Card).Anim.LightNegationEffect(); yield return ((AbilityBehaviour)this).PreSuccessfulTriggerSequence(); Ability[] array = new Ability[6]; RuntimeHelpers.InitializeArray(array, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/); array[0] = (Ability)(int)HardHeaded.ability; Ability[] armorAbilities = (Ability[])(object)array; foreach (CardSlot cardSlot in Singleton<BoardManager>.Instance.OpponentSlotsCopy) { if (!((Object)(object)cardSlot.Card != (Object)null) || cardSlot.Card.Dead) { continue; } Ability[] array2 = armorAbilities; foreach (Ability ability1 in array2) { if (!((Card)cardSlot.Card).Info.HasAbility(ability1)) { continue; } ((Card)((AbilityBehaviour)this).Card).Anim.LightNegationEffect(); yield return (object)new WaitForSeconds(0.1f); ((Card)((AbilityBehaviour)this).Card).Anim.StrongNegationEffect(); yield return (object)new WaitForSeconds(0.1f); ((Card)((AbilityBehaviour)this).Card).Anim.StrongNegationEffect(); yield return (object)new WaitForSeconds(0.2f); ((Card)cardSlot.Card).Anim.PlayTransformAnimation(); object obj = ((Card)cardSlot.Card).Info.Clone(); CardInfo targetCardInfo = (CardInfo)((obj is CardInfo) ? obj : null); foreach (CardModificationInfo cardmod in ((Card)cardSlot.Card).Info.Mods) { targetCardInfo.Mods.Add(cardmod); } CardModificationInfo cardModificationInfo = new CardModificationInfo(); cardModificationInfo.negateAbilities = new List<Ability> { ability1 }; targetCardInfo.Mods.Add(cardModificationInfo); ((Card)cardSlot.Card).SetInfo(targetCardInfo); ((Card)cardSlot.Card).RenderCard(); yield return (object)new WaitForSeconds(0.1f); yield return ((AbilityBehaviour)this).LearnAbility(0.5f); } } } } public class ZombieWave : AbilityBehaviour { public static Ability ability; public override Ability Ability => ability; public override bool RespondsToResolveOnBoard() { return true; } public override IEnumerator OnResolveOnBoard() { Singleton<ViewManager>.Instance.SwitchToView((View)4, false, false); CardSlot toLeft = Singleton<BoardManager>.Instance.GetAdjacent(((AbilityBehaviour)this).Card.Slot, true); CardSlot toRight = Singleton<BoardManager>.Instance.GetAdjacent(((AbilityBehaviour)this).Card.Slot, false); bool toLeftValid = (Object)(object)toLeft != (Object)null && (Object)(object)toLeft.Card == (Object)null; bool toRightValid = (Object)(object)toRight != (Object)null && (Object)(object)toRight.Card == (Object)null; yield return ((AbilityBehaviour)this).PreSuccessfulTriggerSequence(); if (toLeftValid) { yield return (object)new WaitForSeconds(0.1f); yield return SpawnCardOnSlot(toLeft); } if (toRightValid) { yield return (object)new WaitForSeconds(0.1f); yield return SpawnCardOnSlot(toRight); } if (toLeftValid || toRightValid) { Say("A huge wave of zombies is approaching"); } } private IEnumerator SpawnCardOnSlot(CardSlot Slot) { int rand = SeededRandom.Range(0, 10, ((TriggerReceiver)this).GetRandomSeed()); if (rand <= 6) { yield return Singleton<BoardManager>.Instance.CreateCardInSlot(CardLoader.GetCardByName("zep_pvz_zombie"), Slot, 0.15f, true); } else if (rand <= 9) { yield return Singleton<BoardManager>.Instance.CreateCardInSlot(CardLoader.GetCardByName("zep_pvz_zombiecone"), Slot, 0.15f, true); } else { yield return Singleton<BoardManager>.Instance.CreateCardInSlot(CardLoader.GetCardByName("zep_pvz_zombiebucket"), Slot, 0.15f, true); } } } public class HardHeaded : AbilityBehaviour { public static Ability ability; public override Ability Ability => ability; public override bool RespondsToResolveOnBoard() { return true; } public override bool RespondsToTakeDamage(PlayableCard source) { return true; } public override IEnumerator OnTakeDamage(PlayableCard source) { if ((Object)(object)((AbilityBehaviour)this).Card != (Object)null && ((Card)((AbilityBehaviour)this).Card).Info.HasAbility(ability) && !((AbilityBehaviour)this).Card.Dead && hardheadHealth > 0) { if (hardheadHealth - ((AbilityBehaviour)this).Card.Health == 0) { ((AbilityBehaviour)this).Card.HealDamage(-2); } else if (hardheadHealth - ((AbilityBehaviour)this).Card.Health >= 1) { object obj = ((Card)((AbilityBehaviour)this).Card).Info.Clone(); CardInfo targetCardInfo = (CardInfo)((obj is CardInfo) ? obj : null); foreach (CardModificationInfo cardmod in ((Card)((AbilityBehaviour)this).Card).Info.Mods) { targetCardInfo.Mods.Add(cardmod); } CardModificationInfo cardModificationInfo = new CardModificationInfo(); cardModificationInfo.negateAbilities = new List<Ability> { ability }; targetCardInfo.Mods.Add(cardModificationInfo); ((Card)((AbilityBehaviour)this).Card).SetInfo(targetCardInfo); if (((Object)targetCardInfo).name == "zep_pvz_zombiebucket" && !((AbilityBehaviour)this).Card.HasAbility(ability)) { ((AbilityBehaviour)this).Card.SwitchToAlternatePortrait(); } if (hardheadHealth - ((AbilityBehaviour)this).Card.Health == 1) { ((AbilityBehaviour)this).Card.HealDamage(-1); } } if (((AbilityBehaviour)this).Card.Health <= 0) { ((AbilityBehaviour)this).Card.Die(false, (PlayableCard)null, true); } } hardheadHealth = 0; yield break; } } [HarmonyPatch(typeof(CombatPhaseManager), "SlotAttackSlot")] public class HardHeaded_patch { [HarmonyPrefix] public static void CheckforHardHeaded(ref CardSlot opposingSlot, CardSlot attackingSlot) { //IL_001c: Unknown result type (might be due to invalid IL or missing references) if ((Object)(object)opposingSlot.Card != (Object)null && ((Card)opposingSlot.Card).Info.HasAbility(HardHeaded.ability)) { opposingSlot.Card.HealDamage(2); hardheadHealth = opposingSlot.Card.Health; } } } public class FadeAway : AbilityBehaviour { public static Ability ability; public override Ability Ability => ability; public override bool RespondsToTurnEnd(bool playerTurnEnd) { return ((AbilityBehaviour)this).Card.OpponentCard != playerTurnEnd && !((AbilityBehaviour)this).Card.Dead; } public override IEnumerator OnTurnEnd(bool playerTurnEnd) { Singleton<ViewManager>.Instance.SwitchToView((View)4, false, true); yield return ((AbilityBehaviour)this).PreSuccessfulTriggerSequence(); yield return (object)new WaitForSeconds(0.3f); ((Card)((AbilityBehaviour)this).Card).Anim.LightNegationEffect(); yield return (object)new WaitForSeconds(0.3f); ((Card)((AbilityBehaviour)this).Card).Anim.PlayHitAnimation(); yield return ((AbilityBehaviour)this).Card.TakeDamage(1, (PlayableCard)null); yield return (object)new WaitForSeconds(0.3f); yield return ((AbilityBehaviour)this).LearnAbility(0.1f); Singleton<ViewManager>.Instance.Controller.LockState = (ViewLockState)0; } } public class InstantCardBackground : CardAppearanceBehaviour { public static Appearance CustomAppearance; public override void ApplyAppearance() { ((CardAppearanceBehaviour)this).Card.RenderInfo.baseTextureOverride = (Texture)(object)findTexture("InstantBack"); if (((CardAppearanceBehaviour)this).Card.Info.baseAttack == 0) { ((CardAppearanceBehaviour)this).Card.RenderInfo.hiddenAttack = true; } if (((CardAppearanceBehaviour)this).Card.Info.baseHealth == 0) { ((CardAppearanceBehaviour)this).Card.RenderInfo.hiddenHealth = true; } } } [HarmonyPatch(typeof(DeckTrialSequencer), "GenerateRewardChoices")] public class TrialChoice_patch { [HarmonyPostfix] public static void Postfix(ref List<CardInfo> __result, int randomSeed) { //IL_0023: Unknown result type (might be due to invalid IL or missing references) //IL_0129: Unknown result type (might be due to invalid IL or missing references) //IL_01f1: Unknown result type (might be due to invalid IL or missing references) List<CardInfo> list = __result; for (int i = 0; i < list.Count; i++) { if (!list[i].HasTrait(NoSacs)) { continue; } List<CardInfo> list2 = CardLoader.RemoveDeckSingletonsIfInDeck(ScriptableObjectLoader<CardInfo>.AllData.FindAll((CardInfo x) => x.metaCategories.Contains((CardMetaCategory)0) && !x.HasTrait(NoSacs) && ((Object)x).name != ((Object)list[0]).name && ((Object)x).name != ((Object)list[1]).name && ((Object)x).name != ((Object)list[2]).name)); list[i] = CardLoader.Clone(list2[SeededRandom.Range(0, list2.Count, randomSeed)]); CardModificationInfo randomAbilityModForCard = CardLoader.GetRandomAbilityModForCard(randomSeed++, list[i], false); if (ProgressionData.NumLearnedAbilities < 3) { if (list[i].HasAbility((Ability)19)) { randomAbilityModForCard.abilities[0] = (Ability)15; } else { randomAbilityModForCard.abilities[0] = (Ability)19; } } else { while (list[i].HasAbility(randomAbilityModForCard.abilities[0])) { randomAbilityModForCard = CardLoader.GetRandomAbilityModForCard(randomSeed++, list[i], false); } } list[i].Mods.Add(randomAbilityModForCard); CardModificationInfo randomAbilityModForCard2 = CardLoader.GetRandomAbilityModForCard(randomSeed++, list[i], false); if (ProgressionData.NumLearnedAbilities < 3) { if (list[i].HasAbility((Ability)19)) { randomAbilityModForCard2.abilities[0] = (Ability)15; } else { randomAbilityModForCard2.abilities[0] = (Ability)19; } } else { while (list[i].HasAbility(randomAbilityModForCard2.abilities[0])) { randomAbilityModForCard2 = CardLoader.GetRandomAbilityModForCard(randomSeed++, list[i], false); } } list[i].Mods.Add(randomAbilityModForCard2); } __result = list; } } [HarmonyPatch(typeof(GainConsumablesSequencer), "FullConsumablesSequence")] public class Rat_patch { [HarmonyPrefix] public static void Prefix(ref GainConsumablesSequencer __instance) { CardInfo cardByName = CardLoader.GetCardByName("zep_pvz_magnetshroom"); __instance.fullConsumablesReward = cardByName; } } [HarmonyPatch(typeof(PackMule), "GenerateCardPack")] public class Mule_patch { [HarmonyPostfix] public static void Postfix(ref List<CardInfo> __result) { List<CardInfo> list = __result; int currentRandomSeed = SaveManager.SaveFile.GetCurrentRandomSeed(); while (list.Count <= 5) { list.Add(GetRandomChoosableCardWithSunCost(currentRandomSeed++)); } __result = list; } } [HarmonyPatch(typeof(CardMergeSequencer), "GetValidCardsForHost")] public class SacStoneHost_patch { [HarmonyPostfix] public static void Postfix(ref List<CardInfo> __result) { List<CardInfo> list = __result; list.RemoveAll((CardInfo x) => x.traits.Contains(NoSacs) || x.Abilities.Contains(AddStats.ability) || x.Abilities.Contains(Spicy.ability) || x.Abilities.Contains(Sweet.ability)); __result = list; } } [HarmonyPatch(typeof(CardMergeSequencer), "GetValidCardsForSacrifice")] public class SacStoneSacrifice_patch { [HarmonyPostfix] public static void Postfix(ref List<CardInfo> __result) { List<CardInfo> list = __result; list.RemoveAll((CardInfo x) => x.traits.Contains(NoSacs) || x.Abilities.Contains(AddStats.ability) || x.Abilities.Contains(Spicy.ability) || x.Abilities.Contains(Sweet.ability)); __result = list; } } [HarmonyPatch(typeof(CardStatBoostSequencer), "GetValidCards")] public class CampfireBoost_patch { [HarmonyPostfix] public static void Postfix(ref List<CardInfo> __result) { List<CardInfo> list = __result; list.RemoveAll((CardInfo x) => x.traits.Contains(NoSacs) || x.Abilities.Contains(AddStats.ability) || x.Abilities.Contains(Spicy.ability) || x.Abilities.Contains(Sweet.ability)); __result = list; } } public const string PluginGuid = "zepht.inscryption.ZephtPvZ"; private const string PluginName = "PvZbyZepht"; private const string PluginVersion = "0.7.0"; public static Tribe PlantShroom; public static Tribe PlantFruit; public static Tribe PlantVeg; public static Tribe PlantFlower; public static Tribe PlantSpiky; public static readonly SpecialTriggeredAbility EvolveSprout = SpecialTriggeredAbilityManager.Add("zepht.inscryption.ZephtPvZ", "Sprout Evolve", typeof(EvolveSprout)).Id; public static readonly SpecialTriggeredAbility InheritIce = SpecialTriggeredAbilityManager.Add("zepht.inscryption.ZephtPvZ", "Inherit Ice", typeof(InfoStoreIce)).Id; public static readonly Appearance InstantCardApp = CardAppearanceBehaviourManager.Add("zepht.inscryption.ZephtPvZ", "InstantCardApp", typeof(InstantCardBackground)).Id; public static readonly CardMetaCategory SIDE_DECK_CATEGORY = GuidManager.GetEnumValue<CardMetaCategory>("zorro.inscryption.infiniscryption.sidedecks", "SideDeck"); public static Trait NoSacs = (Trait)7802; internal static ManualLogSource Log; public static Random rng = new Random(); public static int hardheadHealth = 0; public static Assembly _assembly; public static GameObject Particle; public static Assembly CurrentAssembly => _assembly ?? (_assembly = Assembly.GetExecutingAssembly()); private void Awake() { //IL_0031: Unknown result type (might be due to invalid IL or missing references) //IL_0037: Expected O, but got Unknown Log = ((BaseUnityPlugin)this).Logger; Log.LogInfo((object)"Loaded PvZbyZepht!"); Log.LogInfo((object)"Inside Awake"); Harmony val = new Harmony("zepht.inscryption.ZephtPvZ"); val.PatchAll(); Log.LogInfo((object)"DonePatch"); AddTribes(); Log.LogInfo((object)"DoneTribes"); AddSigils(); Log.LogInfo((object)"DoneSigils"); AddCards(); Log.LogInfo((object)"DoneCards"); AddStarters(); Log.LogInfo((object)"DoneStarters"); AddChallenges(); Log.LogInfo((object)"DoneChallenges"); } private void AddChallenges() { } private void AddTribes() { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_0029: Unknown result type (might be due to invalid IL or missing references) //IL_0051: Unknown result type (might be due to invalid IL or missing references) //IL_0056: Unknown result type (might be due to invalid IL or missing references) //IL_007e: Unknown result type (might be due to invalid IL or missing references) //IL_0083: Unknown result type (might be due to invalid IL or missing references) //IL_00ab: Unknown result type (might be due to invalid IL or missing references) //IL_00b0: Unknown result type (might be due to invalid IL or missing references) //IL_00d8: Unknown result type (might be due to invalid IL or missing references) //IL_00dd: Unknown result type (might be due to invalid IL or missing references) string text = "PlantFruit"; PlantFruit = TribeManager.Add("zepht.inscryption.ZephtPvZ", text, findTexture(text), true, findTexture(text + "Pick")); text = "PlantVeg"; PlantVeg = TribeManager.Add("zepht.inscryption.ZephtPvZ", text, findTexture(text), true, findTexture(text + "Pick")); text = "PlantFlower"; PlantFlower = TribeManager.Add("zepht.inscryption.ZephtPvZ", text, findTexture(text), true, findTexture(text + "Pick")); text = "PlantShroom"; PlantShroom = TribeManager.Add("zepht.inscryption.ZephtPvZ", text, findTexture(text), true, findTexture(text + "Pick")); text = "PlantSpiky"; PlantSpiky = TribeManager.Add("zepht.inscryption.ZephtPvZ", text, findTexture(text), true, findTexture(text + "Pick")); } private void AddCards() { //IL_005b: Unknown result type (might be due to invalid IL or missing references) //IL_0061: Expected I4, but got Unknown //IL_006b: Unknown result type (might be due to invalid IL or missing references) //IL_0071: Expected I4, but got Unknown //IL_00a6: Unknown result type (might be due to invalid IL or missing references) //IL_00ac: Expected I4, but got Unknown //IL_020c: Unknown result type (might be due to invalid IL or missing references) //IL_0212: Expected I4, but got Unknown //IL_034f: Unknown result type (might be due to invalid IL or missing references) //IL_0355: Expected I4, but got Unknown //IL_0490: Unknown result type (might be due to invalid IL or missing references) //IL_0496: Expected I4, but got Unknown //IL_05cf: Unknown result type (might be due to invalid IL or missing references) //IL_05d5: Expected I4, but got Unknown //IL_0713: Unknown result type (might be due to invalid IL or missing references) //IL_0719: Expected I4, but got Unknown //IL_0851: Unknown result type (might be due to invalid IL or missing references) //IL_0857: Expected I4, but got Unknown //IL_0990: Unknown result type (might be due to invalid IL or missing references) //IL_0996: Expected I4, but got Unknown //IL_0abc: Unknown result type (might be due to invalid IL or missing references) //IL_0ac2: Expected I4, but got Unknown //IL_0ad4: Unknown result type (might be due to invalid IL or missing references) //IL_0ada: Expected I4, but got Unknown //IL_0c0e: Unknown result type (might be due to invalid IL or missing references) //IL_0c14: Expected I4, but got Unknown //IL_0d48: Unknown result type (might be due to invalid IL or missing references) //IL_0d4e: Expected I4, but got Unknown //IL_0e82: Unknown result type (might be due to invalid IL or missing references) //IL_0e88: Expected I4, but got Unknown //IL_0fdd: Unknown result type (might be due to invalid IL or missing references) //IL_0fe3: Expected I4, but got Unknown //IL_1125: Unknown result type (might be due to invalid IL or missing references) //IL_112b: Expected I4, but got Unknown //IL_1261: Unknown result type (might be due to invalid IL or missing references) //IL_1267: Expected I4, but got Unknown //IL_13a3: Unknown result type (might be due to invalid IL or missing references) //IL_13a9: Expected I4, but got Unknown //IL_14db: Unknown result type (might be due to invalid IL or missing references) //IL_14e1: Expected I4, but got Unknown //IL_14f3: Unknown result type (might be due to invalid IL or missing references) //IL_14f9: Expected I4, but got Unknown //IL_154b: Unknown result type (might be due to invalid IL or missing references) //IL_1551: Expected I4, but got Unknown //IL_155e: Unknown result type (might be due to invalid IL or missing references) //IL_1563: Unknown result type (might be due to invalid IL or missing references) //IL_1685: Unknown result type (might be due to invalid IL or missing references) //IL_168b: Expected I4, but got Unknown //IL_16d6: Unknown result type (might be due to invalid IL or missing references) //IL_16dc: Expected I4, but got Unknown //IL_16e9: Unknown result type (might be due to invalid IL or missing references) //IL_16ee: Unknown result type (might be due to invalid IL or missing references) //IL_17d8: Unknown result type (might be due to invalid IL or missing references) //IL_17de: Expected I4, but got Unknown //IL_17f0: Unknown result type (might be due to invalid IL or missing references) //IL_17f6: Expected I4, but got Unknown //IL_1844: Unknown result type (might be due to invalid IL or missing references) //IL_184a: Expected I4, but got Unknown //IL_1857: Unknown result type (might be due to invalid IL or missing references) //IL_185c: Unknown result type (might be due to invalid IL or missing references) //IL_1969: Unknown result type (might be due to invalid IL or missing references) //IL_196f: Expected I4, but got Unknown //IL_1981: Unknown result type (might be due to invalid IL or missing references) //IL_1987: Expected I4, but got Unknown //IL_19d5: Unknown result type (might be due to invalid IL or missing references) //IL_19db: Expected I4, but got Unknown //IL_19e8: Unknown result type (might be due to invalid IL or missing references) //IL_19ed: Unknown result type (might be due to invalid IL or missing references) //IL_1afa: Unknown result type (might be due to invalid IL or missing references) //IL_1b00: Expected I4, but got Unknown //IL_1b12: Unknown result type (might be due to invalid IL or missing references) //IL_1b18: Expected I4, but got Unknown //IL_1b66: Unknown result type (might be due to invalid IL or missing references) //IL_1b6c: Expected I4, but got Unknown //IL_1b79: Unknown result type (might be due to invalid IL or missing references) //IL_1b7e: Unknown result type (might be due to invalid IL or missing references) //IL_1c68: Unknown result type (might be due to invalid IL or missing references) //IL_1c6e: Expected I4, but got Unknown //IL_1c85: Unknown result type (might be due to invalid IL or missing references) //IL_1c8b: Expected I4, but got Unknown //IL_1e0e: Unknown result type (might be due to invalid IL or missing references) //IL_1e14: Expected I4, but got Unknown //IL_1e26: Unknown result type (might be due to invalid IL or missing references) //IL_1e2c: Expected I4, but got Unknown //IL_1faa: Unknown result type (might be due to invalid IL or missing references) //IL_1fb0: Expected I4, but got Unknown //IL_1fc6: Unknown result type (might be due to invalid IL or missing references) //IL_1fcc: Expected I4, but got Unknown //IL_214e: Unknown result type (might be due to invalid IL or missing references) //IL_2154: Expected I4, but got Unknown //IL_216a: Unknown result type (might be due to invalid IL or missing references) //IL_2170: Expected I4, but got Unknown //IL_22af: Unknown result type (might be due to invalid IL or missing references) //IL_22b5: Expected I4, but got Unknown //IL_22c7: Unknown result type (might be due to invalid IL or missing references) //IL_22cd: Expected I4, but got Unknown //IL_240c: Unknown result type (might be due to invalid IL or missing references) //IL_2412: Expected I4, but got Unknown //IL_2424: Unknown result type (might be due to invalid IL or missing references) //IL_242a: Expected I4, but got Unknown //IL_2562: Unknown result type (might be due to invalid IL or missing references) //IL_2568: Expected I4, but got Unknown //IL_256a: Unknown result type (might be due to invalid IL or missing references) //IL_2570: Expected I4, but got Unknown //IL_258a: Unknown result type (might be due to invalid IL or missing references) //IL_2590: Expected I4, but got Unknown //IL_279f: Unknown result type (might be due to invalid IL or missing references) //IL_27a5: Expected I4, but got Unknown //IL_2991: Unknown result type (might be due to invalid IL or missing references) //IL_2997: Expected I4, but got Unknown //IL_2b54: Unknown result type (might be due to invalid IL or missing references) //IL_2b5a: Expected I4, but got Unknown //IL_2d13: Unknown result type (might be due to invalid IL or missing references) //IL_2d19: Expected I4, but got Unknown //IL_2ed2: Unknown result type (might be due to invalid IL or missing references) //IL_2ed8: Expected I4, but got Unknown //IL_2f3e: Unknown result type (might be due to invalid IL or missing references) //IL_2f44: Expected I4, but got Unknown //IL_30a1: Unknown result type (might be due to invalid IL or missing references) //IL_30a7: Expected I4, but got Unknown //IL_3242: Unknown result type (might be due to invalid IL or missing references) //IL_3248: Expected I4, but got Unknown //IL_3262: Unknown result type (might be due to invalid IL or missing references) //IL_3268: Expected I4, but got Unknown //IL_342f: Unknown result type (might be due to invalid IL or missing references) //IL_3435: Expected I4, but got Unknown //IL_3443: Unknown result type (might be due to invalid IL or missing references) //IL_3449: Expected I4, but got Unknown //IL_3457: Unknown result type (might be due to invalid IL or missing references) //IL_345d: Expected I4, but got Unknown //IL_35f6: Unknown result type (might be due to invalid IL or missing references) //IL_35fc: Expected I4, but got Unknown //IL_360a: Unknown result type (might be due to invalid IL or missing references) //IL_3610: Expected I4, but got Unknown //IL_361e: Unknown result type (might be due to invalid IL or missing references) //IL_3624: Expected I4, but got Unknown //IL_37bd: Unknown result type (might be due to invalid IL or missing references) //IL_37c3: Expected I4, but got Unknown //IL_37d6: Unknown result type (might be due to invalid IL or missing references) //IL_37dc: Expected I4, but got Unknown //IL_37ea: Unknown result type (might be due to invalid IL or missing references) //IL_37f0: Expected I4, but got Unknown //IL_39a5: Unknown result type (might be due to invalid IL or missing references) //IL_39ab: Expected I4, but got Unknown //IL_3b4c: Unknown result type (might be due to invalid IL or missing references) //IL_3b52: Expected I4, but got Unknown //IL_3b6c: Unknown result type (might be due to invalid IL or missing references) //IL_3b72: Expected I4, but got Unknown //IL_3d0b: Unknown result type (might be due to invalid IL or missing references) //IL_3d11: Expected I4, but got Unknown //IL_3d30: Unknown result type (might be due to invalid IL or missing references) //IL_3d36: Expected I4, but got Unknown //IL_3ed2: Unknown result type (might be due to invalid IL or missing references) //IL_3ed8: Expected I4, but got Unknown //IL_3eda: Unknown result type (might be due to invalid IL or missing references) //IL_3ee0: Expected I4, but got Unknown //IL_3eee: Unknown result type (might be due to invalid IL or missing references) //IL_3ef4: Expected I4, but got Unknown //IL_3f02: Unknown result type (might be due to invalid IL or missing references) //IL_3f08: Expected I4, but got Unknown //IL_40a1: Unknown result type (might be due to invalid IL or missing references) //IL_40a7: Expected I4, but got Unknown //IL_40ba: Unknown result type (might be due to invalid IL or missing references) //IL_40c0: Expected I4, but got Unknown //IL_40ce: Unknown result type (might be due to invalid IL or missing references) //IL_40d4: Expected I4, but got Unknown //IL_426d: Unknown result type (might be due to invalid IL or missing references) //IL_4273: Expected I4, but got Unknown //IL_4286: Unknown result type (might be due to invalid IL or missing references) //IL_428c: Expected I4, but got Unknown //IL_429a: Unknown result type (might be due to invalid IL or missing references) //IL_42a0: Expected I4, but got Unknown //IL_4439: Unknown result type (might be due to invalid IL or missing references) //IL_443f: Expected I4, but got Unknown //IL_4451: Unknown result type (might be due to invalid IL or missing references) //IL_4457: Expected I4, but got Unknown //IL_4465: Unknown result type (might be due to invalid IL or missing references) //IL_446b: Expected I4, but got Unknown //IL_4620: Unknown result type (might be due to invalid IL or missing references) //IL_4626: Expected I4, but got Unknown //IL_4628: Unknown result type (might be due to invalid IL or missing references) //IL_462e: Expected I4, but got Unknown //IL_4630: Unknown result type (might be due to invalid IL or missing references) //IL_4636: Expected I4, but got Unknown //IL_4638: Unknown result type (might be due to invalid IL or missing references) //IL_463e: Expected I4, but got Unknown //IL_4640: Unknown result type (might be due to invalid IL or missing references) //IL_4646: Expected I4, but got Unknown //IL_46af: Unknown result type (might be due to invalid IL or missing references) //IL_46b5: Expected I4, but got Unknown //IL_49f1: Unknown result type (might be due to invalid IL or missing references) //IL_49f7: Expected I4, but got Unknown //IL_4bca: Unknown result type (might be due to invalid IL or missing references) //IL_4bd0: Expected I4, but got Unknown //IL_4bd2: Unknown result type (might be due to invalid IL or missing references) //IL_4bd8: Expected I4, but got Unknown //IL_4deb: Unknown result type (might be due to invalid IL or missing references) //IL_4df1: Expected I4, but got Unknown //IL_551c: Unknown result type (might be due to invalid IL or missing references) //IL_5522: Expected I4, but got Unknown //IL_57d2: Unknown result type (might be due to invalid IL or missing references) //IL_57d8: Expected I4, but got Unknown //IL_5929: Unknown result type (might be due to invalid IL or missing references) //IL_592f: Expected I4, but got Unknown //IL_5bc7: Unknown result type (might be due to invalid IL or missing references) //IL_5bcd: Expected I4, but got Unknown CardMetaCategory[] array = (CardMetaCategory[])(object)new CardMetaCategory[2] { default(CardMetaCategory), (CardMetaCategory)1 }; CardMetaCategory[] array2 = (CardMetaCategory[])(object)new CardMetaCategory[1]; CardMetaCategory[] array3 = (CardMetaCategory[])(object)new CardMetaCategory[1] { (CardMetaCategory)3 }; CardMetaCategory[] array4 = (CardMetaCategory[])(object)new CardMetaCategory[0]; Appearance[] array5 = (Appearance[])(object)new Appearance[2] { (Appearance)2, (Appearance)9 }; Appearance[] array6 = (Appearance[])(object)new Appearance[1] { (Appearance)13 }; Appearance[] array7 = (Appearance[])(object)new Appearance[1] { (Appearance)7 }; Appearance[] array8 = (Appearance[])(object)new Appearance[2] { (Appearance)6, (Appearance)(int)InstantCardApp }; Appearance[] array9 = (Appearance[])(object)new Appearance[1] { (Appearance)(int)InstantCardApp }; Texture2D val = findTexture("ZA"); string text = "zep_pvz"; string text2 = "Peashooter"; Ability[] array10 = (Ability[])(object)new Ability[0]; Trait[] array11 = (Trait[])(object)new Trait[0]; Tribe[] array12 = (Tribe[])(object)new Tribe[1] { (Tribe)(int)PlantFruit }; string text3 = "repeater"; string text4 = "leaflitter"; int num = 2; CardInfo val2 = CardManager.New(text, "peashooter", "Peashooter", 1, 2, "A plant commonly used to fend off the undead"); CardExtensions.AddAppearances(val2, Array.Empty<Appearance>()); CardExtensions.AddMetaCategories(val2, array); CardExtensions.SetExtendedProperty(val2, "SunCost", (object)num); CardExtensions.SetPortrait(val2, findTexture(text2), (FilterMode?)null); CardExtensions.SetEmissivePortrait(val2, findTexture(text2 + "2"), (FilterMode?)null); CardExtensions.SetPixelPortrait(val2, findTexture(text2 + "3"), (FilterMode?)null); CardExtensions.AddDecal(val2, (Texture[])(object)new Texture[1] { (Texture)val }); CardExtensions.AddAbilities(val2, array10); CardExtensions.AddTraits(val2, array11); if (text3 != null) { CardExtensions.SetEvolve(val2, text + "_" + text3, 1, (IEnumerable<CardModificationInfo>)null); } CardExtensions.SetTail(val2, text + "_" + text4, (IEnumerable<CardModificationInfo>)null); CardExtensions.SetIceCube(val2, text + "_" + text4, (IEnumerable<CardModificationInfo>)null); CardExtensions.AddTribes(val2, array12); string text5 = "Repeater"; Ability[] array13 = (Ability[])(object)new Ability[1] { (Ability)100 }; Trait[] array14 = (Trait[])(object)new Trait[0]; Tribe[] array15 = (Tribe[])(object)new Tribe[1] { (Tribe)(int)PlantFruit }; string text6 = "threepeater"; string text7 = "leaflitter"; int num2 = 4; CardInfo val3 = CardManager.New(text, "repeater", "Repeater", 1, 2, "A more powerful version of the iconic peashooter"); CardExtensions.AddAppearances(val3, Array.Empty<Appearance>()); CardExtensions.AddMetaCategories(val3, array); CardExtensions.SetExtendedProperty(val3, "SunCost", (object)num2); CardExtensions.SetPortrait(val3, findTexture(text5), (FilterMode?)null); CardExtensions.SetEmissivePortrait(val3, findTexture(text5 + "2"), (FilterMode?)null); CardExtensions.AddDecal(val3, (Texture[])(object)new Texture[1] { (Texture)val }); CardExtensions.AddAbilities(val3, array13); CardExtensions.AddTraits(val3, array14); if (text6 != null) { CardExtensions.SetEvolve(val3, text + "_" + text6, 1, (IEnumerable<CardModificationInfo>)null); } CardExtensions.SetTail(val3, text + "_" + text7, (IEnumerable<CardModificationInfo>)null); CardExtensions.SetIceCube(val3, text + "_" + text7, (IEnumerable<CardModificationInfo>)null); CardExtensions.AddTribes(val3, array15); string text8 = "Threepeater"; Ability[] array16 = (Ability[])(object)new Ability[1] { (Ability)25 }; Trait[] array17 = (Trait[])(object)new Trait[0]; Tribe[] array18 = (Tribe[])(object)new Tribe[1] { (Tribe)(int)PlantFruit }; string text9 = null; string text10 = "leaflitter"; int num3 = 5; CardInfo val4 = CardManager.New(text, "threepeater", "Threepeater", 1, 3, "they say 3 heads are better than one"); CardExtensions.AddAppearances(val4, array7); CardExtensions.AddMetaCategories(val4, array3); CardExtensions.SetExtendedProperty(val4, "SunCost", (object)num3); CardExtensions.SetPortrait(val4, findTexture(text8), (FilterMode?)null); CardExtensions.SetEmissivePortrait(val4, findTexture(text8 + "2"), (FilterMode?)null); CardExtensions.AddDecal(val4, (Texture[])(object)new Texture[1] { (Texture)val }); CardExtensions.AddAbilities(val4, array16); CardExtensions.AddTraits(val4, array17); if (text9 != null) { CardExtensions.SetEvolve(val4, text + "_" + text9, 1, (IEnumerable<CardModificationInfo>)null); } CardExtensions.SetTail(val4, text + "_" + text10, (IEnumerable<CardModificationInfo>)null); CardExtensions.SetIceCube(val4, text + "_" + text10, (IEnumerable<CardModificationInfo>)null); CardExtensions.AddTribes(val4, array18); string text11 = "Cactus"; Ability[] array19 = (Ability[])(object)new Ability[2] { (Ability)15, (Ability)23 }; Trait[] array20 = (Trait[])(object)new Trait[0]; Tribe[] array21 = (Tribe[])(object)new Tribe[1] { (Tribe)(int)PlantSpiky }; string text12 = null; string text13 = "splinters"; int num4 = 5; CardInfo val5 = CardManager.New(text, "cactus", "Cactus", 2, 2, "Try not to prick yourself on it"); CardExtensions.AddAppearances(val5, Array.Empty<Appearance>()); CardExtensions.AddMetaCategories(val5, array); CardExtensions.SetExtendedProperty(val5, "SunCost", (object)num4); CardExtensions.SetPortrait(val5, findTexture(text11), (FilterMode?)null); CardExtensions.SetEmissivePortrait(val5, findTexture(text11 + "2"), (FilterMode?)null); CardExtensions.AddDecal(val5, (Texture[])(object)new Texture[1] { (Texture)val }); CardExtensions.AddAbilities(val5, array19); CardExtensions.AddTraits(val5, array20); if (text12 != null) { CardExtensions.SetEvolve(val5, text + "_" + text12, 1, (IEnumerable<CardModificationInfo>)null); } CardExtensions.SetTail(val5, text + "_" + text13, (IEnumerable<CardModificationInfo>)null); CardExtensions.SetIceCube(val5, text + "_" + text13, (IEnumerable<CardModificationInfo>)null); CardExtensions.AddTribes(val5, array21); string text14 = "Thistle"; Ability[] array22 = (Ability[])(object)new Ability[1] { (Ability)53 }; Trait[] array23 = (Trait[])(object)new Trait[0]; Tribe[] array24 = (Tribe[])(object)new Tribe[1] { (Tribe)(int)PlantSpiky }; string text15 = null; string text16 = "splinters"; int num5 = 6; CardInfo val6 = CardManager.New(text, "thistle", "Homing Thistle", 3, 2, "This one tracks down its target with ease"); CardExtensions.AddAppearances(val6, Array.Empty<Appearance>()); CardExtensions.AddMetaCategories(val6, array); CardExtensions.SetExtendedProperty(val6, "SunCost", (object)num5); CardExtensions.SetPortrait(val6, findTexture(text14), (FilterMode?)null); CardExtensions.SetEmissivePortrait(val6, findTexture(text14 + "2"), (FilterMode?)null); CardExtensions.AddDecal(val6, (Texture[])(object)new Texture[1] { (Texture)val }); CardExtensions.AddAbilities(val6, array22); CardExtensions.AddTraits(val6, array23); if (text15 != null) { CardExtensions.SetEvolve(val6, text + "_" + text15, 1, (IEnumerable<CardModificationInfo>)null); } CardExtensions.SetTail(val6, text + "_" + text16, (IEnumerable<CardModificationInfo>)null); CardExtensions.SetIceCube(val6, text + "_" + text16, (IEnumerable<CardModificationInfo>)null); CardExtensions.AddTribes(val6, array24); string text17 = "Cattail"; Ability[] array25 = (Ability[])(object)new Ability[2] { (Ability)53, (Ability)13 }; Trait[] array26 = (Trait[])(object)new Trait[0]; Tribe[] array27 = (Tribe[])(object)new Tribe[1] { (Tribe)(int)PlantSpiky }; string text18 = null; string text19 = "leaflitter"; int num6 = 3; CardInfo val7 = CardManager.New(text, "cattail", "Cattail", 1, 1, "Nyah~"); CardExtensions.AddAppearances(val7, Array.Empty<Appearance>()); CardExtensions.AddMetaCategories(val7, array); CardExtensions.SetExtendedProperty(val7, "SunCost", (object)num6); CardExtensions.SetPortrait(val7, findTexture(text17), (FilterMode?)null); CardExtensions.SetEmissivePortrait(val7, findTexture(text17 + "2"), (FilterMode?)null); CardExtensions.AddDecal(val7, (Texture[])(object)new Texture[1] { (Texture)val }); CardExtensions.AddAbilities(val7, array25); CardExtensions.AddTraits(val7, array26); if (text18 != null) { CardExtensions.SetEvolve(val7, text + "_" + text18, 1, (IEnumerable<CardModificationInfo>)null); } CardExtensions.SetTail(val7, text + "_" + text19, (IEnumerable<CardModificationInfo>)null); CardExtensions.SetIceCube(val7, text + "_" + text19, (IEnumerable<CardModificationInfo>)null); CardExtensions.AddTribes(val7, array27); string text20 = "Chomper"; Ability[] array28 = (Ability[])(object)new Ability[1] { (Ability)4 }; Trait[] array29 = (Trait[])(object)new Trait[0]; Tribe[] array30 = (Tribe[])(object)new Tribe[1] { (Tribe)(int)PlantSpiky }; string text21 = null; string text22 = "leaflitter"; int num7 = 4; CardInfo val8 = CardManager.New(text, "chomper", "Chomper", 2, 1, "No bark and all bite"); CardExtensions.AddAppearances(val8, Array.Empty<Appearance>()); CardExtensions.AddMetaCategories(val8, array); CardExtensions.SetExtendedProperty(val8, "SunCost", (object)num7); CardExtensions.SetPortrait(val8, findTexture(text20), (FilterMode?)null); CardExtensions.SetEmissivePortrait(val8, findTexture(text20 + "2"), (FilterMode?)null); CardExtensions.AddDecal(val8, (Texture[])(object)new Texture[1] { (Texture)val }); CardExtensions.AddAbilities(val8, array28); CardExtensions.AddTraits(val8, array29); if (text21 != null) { CardExtensions.SetEvolve(val8, text + "_" + text21, 1, (IEnumerable<CardModificationInfo>)null); } CardExtensions.SetTail(val8, text + "_" + text22, (IEnumerable<CardModificationInfo>)null); CardExtensions.SetIceCube(val8, text + "_" + text22, (IEnumerable<CardModificationInfo>)null); CardExtensions.AddTribes(val8, array30); string text23 = "Starfruit"; Ability[] array31 = (Ability[])(object)new Ability[1] { (Ability)33 }; Trait[] array32 = (Trait[])(object)new Trait[0]; Tribe[] array33 = (Tribe[])(object)new Tribe[1] { (Tribe)(int)PlantFruit }; string text24 = null; string text25 = "leaflitter"; int num8 = 3; CardInfo val9 = CardManager.New(text, "starfruit", "Starfruit", 1, 1, "Surprisingly not a ball of fire"); CardExtensions.AddAppearances(val9, array7); CardExtensions.AddMetaCategories(val9, array3); CardExtensions.SetExtendedProperty(val9, "SunCost", (object)num8); CardExtensions.SetPortrait(val9, findTexture(text23), (FilterMode?)null); CardExtensions.SetEmissivePortrait(val9, findTexture(text23 + "2"), (FilterMode?)null); CardExtensions.AddDecal(val9, (Texture[])(object)new Texture[1] { (Texture)val }); CardExtensions.AddAbilities(val9, array31); CardExtensions.AddTraits(val9, array32); if (text24 != null) { CardExtensions.SetEvolve(val9, text + "_" + text24, 1, (IEnumerable<CardModificationInfo>)null); } CardExtensions.SetTail(val9, text + "_" + text25, (IEnumerable<CardModificationInfo>)null); CardExtensions.SetIceCube(val9, text + "_" + text25, (IEnumerable<CardModificationInfo>)null); CardExtensions.AddTribes(val9, array33); string text26 = "Bloomerang"; Ability[] array34 = (Ability[])(object)new Ability[2] { (Ability)100, (Ability)(int)Pierce.ability }; Trait[] array35 = (Trait[])(object)new Trait[0]; Tribe[] array36 = (Tribe[])(object)new Tribe[1] { (Tribe)(int)PlantFlower }; string text27 = null; string text28 = "splinters"; int num9 = 5; CardInfo val10 = CardManager.New(text, "bloomerang", "Bloomerang", 2, 2, "Don't be deceived, it won't just return if you throw it away"); CardExtensions.AddAppearances(val10, Array.Empty<Appearance>()); CardExtensions.AddMetaCategories(val10, array); CardExtensions.SetExtendedProperty(val10, "SunCost", (object)num9); CardExtensions.SetPortrait(val10, findTexture(text26), (FilterMode?)null); CardExtensions.SetEmissivePortrait(val10, findTexture(text26 + "2"), (FilterMode?)null); CardExtensions.AddDecal(val10, (Texture[])(object)new Texture[1] { (Texture)val }); CardExtensions.AddAbilities(val10, array34); CardExtensions.AddTraits(val10, array35); if (text27 != null) { CardExtensions.SetEvolve(val10, text + "_" + text27, 1, (IEnumerable<CardModificationInfo>)null); } CardExtensions.SetTail(val10, text + "_" + text28, (IEnumerable<CardModificationInfo>)null); CardExtensions.SetIceCube(val10, text + "_" + text28, (IEnumerable<CardModificationInfo>)null); CardExtensions.AddTribes(val10, array36); string text29 = "BonkChoy"; Ability[] array37 = (Ability[])(object)new Ability[0]; Trait[] array38 = (Trait[])(object)new Trait[0]; Tribe[] array39 = (Tribe[])(object)new Tribe[1] { (Tribe)(int)PlantVeg }; string text30 = null; string text31 = "leaflitter"; int num10 = 4; CardInfo val11 = CardManager.New(text, "bonkchoy", "bonk choy", 2, 2, "A feisty one for sure"); CardExtensions.AddAppearances(val11, Array.Empty<Appearance>()); CardExtensions.AddMetaCategories(val11, array); CardExtensions.SetExtendedProperty(val11, "SunCost", (object)num10); CardExtensions.SetPortrait(val11, findTexture(text29), (FilterMode?)null); CardExtensions.SetEmissivePortrait(val11, findTexture(text29 + "2"), (FilterMode?)null); CardExtensions.AddDecal(val11, (Texture[])(object)new Texture[1] { (Texture)val }); CardExtensions.AddAbilities(val11, array37); CardExtensions.AddTraits(val11, array38); if (text30 != null) { CardExtensions.SetEvolve(val11, text + "_" + text30, 1, (IEnumerable<CardModificationInfo>)null); } CardExtensions.SetTail(val11, text + "_" + text31, (IEnumerable<CardModificationInfo>)null); CardExtensions.SetIceCube(val11, text + "_" + text31, (IEnumerable<CardModificationInfo>)null); CardExtensions.AddTribes(val11, array39); string text32 = "Citron"; Ability[] array40 = (Ability[])(object)new Ability[0]; Trait[] array41 = (Trait[])(object)new Trait[0]; Tribe[] array42 = (Tribe[])(object)new Tribe[1] { (Tribe)(int)PlantFruit }; string text33 = null; string text34 = "leaflitter"; int num11 = 5; CardInfo val12 = CardManager.New(text, "citron", "Citron", 3, 2, "If you can afford to play it, it's zest is bound to aid you"); CardExtensions.AddAppearances(val12, Array.Empty<Appearance>()); CardExtensions.AddMetaCategories(val12, array); CardExtensions.SetExtendedProperty(val12, "SunCost", (object)num11); CardExtensions.SetPortrait(val12, findTexture(text32), (FilterMode?)null); CardExtensions.SetEmissivePortrait(val12, findTexture(text32 + "2"), (FilterMode?)null); CardExtensions.AddDecal(val12, (Texture[])(object)new Texture[1] { (Texture)val }); CardExtensions.AddAbilities(val12, array40); CardExtensions.AddTraits(val12, array41); if (text33 != null) { CardExtensions.SetEvolve(val12, text + "_" + text33, 1, (IEnumerable<CardModificationInfo>)null); } CardExtensions.SetTail(val12, text + "_" + text34, (IEnumerable<CardModificationInfo>)null); CardExtensions.SetIceCube(val12, text + "_" + text34, (IEnumerable<CardModificationInfo>)null); CardExtensions.AddTribes(val12, array42); string text35 = "RedStinger"; Ability[] array43 = (Ability[])(object)new Ability[0]; Trait[] array44 = (Trait[])(object)new Trait[0]; Tribe[] array45 = (Tribe[])(object)new Tribe[1] { (Tribe)(int)PlantFlower }; string text36 = null; string text37 = "leaflitter"; int num12 = 5; CardInfo val13 = CardManager.New(text, "redstinger", "Red Stinger", 0, 1, "Position it strategically if you want to use its full potential"); CardExtensions.AddAppearances(val13, Array.Empty<Appearance>()); CardExtensions.AddMetaCategories(val13, array); CardExtensions.SetStatIcon(val13, (SpecialStatIcon)4); CardExtensions.AddSpecialAbilities(val13, (SpecialTriggeredAbility[])(object)new SpecialTriggeredAbility[1] { (SpecialTriggeredAbility)12 }); CardExtensions.SetExtendedProperty(val13, "SunCost", (object)num12); CardExtensions.SetPortrait(val13, findTexture(text35), (FilterMode?)null); CardExtensions.SetEmissivePortrait(val13, findTexture(text35 + "2"), (FilterMode?)null); CardExtensions.AddDecal(val13, (Texture[])(object)new Texture[1] { (Texture)val }); CardExtensions.AddAbilities(val13, array43); CardExtensions.AddTraits(val13, array44); if (text36 != null) { CardExtensions.SetEvolve(val13, text + "_" + text36, 1, (IEnumerable<CardModificationInfo>)null); } CardExtensions.SetTail(val13, text + "_" + text37, (IEnumerable<CardModificationInfo>)null); CardExtensions.SetIceCube(val13, text + "_" + text37, (IEnumerable<CardModificationInfo>)null); CardExtensions.AddTribes(val13, array45); string text38 = "Spikeweed"; Ability[] array46 = (Ability[])(object)new Ability[1] { (Ability)62 }; Trait[] array47 = (Trait[])(object)new Trait[0]; Tribe[] array48 = (Tribe[])(object)new Tribe[1] { (Tribe)(int)PlantSpiky }; string text39 = "spikerock"; string text40 = "splinters"; int num13 = 4; CardInfo val14 = CardManager.New(text, "spikeweed", "Spikeweed", 1, 1, "Will you lay the spikeweed as a trap for those who dare approach it?"); CardExtensions.AddAppearances(val14, Array.Empty<Appearance>()); CardExtensions.AddMetaCategories(val14, array); CardExtensions.SetExtendedProperty(val14, "SunCost", (object)num13); CardExtensions.SetPortrait(val14, findTexture(text38), (FilterMode?)null); CardExtensions.SetEmissivePortrait(val14, findTexture(text38 + "2"), (FilterMode?)null); CardExtensions.AddDecal(val14, (Texture[])(object)new Texture[1] { (Texture)val }); CardExtensions.AddAbilities(val14, array46); CardExtensions.AddTraits(val14, array47); if (text39 != null) { CardExtensions.SetEvolve(val14, text + "_" + text39, 1, (IEnumerable<CardModificationInfo>)null); } CardExtensions.SetTail(val14, text + "_" + text40, (IEnumerable<CardModificationInfo>)null); CardExtensions.SetIceCube(val14, text + "_" + text40, (IEnumerable<CardModificationInfo>)null); CardExtensions.AddTribes(val14, array48); string text41 = "Spikerock"; Ability[] array49 = (Ability[])(object)new Ability[2] { (Ability)62, (Ability)62 }; Trait[] array50 = (Trait[])(object)new Trait[0]; Tribe[] array51 = (Tribe[])(object)new Tribe[1] { (Tribe)(int)PlantSpiky }; string text42 = null; string text43 = "splinters"; int num14 = 5; CardInfo val15 = CardManager.New(text, "spikerock", "Spikerock", 2, 3, "Anybody who attempts to trample it will meet a sharp fate."); CardExtensions.AddAppearances(val15, array7); CardExtensions.AddMetaCategories(val15, array3); CardExtensions.SetExtendedProperty(val15, "SunCost", (object)num14); CardExtensions.SetPortrait(val15, findTexture(text41), (FilterMode?)null); CardExtensions.SetEmissivePortrait(val15, findTexture(text41 + "2"), (FilterMode?)null); CardExtensions.AddDecal(val15, (Texture[])(object)new Texture[1] { (Texture)val }); CardExtensions.AddAbilities(val15, array49); CardExtensions.AddTraits(val15, array50); if (text42 != null) { CardExtensions.SetEvolve(val15, text + "_" + text42, 1, (IEnumerable<CardModificationInfo>)null); } CardExtensions.SetTail(val15, text + "_" + text43, (IEnumerable<CardModificationInfo>)null); CardExtensions.SetIceCube(val15, text + "_" + text43, (IEnumerable<CardModificationInfo>)null); CardExtensions.AddTribes(val15, array51); string text44 = "Artichoke"; Ability[] array52 = (Ability[])(object)new Ability[1] { (Ability)19 }; Trait[] array53 = (Trait[])(object)new Trait[0]; Tribe[] array54 = (Tribe[])(object)new Tribe[1] { (Tribe)(int)PlantVeg }; string text45 = null; string text46 = "leaflitter"; int num15 = 2; CardInfo val16 = CardManager.New(text, "artichoke", "Artichoke", 1, 1, "This drone has seen some warfare"); CardExtensions.AddAppearances(val16, Array.Empty<Appearance>()); CardExtensions.AddMetaCategories(val16, array); CardExtensions.SetExtendedProperty(val16, "SunCost", (object)num15); CardExtensions.SetPortrait(val16, findTexture(text44), (FilterMode?)null); CardExtensions.SetEmissivePortrait(val16, findTexture(text44 + "2"), (FilterMode?)null); CardExtensions.AddDecal(val16, (Texture[])(object)new Texture[1] { (Texture)val }); CardExtensions.AddAbilities(val16, array52); CardExtensions.AddTraits(val16, array53); if (text45 != null) { CardExtensions.SetEvolve(val16, text + "_" + text45, 1, (IEnumerable<CardModificationInfo>)null); } CardExtensions.SetTail(val16, text + "_" + text46, (IEnumerable<CardModificationInfo>)null); CardExtensions.SetIceCube(val16, text + "_" + text46, (IEnumerable<CardModificationInfo>)null); CardExtensions.AddTribes(val16, array54); string text47 = "Beeshooter"; Ability[] array55 = (Ability[])(object)new Ability[1] { (Ability)2 }; Trait[] array56 = (Trait[])(object)new Trait[0]; Tribe[] array57 = (Tribe[])(object)new Tribe[2] { (Tribe)6, (Tribe)(int)PlantFruit }; string text48 = null; string text49 = "leaflitter"; int num16 = 2; CardInfo val17 = CardManager.New(text, "beeshooter", "Beeshooter", 2, 2, "According to all known laws of aviation, there is no way a bee should be able to fly"); CardExtensions.AddAppearances(val17, Array.Empty<Appearance>()); CardExtensions.AddMetaCategories(val17, array); CardExtensions.SetBloodCost(val17, (int?)1); CardExtensions.SetExtendedProperty(val17, "SunCost", (object)num16); CardExtensions.SetPortrait(val17, findTexture(text47), (FilterMode?)null); CardExtensions.SetEmissivePortrait(val17, findTexture(text47 + "2"), (FilterMode?)null); CardExtensions.AddDecal(val17, (Texture[])(object)new Texture[1] { (Texture)val }); CardExtensions.AddAbilities(val17, array55); CardExtensions.AddTraits(val17, array56); if (text48 != null) { CardExtensions.SetEvolve(val17, text + "_" + text48, 1, (IEnumerable<CardModificationInfo>)null); } CardExtensions.SetTail(val17, text + "_" + text49, (IEnumerable<CardModificationInfo>)null); CardExtensions.SetIceCube(val17, text + "_" + text49, (IEnumerable<CardModificationInfo>)null); CardExtensions.AddTribes(val17, array57); string text50 = "Puff"; Ability[] array58 = (Ability[])(object)new Ability[1] { (Ability)(int)FadeAway.ability }; Trait[] array59 = (Trait[])(object)new Trait[0]; Tribe[] array60 = (Tribe[])(object)new Tribe[1] { (Tribe)(int)PlantShroom }; string text51 = "fumeshroom"; string text52 = "shroomchunks"; int num17 = 0; CardInfo val18 = CardManager.New(text, "puffshroom", "Puffshroom", 0, 1, "It might not be very powerful, but it can get you out of a pinch"); CardExtensions.AddAppearances(val18, Array.Empty<Appearance>()); CardExtensions.AddMetaCategories(val18, array); CardExtensions.AddSpecialAbilities(val18, (SpecialTriggeredAbility[])(object)new SpecialTriggeredAbility[1] { (SpecialTriggeredAbility)(int)AttackForShroom.FullSpecial.Id }); val18.specialStatIcon = AttackForShroom.FullStatIcon.Id; CardExtensions.SetExtendedProperty(val18, "SunCost", (object)num17); CardExtensions.SetPortrait(val18, findTexture(text50), (FilterMode?)null); CardExtensions.SetEmissivePortrait(val18, findTexture(text50 + "2"), (FilterMode?)null); CardExtensions.SetPixelPortrait(val18, findTexture(text50 + "3"), (FilterMode?)null); CardExtensions.AddDecal(val18, (Texture[])(object)new Texture[1] { (Texture)val }); CardExtensions.AddAbilities(val18, array58); CardExtensions.AddTraits(val18, array59); if (text51 != null) { CardExtensions.SetEvolve(val18, text + "_" + text51, 1, (IEnumerable<CardModificationInfo>)null); } CardExtensions.SetTail(val18, text + "_" + text52, (IEnumerable<CardModificationInfo>)null); CardExtensions.SetIceCube(val18, text + "_" + text52, (IEnumerable<CardModificationInfo>)null); CardExtensions.AddTribes(val18, array60); string text53 = "SeaShroom"; Ability[] array61 = (Ability[])(object)new Ability[1] { (Ability)13 }; Trait[] array62 = (Trait[])(object)new Trait[0]; Tribe[] array63 = (Tribe[])(object)new Tribe[1] { (Tribe)(int)PlantShroom }; string text54 = null; string text55 = "shroomchunks"; int num18 = 0; CardInfo val19 = CardManager.New(text, "seashroom", "Seashroom", 0, 1, "Just a little mushroom, sitting on the water"); CardExtensions.AddAppearances(val19, array7); CardExtensions.AddMetaCategories(val19, array3); CardExtensions.AddSpecialAbilities(val19, (SpecialTriggeredAbility[])(object)new SpecialTriggeredAbility[1] { (SpecialTriggeredAbility)(int)AttackForShroom.FullSpecial.Id }); val19.specialStatIcon = AttackForShroom.FullStatIcon.Id; CardExtensions.SetExtendedProperty(val19, "SunCost", (object)num18); CardExtensions.SetPortrait(val19, findTexture(text53), (FilterMode?)null); CardExtensions.SetEmissivePortrait(val19, findTexture(text53 + "2"), (FilterMode?)null); CardExtensions.AddDecal(val19, (Texture[])(object)new Texture[1] { (Texture)val }); CardExtensions.AddAbilities(val19, array61); CardExtensions.AddTraits(val19, array62); if (text54 != null) { CardExtensions.SetEvolve(val19, text + "_" + text54, 1, (IEnumerable<CardModificationInfo>)null); } CardExtensions.SetTail(val19, text + "_" + text55, (IEnumerable<CardModificationInfo>)null); CardExtensions.SetIceCube(val19, text + "_" + text55, (IEnumerable<CardModificationInfo>)null); CardExtensions.AddTribes(val19, array63); string text56 = "Scaredy"; Ability[] array64 = (Ability[])(object)new Ability[1] { (Ability)(int)TacticalRetreat.ability }; Trait[] array65 = (Trait[])(object)new Trait[0]; Tribe[] array66 = (Tribe[])(object)new Tribe[1] { (Tribe)(int)PlantShroom }; string text57 = null; string text58 = "shroomchunks"; int num19 = 1; CardInfo val20 = CardManager.New(text, "scaredyshroom", "Scaredyshroom", 0, 1, "Some may consider this one a coward for its tactics"); CardExtensions.AddAppearances(val20, Array.Empty<Appearance>()); CardExtensions.AddMetaCategories(val20, array); CardExtensions.AddSpecialAbilities(val20, (SpecialTriggeredAbility[])(object)new SpecialTriggeredAbility[1] { (SpecialTriggeredAbility)(int)AttackForShroom.FullSpecial.Id }); val20.specialStatIcon = AttackForShroom.FullStatIcon.Id; CardExtensions.SetExtendedProperty(val20, "SunCost", (object)num19); CardExtensions.SetPortrait(val20, findTexture(text56), (FilterMode?)null); CardExtensions.SetEmissivePortrait(val20, findTexture(text56 + "2"), (FilterMode?)null); CardExtensions.SetPixelPortrait(val20, findTexture(text56 + "3"), (FilterMode?)null); CardExtensions.AddDecal(val20, (Texture[])(object)new Texture[1] { (Texture)val }); CardExtensions.AddAbilities(val20, array64); CardExtensions.AddTraits(val20, array65); if (text57 != null) { CardExtensions.SetEvolve(val20, text + "_" + text57, 1, (IEnumerable<CardModificationInfo>)null); } CardExtensions.SetTail(val20, text + "_" + text58, (IEnumerable<CardModificationInfo>)null); CardExtensions.SetIceCube(val20, text + "_" + text58, (IEnumerable<CardModificationInfo>)null); CardExtensions.AddTribes(val20, array66); string text59 = "Fume"; Ability[] array67 = (Ability[])(object)new Ability[1] { (Ability)(int)Pierce.ability }; Trait[] array68 = (Trait[])(object)new Trait[0]; Tribe[] array69 = (Tribe[])(object)new Tribe[1] { (Tribe)(int)PlantShroom }; string text60 = null; string text61 = "shroomchunks"; int num20 = 4; CardInfo val21 = CardManager.New(text, "fumeshroom", "Fumeshroom", 0, 1, "Its fumes can hit many foes"); CardExtensions.AddAppearances(val21, Array.Empty<Appearance>()); CardExtensions.AddMetaCategories(val21, array); CardExtensions.AddSpecialAbilities(val21, (SpecialTriggeredAbility[])(object)new SpecialTriggeredAbility[1] { (SpecialTriggeredAbility)(int)AttackForShroom.FullSpecial.Id }); val21.specialStatIcon = AttackForShroom.FullStatIcon.Id; CardExtensions.SetExtendedProperty(val21, "SunCost", (object)num20); CardExtensions.SetPortrait(val21, findTexture(text59), (FilterMode?)null); CardExtensions.SetEmissivePortrait(val21, findTexture(text59 + "2"), (FilterMode?)null); CardExtensions.SetPixelPortrait(val21, findTexture(text59 + "3"), (FilterMode?)null); CardExtensions.AddDecal(val21, (Texture[])(object)new Texture[1] { (Texture)val }); CardExtensions.AddAbilities(val21, array67); CardExtensions.AddTraits(val21, array68); if (text60 != null) { CardExtensions.SetEvolve(val21, text + "_" + text60, 1, (IEnumerable<CardModificationInfo>)null); } CardExtensions.SetTail(val21, text + "_" + text61, (IEnumerable<CardModificationInfo>)null); CardExtensions.SetIceCube(val21, text + "_" + text61, (IEnumerable<CardModificationInfo>)null); CardExtensions.AddTribes(val21, array69); string text62 = "Spore"; Ability[] array70 = (Ability[])(object)new Ability[1] { (Ability)(int)SporeSpread.ability }; Trait[] array71 = (Trait[])(object)new Trait[0]; Tribe[] array72 = (Tribe[])(object)new Tribe[1] { (Tribe)(int)PlantShroom }; string text63 = null; string text64 = "shroomchunks"; int num21 = 3; CardInfo val22 = CardManager.New(text, "sporeshroom", "Sporeshroom", 0, 1, "Put divide and conquer into practice"); CardExtensions.AddAppearances(val22, Array.Empty<Appearance>()); CardExtensions.AddMetaCategories(val22, array); CardExtensions.AddSpecialAbilities(val22, (SpecialTriggeredAbility[])(object)new SpecialTriggeredAbility[1] { (SpecialTriggeredAbility)(int)AttackForShroom.FullSpecial.Id }); val22.specialStatIcon = AttackForShroom.FullStatIcon.Id; CardExtensions.SetExtendedProperty(val22, "SunCost", (object)num21); CardExtensions.SetPortrait(val22, findTexture(text62), (FilterMode?)null); CardExtensions.SetEmissivePortrait(val22, findTexture(text62 + "2"), (FilterMode?)null); CardExtensions.AddDecal(val22, (Texture[])(object)new Texture[1] { (Texture)val }); CardExtensions.AddAbilities(val22, array70); CardExtensions.AddTraits(val22, array71); if (text63 != null) { CardExtensions.SetEvolve(val22, text + "_" + text63, 1, (IEnumerable<CardModificationInfo>)null); } CardExtensions.SetTail(val22, text + "_" + text64, (IEnumerable<CardModificationInfo>)null); CardExtensions.SetIceCube(val22, text + "_" + text64, (IEnumerable<CardModificationInfo>)null); CardExtensions.AddTribes(val22, array72); string text65 = "Sunflower"; Ability[] array73 = (Ability[])(object)new Ability[1] { (Ability)(int)Sunmaker2.ability }; Trait[] array74 = (Trait[])(object)new Trait[1] { (Trait)20 }; Tribe[] array75 = (Tribe[])(object)new Tribe[2] { (Tribe)(int)PlantFlower, (Tribe)1 }; string text66 = "twinflower"; string text67 = "leaflitter"; int num22 = 1; CardInfo val23 = CardManager.New(text, "sunflower", "Sunflower", 0, 1, "These can power entire infantries"); CardExtensions.AddAppearances(val23, array6); CardExtensions.AddMetaCategories(val23, array); CardExtensions.SetExtendedProperty(val23, "CSDIsSideDeck", (object)"true"); CardExtensions.SetExtendedProperty(val23, "CSDSideDeckType", (object)"Basic"); CardExtensions.SetExtendedProperty(val23, "Sunmaker", (object)2); CardExtensions.SetExtendedProperty(val23, "SunCost", (object)num22); CardExtensions.SetPortrait(val23, findTexture(text65), (FilterMode?)null); CardExtensions.SetEmissivePortrait(val23, findTexture(text65 + "2"), (FilterMode?)null); CardExtensions.SetPixelPortrait(val23, findTexture(text65 + "3"), (FilterMode?)null); CardExtensions.AddDecal(val23, (Texture[])(object)new Texture[1] { (Texture)val }); CardExtensions.AddAbilities(val23, array73); CardExtensions.AddTraits(val23, array74); if (text66 != null) { CardExtensions.SetEvolve(val23, text + "_" + text66, 1, (IEnumerable<CardModificationInfo>)null); } CardExtensions.SetTail(val23, text + "_" + text67, (IEnumerable<CardModificationInfo>)null); CardExtensions.SetIceCube(val23, text + "_" + text67, (IEnumerable<CardModificationInfo>)null); CardExtensions.AddTribes(val23, array75); string text68 = "Twinflower"; Ability[] array76 = (Ability[])(object)new Ability[1] { (Ability)(int)Sunmaker3.ability }; Trait[] array77 = (Trait[])(object)new Trait[0]; Tribe[] array78 = (Tribe[])(object)new Tribe[1] { (Tribe)(int)PlantFlower }; string text69 = null; string text70 = "leaflitter"; int num23 = 2; CardInfo val24 = CardManager.New(text, "twinflower", "Twin Sunflower", 0, 2, "Truly a great powerplant"); CardExtensions.AddAppearances(val24, Array.Empty<Appearance>()); CardExtensions.AddMetaCategories(val24, array); CardExtensions.SetExtendedProperty(val24, "CSDIsSideDeck", (object)"true"); CardExtensions.SetExtendedProperty(val24, "CSDSideDeckType", (object)"Basic"); CardExtensions.SetExtendedProperty(val24, "Sunmaker", (object)3); CardExtensions.SetExtendedProperty(val24, "SunCost", (object)num23); CardExtensions.SetPortrait(val24, findTexture(text68), (FilterMode?)null); CardExtensions.SetEmissivePortrait(val24, findTexture(text68 + "2"), (FilterMode?)null); CardExtensions.SetPixelPortrait(val24, findTexture(text68 + "3"), (FilterMode?)null); CardExtensions.AddDecal(val24, (Texture[])(object)new Texture[1] { (Texture)val }); CardExtensions.AddAbilities(val24, array76); CardExtensions.AddTraits(val24, array77); if (text69 != null) { CardExtensions.SetEvolve(val24, text + "_" + text69, 1, (IEnumerable<CardModificationInfo>)null); } CardExtensions.SetTail(val24, text + "_" + text70, (IEnumerable<CardModificationInfo>)null); CardExtensions.SetIceCube(val24, text + "_" + text70, (IEnumerable<CardModificationInfo>)null); CardExtensions.AddTribes(val24, array78); string text71 = "SunShroomS"; Ability[] array79 = (Ability[])(object)new Ability[2] { (Ability)(int)Sunmaker1.ability, (Ability)5 }; Trait[] array80 = (Trait[])(object)new Trait[0]; Tribe[] array81 = (Tribe[])(object)new Tribe[1] { (Tribe)(int)PlantShroom }; string text72 = "sunshroom2"; string text73 = "shroomchunks"; int num24 = 1; CardInfo val25 = CardManager.New(text, "sunshroom1", "SunShroom", 0, 1, "allow the sunshroom some time to reach its full potential"); CardExtensions.AddAppearances(val25, Array.Empty<Appearance>()); CardExtensions.AddMetaCategories(val25, array); CardExtensions.SetExtendedProperty(val25, "CSDIsSideDeck", (object)"true"); CardExtensions.SetExtendedProperty(val25, "CSDSideDeckType", (object)"Basic"); CardExtensions.SetExtendedProperty(val25, "Sunmaker", (object)1); CardExtensions.SetExtendedProperty(val25, "SunCost", (object)num24); CardExtensions.SetPortrait(val25, findTexture(text71), (FilterMode?)null); CardExtensions.SetEmissivePortrait(val25, findTexture(text71 + "2"), (FilterMode?)null); CardExtensions.SetPixelPortrait(val25, findTexture(text71 + "3"), (FilterMode?)null); CardExtensions.AddDecal(val25, (Texture[])(object)new Texture[1] { (Texture)val }); CardExtensions.AddAbilities(val25, array79); CardExtensions.AddTraits(val25, array80); if (text72 != null) { CardExtensions.SetEvolve(val25, text + "_" + text72, 1, (IEnumerable<CardModificationInfo>)null); } CardExtensions.SetTail(val25, text + "_" + text73, (IEnumerable<CardModificationInfo>)null); CardExtensions.SetIceCube(val25, text + "_" + text73, (IEnumerable<CardModificationInfo>)null); CardExtensions.AddTribes(val25, array81); string text74 = "SunShroomM"; Ability[] array82 = (Ability[])(object)new Ability[2] { (Ability)(int)Sunmaker2.ability, (Ability)5 }; Trait[] array83 = (Trait[])(object)new Trait[0]; Tribe[] array84 = (Tribe[])(object)new Tribe[1] { (Tribe)(int)PlantShroom }; string text75 = "sunshroom3"; string text76 = "shroomchunks"; int num25 = 1; CardInfo val26 = CardManager.New(text, "sunshroom2", "SunShroom", 0, 2, "allow the sunshroom some time to reach its full potential"); CardExtensions.AddAppearances(val26, Array.Empty<Appearance>()); CardExtensions.AddMetaCategories(val26, Array.Empty<CardMetaCategory>()); CardExtensions.SetExtendedProperty(val26, "Sunmaker", (object)2); CardExtensions.SetExtendedProperty(val26, "SunCost", (object)num25); CardExtensions.SetPortrait(val26, findTexture(text74), (FilterMode?)null); CardExtensions.SetEmissivePortrait(val26, findTexture(text74 + "2"), (FilterMode?)null); CardExtensions.AddDecal(val26, (Texture[])(object)new Texture[1] { (Texture)val }); CardExtensions.AddAbilities(val26, array82); CardExtensions.AddTraits(val26, array83); if (text75 != null) { CardExtensions.SetEvolve(val26, text + "_" + text75, 1, (IEnumerable<CardModificationInfo>)null); } CardExtensions.SetTail(val26, text + "_" + text76, (IEnumerable<CardModificationInfo>)null); CardExtensions.SetIceCube(val26, text + "_" + text76, (IEnumerable<CardModificationInfo>)null); CardExtensions.AddTribes(val26, array84); string text77 = "SunShroomL"; Ability[] array85 = (Ability[])(object)new Ability[1] { (Ability)(int)Sunmaker3.ability }; Trait[] array86 = (Trait[])(object)new Trait[0]; Tribe[] array87 = (Tribe[])(object)new Tribe[1] { (Tribe)(int)PlantShroom }; string text78 = null; string text79 = "shroomchunks"; int num26 = 1; CardInfo val27 = CardManager.New(text, "sunshroom3", "SunShroom", 0, 3, "allow the sunshroom some time to reach its full potential"); CardExtensions.AddAppearances(val27, Array.Empty<Appearance>()); CardExtensions.AddMetaCategories(val27, Array.Empty<CardMetaCategory>()); CardExtensions.SetExtendedProperty(val27, "Sunmaker", (object)3); CardExtensions.SetExtendedProperty(val27, "SunCost", (object)num26); CardExtensions.SetPortrait(val27, findTexture(text77), (FilterMode?)null); CardExtensions.SetEmissivePortrait(val27, findTexture(text77 + "2"), (FilterMode?)null); CardExtensions.AddDecal(val27, (Texture[])(object)new Texture[1] { (Texture)val }); CardExtensions.AddAbilities(val27, array85); CardExtensions.AddTraits(val27, array86); if (text78 != null) { CardExtensions.SetEvolve(val27, text + "_" + text78, 1, (IEnumerable<CardModificationInfo>)null); } CardExtensions.SetTail(val27, text + "_" + text79, (IEnumerable<CardModificationInfo>)null); CardExtensions.SetIceCube(val27, text + "_" + text79, (IEnumerable<CardModificationInfo>)null); CardExtensions.AddTribes(val27, array87); string text80 = "Toadstool"; Ability[] array88 = (Ability[])(object)new Ability[2] { (Ability)4, (Ability)(int)SunKill.ability }; Trait[] array89 = (Trait[])(object)new Trait[0]; Tribe[] array90 = (Tribe[])(object)new Tribe[1] { (Tribe)(int)PlantShroom }; string text81 = null; string text82 = "shroomchunks"; int num27 = 6; CardInfo val28 = CardManager.New(text, "toadstool", "ToadStool", 1, 2, "A frogish fungus, how curious"); CardExtensions.AddAppearances(val28, array7); CardExtensions.AddMetaCategories(val28, array3); CardExtensions.SetExtendedProperty(val28, "Sunmaker", (object)3); CardExtensions.SetExtendedProperty(val28, "SunCost", (object)num27); CardExtensions.SetPortrait(val28, findTexture(text80), (FilterMode?)null); CardExtensions.SetEmissivePortrait(val28, findTexture(text80 + "2"), (FilterMode?)null); CardExtensions.AddDecal(val28, (Texture[])(object)new Texture[1] { (Texture)val }); CardExtensions.AddAbilities(val28, array88); CardExtensions.AddTraits(val28, array89); if (text81 != null) { CardExtensions.SetEvolve(val28, text + "_" + text81, 1, (IEnumerable<CardModificationInfo>)null); } CardExtensions.SetTail(val28, text + "_" + text82, (IEnumerable<CardModificationInfo>)null); CardExtensions.SetIceCube(val28, text + "_" + text82, (IEnumerable<CardModificationInfo>)null); CardExtensions.AddTribes(val28, array90); string text83 = "SunBean"; Ability[] array91 = (Ability[])(object)new Ability[2] { (Ability)(int)SunKill.ability, (Ability)(int)Spudow.ability }; Trait[] array92 = (Trait[])(object)new Trait[0]; Tribe[] array93 = (Tribe[])(object)new Tribe[1] { (Tribe)(int)PlantFruit }; string text84 = null; string text85 = "leaflitter"; int num28 = 2; CardInfo val29 = CardManager.New(text, "sunbean", "Sun bean", 0, 2, "will you invest in the sun bean?"); CardExtensions.AddAppearances(val29, Array.Empty<Appearance>()); CardExtensions.AddMetaCategories(val29, array); CardExtensions.SetExtendedProperty(val29, "CSDIsSideDeck", (object)"true"); CardExtensions.SetExtendedProperty(val29, "CSDSideDeckType", (object)"Basic"); CardExtensions.SetExtendedProperty(val29, "SunCost", (object)num28); CardExtensions.SetPortrait(val29, findTexture(text83), (FilterMode?)null); CardExtensions.SetEmissivePortrait(val29, findTexture(text83 + "2"), (FilterMode?)null); CardExtensions.SetPixelPortrait(val29, findTexture(text83 + "3"), (FilterMode?)null); CardExtensions.AddDecal(val29, (Texture[])(object)new Texture[1] { (Texture)val }); CardExtensions.AddAbilities(val29, array91); CardExtensions.AddTraits(val29, array92); if (text84 != null) { CardExtensions.SetEvolve(val29, text + "_" + text84, 1, (IEnumerable<CardModificationInfo>)null); } CardExtensions.SetTail(val29, text + "_" + text85, (IEnumerable<CardModificationInfo>)null); CardExtensions.SetIceCube(val29, text + "_" + text85, (IEnumerable<CardModificationInfo>)null); CardExtensions.AddTribes(val29, array93); string text86 = "Wallnut"; Ability[] array94 = (Ability[])(object)new Ability[1] { (Ability)8 }; Trait[] array95 = (Trait[])(object)new Trait[0]; Tribe[] array96 = (Tribe[])(object)new Tribe[1] { (Tribe)(int)PlantFruit }; string text87 = "tallnut"; string text88 = "splinters"; int num29 = 2; CardInfo val30 = CardManager.New(text, "wallnut", "Wallnut", 0, 4, "What an iconic line of defence"); CardExtensions.AddAppearances(val30, Array.Empty<Appearance>()); CardExtensions.AddMetaCategories(val30, array); CardExtensions.SetExtendedProperty(val30, "SunCost", (object)num29); CardExtensions.SetPortrait(val30, findTexture(text86), (FilterMode?)null); CardExtensions.SetEmissivePortrait(val30, findTexture(text86 + "2"), (FilterMode?)null); CardExtensions.SetPixelPortrait(val30, findTexture(text86 + "3"), (FilterMode?)null); CardExtensions.AddDecal(val30, (Texture[])(object)new Texture[1] { (Texture)val }); CardExtensions.AddAbilities(val30, array94); CardExtensions.AddTraits(val30, array95); if (text87 != null) { CardExtensions.SetEvolve(val30, text + "_" + text87, 1, (IEnumerable<CardModificationInfo>)null); } CardExtensions.SetTail(val30, text + "_" + text88, (IEnumerable<CardModificationInfo>)null); CardExtensions.SetIceCube(val30, text + "_" + text88, (IEnumerable<CardModificationInfo>)null); CardExtensions.AddTribes(val30, array96); string text89 = "Tallnut"; Ability[] array97 = (Ability[])(object)new Ability[2] { (Ability)8, (Abilit