Decompiled source of SauriaCards v1.0.1

SauriaCards.dll

Decompiled 5 hours ago
using System;
using System.Collections;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.Versioning;
using System.Security;
using System.Security.Permissions;
using AllTheSigils;
using BepInEx;
using BepInEx.Bootstrap;
using BundleOfTotems;
using DiskCardGame;
using HarmonyLib;
using Infiniscryption.PackManagement;
using InscryptionAPI.Ascension;
using InscryptionAPI.Card;
using InscryptionAPI.Dialogue;
using InscryptionAPI.Encounters;
using InscryptionAPI.Helpers;
using InscryptionAPI.Regions;
using InscryptionAPI.Sound;
using InscryptionAPI.TalkingCards;
using InscryptionAPI.TalkingCards.Create;
using InscryptionAPI.Triggers;
using NevernamedsSigils;
using Pixelplacement;
using STalkingCards;
using SauriaCards;
using SauriaCardsMain;
using SauriaCardsSpec;
using SauriaEncounters;
using SauriaRareCards;
using SauriaSigils;
using SauriaSigilsAch;
using UnityEngine;

[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("SauriaCards")]
[assembly: AssemblyConfiguration("Debug")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyInformationalVersion("1.0.0+f2af05a85e299483d73eedc2d47b866444d0e7b5")]
[assembly: AssemblyProduct("SauriaCards")]
[assembly: AssemblyTitle("SauriaCards")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("1.0.0.0")]
[module: UnverifiableCode]
namespace SauriaCardsMain
{
	[BepInPlugin("SauriaCards", "SauriaCards", "1.0.0")]
	[BepInDependency(/*Could not decode attribute arguments.*/)]
	[BepInDependency(/*Could not decode attribute arguments.*/)]
	[BepInDependency(/*Could not decode attribute arguments.*/)]
	[BepInDependency(/*Could not decode attribute arguments.*/)]
	[BepInDependency(/*Could not decode attribute arguments.*/)]
	[BepInDependency(/*Could not decode attribute arguments.*/)]
	[BepInDependency(/*Could not decode attribute arguments.*/)]
	[BepInDependency(/*Could not decode attribute arguments.*/)]
	[BepInDependency(/*Could not decode attribute arguments.*/)]
	public class Plugin : BaseUnityPlugin
	{
		public const string PluginGuid = "SauriaCards";

		private const string PluginName = "SauriaCards";

		private const string PluginVersion = "1.0.0";

		public static AssetBundle bundle;

		public static Harmony Harmony;

		private void Awake()
		{
			//IL_0024: Unknown result type (might be due to invalid IL or missing references)
			//IL_002e: Expected O, but got Unknown
			((BaseUnityPlugin)this).Logger.LogInfo((object)"Loaded Sauria Cards!");
			bundle = LoadBundle("SauriaCards/Resources/sigilassetbundle");
			Harmony = new Harmony("SauriaCards.harmonypatcher");
			Harmony.PatchAll();
			Ceratodus.Init();
			Mawsonia.Init();
			AddAbilities();
			AddCards();
			AddRareCards();
			CreateNoaList();
			CreateEggList();
			Blue.Init();
			Owen.Init();
			IndominusH.Init();
			AbilityManager.ModifyAbilityList += (List<FullAbility> abilities) => abilities;
			Encounters.AddEncounters();
			if (PackAPI.Enabled)
			{
				PackAPI.CreateCardPack();
				((BaseUnityPlugin)this).Logger.LogInfo((object)"Sauria Card Pack active!");
			}
			if (AchievementsMain.Enabled)
			{
				AchievementsMain.CreateAchievements();
				((BaseUnityPlugin)this).Logger.LogInfo((object)"Sauria Achievements active!");
			}
			Decks.AddStartingDeck();
		}

		public static AssetBundle LoadBundle(string path)
		{
			using Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream(path.Replace("\\", ".").Replace("/", "."));
			return AssetBundle.LoadFromStream(stream);
		}

		static Plugin()
		{
		}

		public void Whatever()
		{
		}

		public static void AddCards()
		{
			Acrocanthosaurus.Init();
			Allosaurus.Init();
			Amargasaurus.Init();
			AmericanLion.Init();
			AmericanLionB.Init();
			Ankylosaurus.Init();
			Anomalocaris.Init();
			Apatosaurus.Init();
			Argentinosaurus.Init();
			Arthropleura.Init();
			Aspidorhynchus.Init();
			Australovenator.Init();
			Austroraptor.Init();
			Baryonyx.Init();
			Beipiaosaurus.Init();
			Brachiosaurus.Init();
			BrachiosaurusB.Init();
			Brachytrachelopan.Init();
			Camarasaurus.Init();
			Carnotaurus.Init();
			Cartorhynchus.Init();
			Caturus.Init();
			Cearadactylus.Init();
			Cephalaspis.Init();
			Ceratosaurus.Init();
			Chasmosaurus.Init();
			Chungkingosaurus.Init();
			Coelophysis.Init();
			Compsognathus.Init();
			Corythosaurus.Init();
			Dacentrurus.Init();
			Daeodon.Init();
			Deinocheirus.Init();
			Deinonychus.Init();
			DElephant.Init();
			Desmatosuchus.Init();
			Dilophosaurus.Init();
			DilophosaurusA.Init();
			Dimetrodon.Init();
			Dimorphodon.Init();
			DinosaurEgg.Init();
			Diplodocus.Init();
			Dryosaurus.Init();
			Dunkleosteus.Init();
			Edmontosaurus.Init();
			Elasmosaurus.Init();
			Euoplocephalus.Init();
			Eobasileus.Init();
			Gallimimus.Init();
			Gastornis.Init();
			GiantGroundSloth.Init();
			Gigantoraptor.Init();
			Gojirasaurus.Init();
			Guanlong.Init();
			Haolong.Init();
			Herrerasaurus.Init();
			Hesperornis.Init();
			Homalocephale.Init();
			Ichthyornis.Init();
			Ichthyosaurus.Init();
			Iguanodon.Init();
			IrishElk.Init();
			Irritator.Init();
			Isisaurus.Init();
			Inostrancevia.Init();
			Jeholopterus.Init();
			Katifelis.Init();
			Kentrosaurus.Init();
			Koolasuchus.Init();
			Lambeosaurus.Init();
			Liopleurodon.Init();
			Majungasaurus.Init();
			Masiakasaurus.Init();
			Metriacanthosaurus.Init();
			Megalania.Init();
			Microceratus.Init();
			Minmi.Init();
			Muttaburrasaurus.Init();
			Nanotyrannus.Init();
			Nigersaurus.Init();
			Nothosaurus.Init();
			Olorotitan.Init();
			Othnielia.Init();
			Ouranosaurus.Init();
			Oviraptor.Init();
			Pachycephalosaurus.Init();
			Pachyrhinosaurus.Init();
			Parasaurolophus.Init();
			ParasaurolophusB.Init();
			Patagopelta.Init();
			Plateosaurus.Init();
			Platybelodon.Init();
			Plushie2.Init();
			Plushie.Init();
			Postosuchus.Init();
			Proceratosaurus.Init();
			Procompsognathus.Init();
			Prongdeer.Init();
			Protoceratops.Init();
			Protosphyraena.Init();
			Psittacosaurus.Init();
			Pteranodon.Init();
			Pterodaustro.Init();
			Qianzhousaurus.Init();
			Quercylurus.Init();
			Rhamphorhynchus.Init();
			Sacabambaspis.Init();
			Sansanosmilus.Init();
			Sarcoprion.Init();
			Segisaurus.Init();
			Shringasaurus.Init();
			Shunosaurus.Init();
			Simosuchus.Init();
			Sinosauropteryx.Init();
			Stegosaurus.Init();
			Stokesosaurus.Init();
			Stygimoloch.Init();
			Styracosaurus.Init();
			Supersaurus.Init();
			Suchomimus.Init();
			Tapejara.Init();
			Tiktaalik.Init();
			Titanis.Init();
			Torosaurus.Init();
			Triceratops.Init();
			TriceratopsB.Init();
			Troodon.Init();
			TyrannosaurusB.Init();
			Utahraptor.Init();
			Utatsusaurus.Init();
			Velociraptor.Init();
			WoollyRhinoceros.Init();
			Xiphactinus.Init();
			Yutyrannus.Init();
			Zhenyuanopterus.Init();
		}

		public static void AddRareCards()
		{
			AncientIguanodon.Init();
			Ankylodocus.Init();
			Anzu.Init();
			Archelon.Init();
			Basilosaurus.Init();
			BeautifulFeather.Init();
			Brontosaurus.Init();
			Carchadontosaurus.Init();
			CaveBear.Init();
			Compstegnathus.Init();
			Cryolophosaurus.Init();
			Deinonychus2.Init();
			Deinosuchus.Init();
			FishMeat.Init();
			Giganotosaurus.Init();
			Godzilla.Init();
			Godzillasaurus.Init();
			Gwangi.Init();
			Homotherium.Init();
			Hypsilophodon.Init();
			Ice2.Init();
			Ichthyotitan.Init();
			IndominusRex.Init();
			Leaellynasaura.Init();
			Leedsichthys.Init();
			Maiasaura.Init();
			Megalodon.Init();
			Megalosaurus.Init();
			Microraptor.Init();
			Mosasaurus.Init();
			MysteriousEgg.Init();
			Noasaurus.Init();
			Ornithomimus.Init();
			Paraceratherium.Init();
			Philosoraptor.Init();
			Pyroraptor.Init();
			Quetzalcoatlus.Init();
			RealParasaurolophus.Init();
			Rhedosaurus.Init();
			Shantungosaurus.Init();
			Spicomellus.Init();
			Spinosaurus.Init();
			Spinosaurus2.Init();
			Spinoraptor.Init();
			Thanatosdrakon.Init();
			TheBigAl.Init();
			TheBoneWars.Init();
			Therizinosaurus.Init();
			Titanosaurus.Init();
			Tupandactylus.Init();
			Tyrannosaurus.Init();
			TyrannosaurusF.Init();
			WoollyMammoth.Init();
			Velocipastor.Init();
		}

		public static void AddAbilities()
		{
			Arch.Init();
			Basilo.Init();
			BigAl.Init();
			BoneWars.Init();
			Chicken.Init();
			Comp.Init();
			CBear.Init();
			Croc.Init();
			Deinon.Init();
			Dilo.Init();
			EatBug.Init();
			Egg.Init();
			EggI.Init();
			Fisher.Init();
			FRex.Init();
			Giga.Init();
			Goj.Init();
			FisherStrike.Init();
			Homo.Init();
			Homot.Init();
			Hypsilo.Init();
			Lea.Init();
			Maia.Init();
			MarineShuffle.Init();
			Meg.Init();
			Nig.Init();
			Noa.Init();
			Nourishment.Init();
			PartingFish.Init();
			Philo.Init();
			Pyro.Init();
			Rhed.Init();
			Sauropod.Init();
			Shan.Init();
			Shoni.Init();
			Sino.Init();
			Spino.Init();
			Stoke.Init();
			Titano.Init();
			TRex.Init();
		}

		public static void CreateNoaList()
		{
			List<string> obj = new List<string>
			{
				"Sauria_Velo", "Sauria_Dim", "Sauria_Cera", "Sauria_Allo", "Sauria_Deinon", "Sauria_Para", "Sauria_Dilo", "Sauria_DiloA", "Sauria_Goj", "Sauria_Sup",
				"Sauria_Comp", "Sauria_Hom", "Sauria_Stok", "Sauria_Nanotyrannus", "Sauria_Gua", "Sauria_Coelo", "Sauria_Qia", "Sauria_Masi", "Sauria_Psi", "Sauria_Sino",
				"Sauria_Styg", "Sauria_Pata", "Sauria_Chun", "Sauria_Australo", "Sauria_Procera", "Sauria_Microcera", "Sauria_Irrit", "Sauria_Herrera", "Sauria_Desmato"
			};
			Noa.dinos = new List<string>();
			foreach (string item in obj)
			{
				if ((Object)(object)CardLoader.GetCardByName(item) != (Object)null)
				{
					Noa.dinos.Add(item);
				}
			}
		}

		public static void CreateEggList()
		{
			List<string> obj = new List<string>
			{
				"Sauria_Velo", "Sauria_TrexB", "Sauria_Trood", "Sauria_Proto", "Sauria_Proc", "Sauria_ParaB", "Sauria_Oviraptor", "Sauria_Min", "Sauria_Dryo", "Sauria_Dilo",
				"Sauria_Comp", "Sauria_BrachioB", "Sauria_Pachy", "Sauria_Kentro", "Sauria_Bep", "Sauria_Coelo", "Sauria_Gua", "Sauria_Hom", "Sauria_Masi", "Sauria_Psi",
				"Sauria_Sino", "Sauria_Stok", "Sauria_Styg", "Sauria_Pata", "Sauria_Chun", "Sauria_Procera", "Sauria_Microcera", "Sauria_Irrit", "Sauria_Herrera"
			};
			Egg.Eggs = new List<string>();
			foreach (string item in obj)
			{
				if ((Object)(object)CardLoader.GetCardByName(item) != (Object)null)
				{
					Egg.Eggs.Add(item);
				}
			}
		}
	}
	[HarmonyPatch]
	internal static class AudioPatch
	{
		[HarmonyPatch(typeof(AudioController), "Awake")]
		[HarmonyPostfix]
		internal static void LoadMyCustomAudio(ref AudioController __instance)
		{
			string[] array = new string[1] { "sauria_indominus" };
			foreach (string clipName in array)
			{
				if (!__instance.SFX.Any((AudioClip ac) => ((Object)ac).name.Equals(clipName, StringComparison.InvariantCultureIgnoreCase)))
				{
					AudioClip val = SoundManager.LoadAudioClip("Sauria", clipName + ".ogg");
					((Object)val).name = clipName;
					if (clipName.Contains("_loop"))
					{
						__instance.Loops.Add(val);
					}
					else
					{
						__instance.SFX.Add(val);
					}
				}
			}
		}
	}
}
namespace STalkingCards
{
	public class IndominusTalk : CustomPaperTalkingCard
	{
		public static SpecialTriggeredAbility specialAbility;

		public override string CardName => "Sauria_HIrex";

		public override FaceInfo FaceInfo => new FaceInfo((float?)2f, (string)null, (float?)1f, "sauria_hirex.wav");

		public override Speaker SpeakerType => (Speaker)0;

		public override SpecialTriggeredAbility DialogueAbility => specialAbility;

		public override List<EmotionData> Emotions
		{
			get
			{
				//IL_0014: 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)
				//IL_0079: Expected O, but got Unknown
				//IL_009b: Unknown result type (might be due to invalid IL or missing references)
				//IL_00a5: Expected O, but got Unknown
				//IL_00c7: Unknown result type (might be due to invalid IL or missing references)
				//IL_00d1: Expected O, but got Unknown
				//IL_00f3: Unknown result type (might be due to invalid IL or missing references)
				//IL_00fd: Expected O, but got Unknown
				//IL_011f: Unknown result type (might be due to invalid IL or missing references)
				//IL_0129: Expected O, but got Unknown
				//IL_014b: Unknown result type (might be due to invalid IL or missing references)
				//IL_0155: Expected O, but got Unknown
				Sprite val = Util.ConvertTexToSprite(Tools.LoadTexture("Sauria_HIrexBase.png"), (Vector2?)new Vector2(0.5f, 0f));
				FaceAnim val2 = Tools.MakeFaceAnim("Sauria_HIrexEyeE1.png");
				FaceAnim val3 = Tools.MakeFaceAnim("Sauria_HIrexEyeE2.png");
				FaceAnim val4 = Tools.MakeFaceAnim("Sauria_HIrexEyeE3.png");
				return new List<EmotionData>
				{
					new EmotionData((Emotion)0, val, Tools.MakeFaceAnim("Sauria_HIrexEyeN1.png", "Sauria_HIrexEyeN2.png"), Tools.MakeFaceAnim("Sauria_HIrexMN2.png", "Sauria_HIrexMN1.png"), val2),
					new EmotionData((Emotion)1, val, Tools.MakeFaceAnim("Sauria_HIrexEyeL1.png", "Sauria_HIrexEyeL2.png"), Tools.MakeFaceAnim("Sauria_HIrexMS2.png", "Sauria_HIrexMS1.png"), val2),
					new EmotionData((Emotion)3, val, Tools.MakeFaceAnim("Sauria_HIrexEyeQ1.png", "Sauria_HIrexEyeQ2.png"), Tools.MakeFaceAnim("Sauria_HIrexMS2.png", "Sauria_HIrexMS1.png"), val4),
					new EmotionData((Emotion)5, val, Tools.MakeFaceAnim("Sauria_HIrexEyeC1.png", "Sauria_HIrexEyeC2.png"), Tools.MakeFaceAnim("Sauria_HIrexMN2.png", "Sauria_HIrexMN1.png"), val3),
					new EmotionData((Emotion)4, val, Tools.MakeFaceAnim("Sauria_HIrexEyeS1.png", "Sauria_HIrexEyeS2.png"), Tools.MakeFaceAnim("Sauria_HIrexMN1.png", "Sauria_HIrexMN2.png"), val4),
					new EmotionData((Emotion)2, val, Tools.MakeFaceAnim("Sauria_HIrexEyeA1.png", "Sauria_HIrexEyeA2.png"), Tools.MakeFaceAnim("Sauria_HIrexMA2.png", "Sauria_HIrexMA1.png"), val4)
				};
			}
		}

		public override string OnDrawnDialogueId => "Sauria_HIrexDrawn";

		public override string OnAttackedDialogueId => "Sauria_HIrexHurt";

		protected override string OnSacrificedDialogueId => "Sauria_HIrexSacrificed";

		public override string OnBecomeSelectableNegativeDialogueId => "Sauria_HIrexSelectableBad";

		public override string OnBecomeSelectablePositiveDialogueId => "Sauria_HIrexSelectableGood";

		public override string OnPlayFromHandDialogueId => "Sauria_HIrexPlayed";

		protected override string OnSelectedForCardRemoveDialogueId => "Sauria_HIrexRemove";

		protected override string OnSelectedForCardMergeDialogueId => "Sauria_HIrexGivenSigil";

		protected override string OnSelectedForDeckTrialDialogueId => "Sauria_HIrexTrial";

		public override Dictionary<Type, string> OnDrawnSpecialOpponentDialogueIds => new Dictionary<Type, string>
		{
			{
				(Type)3,
				"Sauria_HIrexProspector"
			},
			{
				(Type)4,
				"Sauria_HIrexAngler"
			},
			{
				(Type)6,
				"Sauria_HIrexTrapperTrader"
			},
			{
				(Type)7,
				"Sauria_HIrexLeshy"
			},
			{
				(Type)18,
				"Sauria_HIrexRoyal"
			},
			{
				(Type)2,
				"Sauria_HIRexTotem"
			},
			{
				(Type)5,
				"Sauria_HIRexWoodcarver"
			},
			{
				(Type)19,
				"Sauria_HIRexMycologists"
			}
		};

		public override string OnDrawnFallbackDialogueId => "Sauria_HIrexDrawn";

		protected override string OnDiscoveredInExplorationDialogueId => "Sauria_HIrexDiscovered";

		public override void OnShownForCardChoiceNode()
		{
			((SpecialCardBehaviour)this).OnShownForCardChoiceNode();
		}
	}
	public class IndominusMakeDialogue
	{
		public static void CreateTalk()
		{
			CreateAngler();
			CreateDiscovered();
			CreateDrawn();
			CreateGivenSigil();
			CreateHurt();
			CreateLeshy();
			CreateMycologists();
			CreatePlayed();
			CreateProspector();
			CreateRemove();
			CreateRoyal();
			CreateSacrificed();
			CreateSelectableBad();
			CreateSelectableGood();
			CreateTotem();
			CreateTrapperTrader();
			CreateTrial();
			CreateWoodcarver();
		}

		public static void CreateDrawn()
		{
			//IL_0010: Unknown result type (might be due to invalid IL or missing references)
			//IL_0020: Unknown result type (might be due to invalid IL or missing references)
			//IL_0030: Unknown result type (might be due to invalid IL or missing references)
			//IL_0040: Unknown result type (might be due to invalid IL or missing references)
			//IL_0050: Unknown result type (might be due to invalid IL or missing references)
			//IL_0060: Unknown result type (might be due to invalid IL or missing references)
			//IL_0070: Unknown result type (might be due to invalid IL or missing references)
			//IL_008b: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a6: Unknown result type (might be due to invalid IL or missing references)
			//IL_00c1: Unknown result type (might be due to invalid IL or missing references)
			//IL_00dc: Unknown result type (might be due to invalid IL or missing references)
			//IL_00f7: Unknown result type (might be due to invalid IL or missing references)
			DialogueEventGenerator.GenerateEvent("Sauria_HIrexDrawn", new List<CustomLine>
			{
				CustomLine.op_Implicit("[e:Neutral].[w:0.5].[w:0.5].[w:0.7]"),
				CustomLine.op_Implicit("You.[w:0.5]"),
				CustomLine.op_Implicit("I don't know who you are."),
				CustomLine.op_Implicit("I don't particularly care either."),
				CustomLine.op_Implicit("Either you get me out of this mess or[w:0.5].[w:0.5].[w:0.5][e:Laughter].[w:0.5]"),
				CustomLine.op_Implicit("[e:Laughter]No, I [e:Quiet]don't[w:0.5][e:Laughter] need to spell it out.[w:0.5]"),
				CustomLine.op_Implicit("[e:Quiet][c:R]Know your place and you will live.[c:]")
			}, new List<List<CustomLine>>
			{
				new List<CustomLine> { CustomLine.op_Implicit("[e:Neutral]Make it quick.") },
				new List<CustomLine> { CustomLine.op_Implicit("[e:Laughter]Morsels, all for me.") },
				new List<CustomLine> { CustomLine.op_Implicit("[e:Neutral]A fine opportunity.") },
				new List<CustomLine> { CustomLine.op_Implicit("[e:Laughter]Now is a good time to feed me.") },
				new List<CustomLine> { CustomLine.op_Implicit("[e:Laughter]Good timing. I was feeling quite peckish.") }
			});
		}

		public static void CreatePlayed()
		{
			//IL_0010: Unknown result type (might be due to invalid IL or missing references)
			//IL_0020: Unknown result type (might be due to invalid IL or missing references)
			//IL_0030: Unknown result type (might be due to invalid IL or missing references)
			//IL_004b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0066: Unknown result type (might be due to invalid IL or missing references)
			//IL_0081: Unknown result type (might be due to invalid IL or missing references)
			//IL_009c: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b7: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d2: Unknown result type (might be due to invalid IL or missing references)
			DialogueEventGenerator.GenerateEvent("Sauria_HIrexPlayed", new List<CustomLine>
			{
				CustomLine.op_Implicit("[e:Laughter]I've been looking for something"),
				CustomLine.op_Implicit("[e:Laughter]to tear into since I got into this mess."),
				CustomLine.op_Implicit("[e:Quiet]I won't make it quick.")
			}, new List<List<CustomLine>>
			{
				new List<CustomLine> { CustomLine.op_Implicit("[e:Laughter]I won't leave anything behind.") },
				new List<CustomLine> { CustomLine.op_Implicit("[e:Laughter]A feast, just for me.") },
				new List<CustomLine> { CustomLine.op_Implicit("[e:Neutral]Don't expect to survive.") },
				new List<CustomLine> { CustomLine.op_Implicit("[e:Quiet]Who wishes to die first?") },
				new List<CustomLine> { CustomLine.op_Implicit("[e:Quiet]I've been itching for a fight.") },
				new List<CustomLine> { CustomLine.op_Implicit("[e:Curious]Are you sure about this choice?") }
			});
		}

		public static void CreateSacrificed()
		{
			//IL_0010: Unknown result type (might be due to invalid IL or missing references)
			//IL_002b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0046: Unknown result type (might be due to invalid IL or missing references)
			//IL_0061: Unknown result type (might be due to invalid IL or missing references)
			DialogueEventGenerator.GenerateEvent("Sauria_HIrexSacrificed", new List<CustomLine> { CustomLine.op_Implicit("[e:Anger][c:R]You traitor!!![c:]") }, new List<List<CustomLine>>
			{
				new List<CustomLine> { CustomLine.op_Implicit("[e:Quiet]I'll remember this.") },
				new List<CustomLine> { CustomLine.op_Implicit("[e:Anger][c:R]You bastard!!![c:]") },
				new List<CustomLine> { CustomLine.op_Implicit("[e:Surprise][c:R]You...![c:]") }
			});
		}

		public static void CreateSelectableGood()
		{
			//IL_0010: Unknown result type (might be due to invalid IL or missing references)
			//IL_002b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0046: Unknown result type (might be due to invalid IL or missing references)
			DialogueEventGenerator.GenerateEvent("Sauria_HIrexSelectableGood", new List<CustomLine> { CustomLine.op_Implicit("[e:Curious]Oh, what's this now?") }, new List<List<CustomLine>>
			{
				new List<CustomLine> { CustomLine.op_Implicit("[e:Curious]Who will die this time?") },
				new List<CustomLine> { CustomLine.op_Implicit("[e:Laughter]There is only one correct choice.") }
			});
		}

		public static void CreateSelectableBad()
		{
			//IL_0010: Unknown result type (might be due to invalid IL or missing references)
			//IL_002b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0046: Unknown result type (might be due to invalid IL or missing references)
			DialogueEventGenerator.GenerateEvent("Sauria_HIrexSelectableBad", new List<CustomLine> { CustomLine.op_Implicit("[e:Quiet]Do not make any choices I would make you regret.") }, new List<List<CustomLine>>
			{
				new List<CustomLine> { CustomLine.op_Implicit("[e:Neutral]Let's get this done and over with.") },
				new List<CustomLine> { CustomLine.op_Implicit("[e:Neutral]Pick anyone else.") }
			});
		}

		public static void CreateHurt()
		{
			//IL_0010: Unknown result type (might be due to invalid IL or missing references)
			//IL_0020: Unknown result type (might be due to invalid IL or missing references)
			//IL_0030: Unknown result type (might be due to invalid IL or missing references)
			//IL_004b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0066: Unknown result type (might be due to invalid IL or missing references)
			//IL_0081: Unknown result type (might be due to invalid IL or missing references)
			//IL_009c: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b7: Unknown result type (might be due to invalid IL or missing references)
			DialogueEventGenerator.GenerateEvent("Sauria_HIrexHurt", new List<CustomLine>
			{
				CustomLine.op_Implicit("[e:Anger]You did this on purpose...[w:0.4]"),
				CustomLine.op_Implicit("[c:R]Didn't you!?[c:][w:0.5]"),
				CustomLine.op_Implicit("[e:Neutral]I'll let it slide for now.")
			}, new List<List<CustomLine>>
			{
				new List<CustomLine> { CustomLine.op_Implicit("[e:Anger][c:R]You dare...![c:]") },
				new List<CustomLine> { CustomLine.op_Implicit("[e:Anger][c:R]I'll tear you limb from limb!!![c:]") },
				new List<CustomLine> { CustomLine.op_Implicit("[e:Quiet]You've made your choice.") },
				new List<CustomLine> { CustomLine.op_Implicit("[e:Anger]Tsk!") },
				new List<CustomLine> { CustomLine.op_Implicit("[e:Anger]Gh!") }
			});
		}

		public static void CreateTrial()
		{
			//IL_0010: Unknown result type (might be due to invalid IL or missing references)
			//IL_0020: Unknown result type (might be due to invalid IL or missing references)
			//IL_003b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0056: Unknown result type (might be due to invalid IL or missing references)
			//IL_0071: Unknown result type (might be due to invalid IL or missing references)
			DialogueEventGenerator.GenerateEvent("Sauria_HIrexTrial", new List<CustomLine>
			{
				CustomLine.op_Implicit("[e:Surprise]Is this some kind of a test?[w:0.5]"),
				CustomLine.op_Implicit("[e:Laughter]I don't expect to fail.")
			}, new List<List<CustomLine>>
			{
				new List<CustomLine> { CustomLine.op_Implicit("[e:Curious]Are we done?") },
				new List<CustomLine> { CustomLine.op_Implicit("[e:Laughter]I shall aid you.") },
				new List<CustomLine> { CustomLine.op_Implicit("[e:Neutral]Waste of my time.") }
			});
		}

		public static void CreateGivenSigil()
		{
			//IL_0010: Unknown result type (might be due to invalid IL or missing references)
			//IL_0020: Unknown result type (might be due to invalid IL or missing references)
			//IL_0030: Unknown result type (might be due to invalid IL or missing references)
			//IL_004b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0066: Unknown result type (might be due to invalid IL or missing references)
			//IL_0081: Unknown result type (might be due to invalid IL or missing references)
			DialogueEventGenerator.GenerateEvent("Sauria_HIrexGivenSigil", new List<CustomLine>
			{
				CustomLine.op_Implicit("[e:Curious]Interesting...[w:0.5]"),
				CustomLine.op_Implicit("[e:Neutral]There are enough voices screaming from within my blood."),
				CustomLine.op_Implicit("[e:Quiet]What's another one?")
			}, new List<List<CustomLine>>
			{
				new List<CustomLine> { CustomLine.op_Implicit("[e:Laughter]Become a part of me.") },
				new List<CustomLine> { CustomLine.op_Implicit("[e:Quiet]I shall claim your power.") },
				new List<CustomLine> { CustomLine.op_Implicit("[e:Laughter]It is only natural.") }
			});
		}

		public static void CreateDiscovered()
		{
			//IL_0010: Unknown result type (might be due to invalid IL or missing references)
			//IL_0020: Unknown result type (might be due to invalid IL or missing references)
			//IL_003b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0056: Unknown result type (might be due to invalid IL or missing references)
			//IL_0071: Unknown result type (might be due to invalid IL or missing references)
			DialogueEventGenerator.GenerateEvent("Sauria_HIrexDiscovered", new List<CustomLine>
			{
				CustomLine.op_Implicit("[e:Surprise].[w:0.5].[w:0.5].[w:0.7]"),
				CustomLine.op_Implicit("[e:Anger][c:R]What did you do to me!?[c:][w:0.5].[leshy:It appears that this beast is... more human than it appeared. No matter.][w:2]")
			}, new List<List<CustomLine>>
			{
				new List<CustomLine> { CustomLine.op_Implicit("[e:Laughter]We meet again.") },
				new List<CustomLine> { CustomLine.op_Implicit("[e:Laughter]You shall serve me once more.") },
				new List<CustomLine> { CustomLine.op_Implicit("Do not disappoint me this time.") }
			});
		}

		public static void CreateRemove()
		{
			//IL_0010: Unknown result type (might be due to invalid IL or missing references)
			//IL_002b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0046: Unknown result type (might be due to invalid IL or missing references)
			DialogueEventGenerator.GenerateEvent("Sauria_HIrexRemove", new List<CustomLine> { CustomLine.op_Implicit("[e:Surprise]No, you can't...!") }, new List<List<CustomLine>>
			{
				new List<CustomLine> { CustomLine.op_Implicit("[e:Anger]Curse you!!!") },
				new List<CustomLine> { CustomLine.op_Implicit("[e:Anger]I will remember this!!!") }
			});
		}

		public static void CreateProspector()
		{
			//IL_0010: Unknown result type (might be due to invalid IL or missing references)
			//IL_0020: Unknown result type (might be due to invalid IL or missing references)
			//IL_0030: Unknown result type (might be due to invalid IL or missing references)
			//IL_004b: Unknown result type (might be due to invalid IL or missing references)
			//IL_005b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0076: Unknown result type (might be due to invalid IL or missing references)
			//IL_0091: Unknown result type (might be due to invalid IL or missing references)
			DialogueEventGenerator.GenerateEvent("Sauria_HIrexProspector", new List<CustomLine>
			{
				CustomLine.op_Implicit("[e:Neutral]What an eyesore..."),
				CustomLine.op_Implicit("Get rid of him.[w:0.5]"),
				CustomLine.op_Implicit("The noise bothers me.")
			}, new List<List<CustomLine>>
			{
				new List<CustomLine>
				{
					CustomLine.op_Implicit("[e:Anger]You...[w:0.5]"),
					CustomLine.op_Implicit("[e:Neutral]Do not make the same mistakes.")
				},
				new List<CustomLine> { CustomLine.op_Implicit("[e:Anger]This noise again...") },
				new List<CustomLine> { CustomLine.op_Implicit("[e:Anger]Get him out of my sight.") }
			});
		}

		public static void CreateAngler()
		{
			//IL_0010: Unknown result type (might be due to invalid IL or missing references)
			//IL_0020: Unknown result type (might be due to invalid IL or missing references)
			//IL_0030: Unknown result type (might be due to invalid IL or missing references)
			//IL_004b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0066: Unknown result type (might be due to invalid IL or missing references)
			//IL_0081: Unknown result type (might be due to invalid IL or missing references)
			DialogueEventGenerator.GenerateEvent("Sauria_HIrexAngler", new List<CustomLine>
			{
				CustomLine.op_Implicit("[e:Surprise]This...[w:0.5] This smell...[w:0.5]"),
				CustomLine.op_Implicit("[e:Surprise]I remember a smell like this...[w:0.5]"),
				CustomLine.op_Implicit("[e:Surprise]We must get out of here.")
			}, new List<List<CustomLine>>
			{
				new List<CustomLine> { CustomLine.op_Implicit("[e:Surprise]Don't let those things near me!") },
				new List<CustomLine> { CustomLine.op_Implicit("[e:Surprise]I won't die like this again!") },
				new List<CustomLine> { CustomLine.op_Implicit("[e:Surprise]There's something lurking in the waters...") }
			});
		}

		public static void CreateTrapperTrader()
		{
			//IL_0010: Unknown result type (might be due to invalid IL or missing references)
			//IL_0020: Unknown result type (might be due to invalid IL or missing references)
			//IL_003b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0056: Unknown result type (might be due to invalid IL or missing references)
			//IL_0066: Unknown result type (might be due to invalid IL or missing references)
			//IL_0081: Unknown result type (might be due to invalid IL or missing references)
			DialogueEventGenerator.GenerateEvent("Sauria_HIrexTrapperTrader", new List<CustomLine>
			{
				CustomLine.op_Implicit("[e:Anger]I have little patience for traitors.[w:0.5]"),
				CustomLine.op_Implicit("[e:Quiet][c:R]Skin him alive.[c:]")
			}, new List<List<CustomLine>>
			{
				new List<CustomLine> { CustomLine.op_Implicit("[e:Laughter]He'll make for a fine pelt.") },
				new List<CustomLine>
				{
					CustomLine.op_Implicit("[e:Laughter]The smell in the air is pleasant."),
					CustomLine.op_Implicit("[e:Quiet][c:R]Let's enrich it further with his blood.[c:]")
				},
				new List<CustomLine> { CustomLine.op_Implicit("[e:Laughter]You should know how this works by now.") }
			});
		}

		public static void CreateLeshy()
		{
			//IL_0010: Unknown result type (might be due to invalid IL or missing references)
			//IL_0020: Unknown result type (might be due to invalid IL or missing references)
			//IL_0030: Unknown result type (might be due to invalid IL or missing references)
			//IL_0040: Unknown result type (might be due to invalid IL or missing references)
			//IL_0050: Unknown result type (might be due to invalid IL or missing references)
			//IL_0060: Unknown result type (might be due to invalid IL or missing references)
			//IL_007b: Unknown result type (might be due to invalid IL or missing references)
			//IL_008b: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a6: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b6: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d1: Unknown result type (might be due to invalid IL or missing references)
			//IL_00e1: Unknown result type (might be due to invalid IL or missing references)
			DialogueEventGenerator.GenerateEvent("Sauria_HIrexLeshy", new List<CustomLine>
			{
				CustomLine.op_Implicit("[e:Curious]This is it...[w:0.5]"),
				CustomLine.op_Implicit("[e:Neutral]We've made it this far.[w:0.5]"),
				CustomLine.op_Implicit(".[w:0.5].[w:0.5].[w:0.7]"),
				CustomLine.op_Implicit("I suppose you weren't too bad.[w:0.5]"),
				CustomLine.op_Implicit("I won't miss you[w:0.5], but I've seen worse humans.[w:0.5]"),
				CustomLine.op_Implicit("[e:Quiet]Let's put an end to his games.")
			}, new List<List<CustomLine>>
			{
				new List<CustomLine>
				{
					CustomLine.op_Implicit("[e:Laughter]You can do this.[w:0.5]"),
					CustomLine.op_Implicit("[e:Laughter]Be of service to me once again.")
				},
				new List<CustomLine>
				{
					CustomLine.op_Implicit("[e:Laughter]We shall part soon.[w:0.5]"),
					CustomLine.op_Implicit("[e:Laughter]I hope to see you again.")
				},
				new List<CustomLine>
				{
					CustomLine.op_Implicit("[e:Laughter]It's been fun so far.[w:0.5]"),
					CustomLine.op_Implicit("[e:Laughter]Let's have some more fun in the future.")
				}
			});
		}

		public static void CreateRoyal()
		{
			//IL_0010: Unknown result type (might be due to invalid IL or missing references)
			//IL_0020: Unknown result type (might be due to invalid IL or missing references)
			//IL_003b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0056: Unknown result type (might be due to invalid IL or missing references)
			//IL_0071: Unknown result type (might be due to invalid IL or missing references)
			DialogueEventGenerator.GenerateEvent("Sauria_HIrexRoyal", new List<CustomLine>
			{
				CustomLine.op_Implicit("[e:Surprise]Not...[w:0.5] Not the water again...[w:0.5]"),
				CustomLine.op_Implicit("[e:Surprise]What will attack me this time?")
			}, new List<List<CustomLine>>
			{
				new List<CustomLine> { CustomLine.op_Implicit("[e:Anger]I don't appreciate getting shot with cannons. Kill him quickly.") },
				new List<CustomLine> { CustomLine.op_Implicit("[e:Anger]This moron again...") },
				new List<CustomLine> { CustomLine.op_Implicit("[e:Anger]There isn't even anything to gnaw on.") }
			});
		}

		public static void CreateTotem()
		{
			//IL_0010: Unknown result type (might be due to invalid IL or missing references)
			//IL_0020: Unknown result type (might be due to invalid IL or missing references)
			//IL_003b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0056: Unknown result type (might be due to invalid IL or missing references)
			//IL_0071: Unknown result type (might be due to invalid IL or missing references)
			//IL_008c: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a7: Unknown result type (might be due to invalid IL or missing references)
			DialogueEventGenerator.GenerateEvent("Sauria_HIRexTotem", new List<CustomLine>
			{
				CustomLine.op_Implicit("[e:Surprise]The air is different.[w:0.5]"),
				CustomLine.op_Implicit("[e:Laughter]They are prey all the same.")
			}, new List<List<CustomLine>>
			{
				new List<CustomLine> { CustomLine.op_Implicit("[e:Neutral]What a chore.") },
				new List<CustomLine> { CustomLine.op_Implicit("[e:Laughter]Perhaps something bigger to chew on?") },
				new List<CustomLine> { CustomLine.op_Implicit("[e:Neutral]Eyesore.") },
				new List<CustomLine> { CustomLine.op_Implicit("[e:Laughter]This changes nothing.") },
				new List<CustomLine> { CustomLine.op_Implicit("[e:Laughter]They should know their place.") }
			});
		}

		public static void CreateWoodcarver()
		{
			//IL_0010: Unknown result type (might be due to invalid IL or missing references)
			//IL_0020: Unknown result type (might be due to invalid IL or missing references)
			//IL_0030: Unknown result type (might be due to invalid IL or missing references)
			//IL_004b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0066: Unknown result type (might be due to invalid IL or missing references)
			//IL_0081: Unknown result type (might be due to invalid IL or missing references)
			DialogueEventGenerator.GenerateEvent("Sauria_HIRexWoodcarver", new List<CustomLine>
			{
				CustomLine.op_Implicit("[e:Neutral]Hmph.[w:0.5]"),
				CustomLine.op_Implicit("[e:Neutral]This foolish hag has outlived her usefulness.[w:0.5]"),
				CustomLine.op_Implicit("[e:Quiet]Her skull would be a fine decoration for a totem.")
			}, new List<List<CustomLine>>
			{
				new List<CustomLine> { CustomLine.op_Implicit("[e:Laughter]Let's shave off what few years she has left.") },
				new List<CustomLine> { CustomLine.op_Implicit("[e:Laughter]One foot in the grave, another soon to come.") },
				new List<CustomLine> { CustomLine.op_Implicit("[e:Laughter]She'd die in a few years regardless.") }
			});
		}

		public static void CreateMycologists()
		{
			//IL_0010: Unknown result type (might be due to invalid IL or missing references)
			//IL_0020: Unknown result type (might be due to invalid IL or missing references)
			//IL_0030: Unknown result type (might be due to invalid IL or missing references)
			//IL_0040: Unknown result type (might be due to invalid IL or missing references)
			//IL_005b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0076: Unknown result type (might be due to invalid IL or missing references)
			//IL_0091: Unknown result type (might be due to invalid IL or missing references)
			DialogueEventGenerator.GenerateEvent("Sauria_HIRexMycologists", new List<CustomLine>
			{
				CustomLine.op_Implicit("[e:Neutral]Not particularly surprising.[w:0.5]"),
				CustomLine.op_Implicit("[e:Neutral]These experimental types don't know loyalty.[w:0.5]"),
				CustomLine.op_Implicit("[e:Quiet]I'd rather get my claws on that bastard Wu"),
				CustomLine.op_Implicit("[e:Laughter]but this shall do for now.")
			}, new List<List<CustomLine>>
			{
				new List<CustomLine> { CustomLine.op_Implicit("[e:Neutral]Let's return the favour.") },
				new List<CustomLine> { CustomLine.op_Implicit("[e:Laughter]There won't be much left to stitch together.") },
				new List<CustomLine> { CustomLine.op_Implicit("[e:Neutral]Two heads to tear off.[e:Quiet]What a treat.") }
			});
		}
	}
	internal static class IndominusH
	{
		public static void Init()
		{
			//IL_0019: Unknown result type (might be due to invalid IL or missing references)
			//IL_001e: Unknown result type (might be due to invalid IL or missing references)
			//IL_003c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0041: Unknown result type (might be due to invalid IL or missing references)
			//IL_0046: Unknown result type (might be due to invalid IL or missing references)
			//IL_004b: Unknown result type (might be due to invalid IL or missing references)
			//IL_004c: 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_0098: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a3: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b5: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d9: Unknown result type (might be due to invalid IL or missing references)
			//IL_016f: Unknown result type (might be due to invalid IL or missing references)
			//IL_017a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0185: Unknown result type (might be due to invalid IL or missing references)
			//IL_0197: Unknown result type (might be due to invalid IL or missing references)
			//IL_019e: Unknown result type (might be due to invalid IL or missing references)
			IndominusTalk.specialAbility = SpecialTriggeredAbilityManager.Add("Sauria", "HIrexTalker", typeof(IndominusTalk)).Id;
			IndominusTalk2.specialAbility = SpecialTriggeredAbilityManager.Add("Sauria", "HIrex2Talker", typeof(IndominusTalk2)).Id;
			SpecialTriggeredAbility specialAbility = IndominusTalk.specialAbility;
			SpecialTriggeredAbility specialAbility2 = IndominusTalk2.specialAbility;
			IndominusMakeDialogue.CreateTalk();
			string text = "Indominus";
			string text2 = null;
			int num = 2;
			int num2 = 3;
			string text3 = "Hm... Maybe something got mixed up in there...";
			int num3 = 2;
			int num4 = 0;
			int num5 = 0;
			int num6 = 1;
			Texture2D val = null;
			Texture2D val2 = null;
			Texture2D val3 = Tools.LoadTexture("Sauria_HIrexP.png");
			List<CardMetaCategory> list = null;
			List<Ability> list2 = new List<Ability>
			{
				Mutate.ability,
				Cleaving.ability
			};
			List<SpecialTriggeredAbility> list3 = new List<SpecialTriggeredAbility>
			{
				specialAbility,
				(SpecialTriggeredAbility)9
			};
			List<Tribe> list4 = new List<Tribe>
			{
				(Tribe)5,
				(Tribe)2,
				Plugin.AquaticTribe
			};
			List<Trait> list5 = new List<Trait> { (Trait)21 };
			string text4 = "Sauria_Plushie";
			string text5 = "Sauria_HIrex2";
			string text6 = null;
			List<Appearance> list6 = new List<Appearance> { (Appearance)14 };
			CardInfo val4 = SigilSetupUtility.SimpleCardPrep("HIrex", text, num, num2, list, text3, num3, num4, num5, list2, val, val2, val3, list6, list4, list5, text4, text5, text2, num6, text6, list3, (SpecialStatIcon)0);
			GiveExt(val4);
			CardExtensions.SetExtendedProperty(val4, "CustomTransformerTransformation", (object)"Sauria_HIrex2");
			CardManager.Add("Sauria", val4);
			List<Ability> list7 = new List<Ability>
			{
				Mutate.ability,
				GeneticPerfection.ability,
				Cleaving.ability
			};
			List<SpecialTriggeredAbility> list8 = new List<SpecialTriggeredAbility>
			{
				specialAbility2,
				Indominus.ability,
				(SpecialTriggeredAbility)9
			};
			CardInfo val5 = SigilSetupUtility.SimpleCardPrep("HIrex2", text, num, 5, list, text3, 1, num4, num5, list7, val, val2, val3, list6, list4, list5, text4, (string)null, text2, num6, text6, list8, (SpecialStatIcon)0);
			GiveExt(val5);
			CardExtensions.SetExtendedProperty(val5, "CustomTransformerTransformation", (object)"Sauria_HIrex");
			CardManager.Add("Sauria", val5);
			TalkingCardManager.New<IndominusTalk>();
			TalkingCardManager.New<IndominusTalk2>();
		}

		public static void GiveExt(CardInfo info)
		{
			CardExtensions.SetOnePerDeck(info, true);
			CardExtensions.SetExtendedProperty(info, "BannedSigilTransferVictim", (object)"true");
			CardExtensions.SetExtendedProperty(info, "BannedFromBoneLord", (object)"true");
			CardExtensions.SetExtendedProperty(info, "SauriaRaptorBuddy", (object)"true");
			CardExtensions.SetExtendedProperty(info, "SauriaHealPermanent", (object)"true");
			CardExtensions.SetExtendedProperty(info, "SauriaPowerPermanent", (object)"true");
		}
	}
}
namespace SauriaCards
{
	internal static class Plushie
	{
		public static void Init()
		{
			//IL_0051: Unknown result type (might be due to invalid IL or missing references)
			//IL_0063: Unknown result type (might be due to invalid IL or missing references)
			string text = "Raptor Plushie";
			string text2 = null;
			int num = 0;
			int num2 = 1;
			string text3 = "A cute little toy, nothing more.";
			int num3 = 0;
			int num4 = 0;
			int num5 = 0;
			int num6 = 1;
			Texture2D val = Tools.LoadTexture("Sauria_Plushie.png");
			Texture2D val2 = Tools.LoadTexture("Sauria_Plushie_emission.png");
			Texture2D val3 = Tools.LoadTexture("Sauria_PlushieP.png");
			List<CardMetaCategory> list = null;
			List<Ability> list2 = new List<Ability> { ExplodingCorpseCustom.ability };
			List<SpecialTriggeredAbility> list3 = new List<SpecialTriggeredAbility> { Raptor.ability };
			List<Tribe> list4 = new List<Tribe>
			{
				(Tribe)5,
				(Tribe)2
			};
			List<Trait> list5 = new List<Trait> { (Trait)13 };
			string text4 = "Sauria_Stuffing";
			string text5 = "Sauria_Deinon";
			string text6 = null;
			List<Appearance> list6 = null;
			CardInfo val4 = SigilSetupUtility.SimpleCardPrep("Plushie", text, num, num2, list, text3, num3, num4, num5, list2, val, val2, val3, list6, list4, list5, text4, text5, text2, num6, text6, list3, (SpecialStatIcon)0);
			CardExtensions.SetExtendedProperty(val4, "DisembowelGutOverride", (object)"Sauria_Stuffing");
			CardExtensions.SetExtendedProperty(val4, "ExplodingCorpseGutOverride", (object)"Sauria_Stuffing");
			CardExtensions.SetExtendedProperty(val4, "GutSpewerGutOverride", (object)"Sauria_Stuffing");
			CardExtensions.SetExtendedProperty(val4, "CustomTransformerTransformation", (object)"Sauria_Deinon");
			CardManager.Add("Sauria", val4);
		}
	}
	internal static class Plushie2
	{
		public static void Init()
		{
			string text = "Stuffing";
			string text2 = null;
			int num = 0;
			int num2 = 1;
			string text3 = "All that's left of a toy.";
			int num3 = 0;
			int num4 = 0;
			int num5 = 0;
			int num6 = 1;
			Texture2D val = Tools.LoadTexture("Sauria_Stuffing.png");
			Texture2D val2 = null;
			Texture2D val3 = null;
			List<CardMetaCategory> list = null;
			List<Ability> list2 = null;
			List<SpecialTriggeredAbility> list3 = null;
			List<Tribe> list4 = null;
			List<Trait> list5 = null;
			string text4 = null;
			string text5 = "Sauria_Plushie";
			string text6 = null;
			List<Appearance> list6 = new List<Appearance>
			{
				(Appearance)2,
				(Appearance)9
			};
			CardInfo val4 = CardExtensions.SetExtendedProperty(SigilSetupUtility.SimpleCardPrep("Stuffing", text, num, num2, list, text3, num3, num4, num5, list2, val, val2, val3, list6, list4, list5, text4, text5, text2, num6, text6, list3, (SpecialStatIcon)0), "CustomTransformerTransformation", (object)"Sauria_Plushie");
			CardManager.Add("Sauria", val4);
		}
	}
}
namespace SauriaCardsSpec
{
	public class Arch : SpecialCardBehaviour
	{
		public static SpecialTriggeredAbility ability;

		public static void Init()
		{
			//IL_0019: Unknown result type (might be due to invalid IL or missing references)
			//IL_001e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0033: Unknown result type (might be due to invalid IL or missing references)
			ability = SpecialTriggeredAbilityManager.Add("Sauria", "Arch", typeof(Arch)).Id;
			DialogueEventGenerator.GenerateEvent("SauriaArchLearned", new List<CustomLine> { CustomLine.op_Implicit("Greater defense is more than sufficient.") }, (List<List<CustomLine>>)null);
		}

		public override bool RespondsToResolveOnBoard()
		{
			return Singleton<BoardManager>.Instance.GetSlots(!((SpecialCardBehaviour)this).PlayableCard.OpponentCard).Exists((CardSlot x) => (Object)(object)x.Card != (Object)null && !x.Card.HasAbility(void_ThickShell.ability));
		}

		public override IEnumerator OnResolveOnBoard()
		{
			Singleton<ViewManager>.Instance.SwitchToView((View)4, false, true);
			foreach (CardSlot item in Singleton<BoardManager>.Instance.GetSlots(!((SpecialCardBehaviour)this).PlayableCard.OpponentCard).FindAll((CardSlot x) => (Object)(object)x.Card != (Object)null && !x.Card.HasAbility(void_ThickShell.ability)))
			{
				if ((Object)(object)item.Card != (Object)null)
				{
					item.Card.AddTemporaryMod(new CardModificationInfo
					{
						abilities = { void_ThickShell.ability }
					});
					((Card)item.Card).Anim.PlayTransformAnimation();
				}
			}
			Singleton<ViewManager>.Instance.Controller.LockState = (ViewLockState)0;
			yield return DialogueEventGenerator.PlayDialogueEvent("SauriaArchLearned", 0.5f);
		}
	}
	public class Basilo : SpecialCardBehaviour
	{
		public static SpecialTriggeredAbility ability;

		public static void Init()
		{
			//IL_0019: Unknown result type (might be due to invalid IL or missing references)
			//IL_001e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0033: Unknown result type (might be due to invalid IL or missing references)
			ability = SpecialTriggeredAbilityManager.Add("Sauria", "Basilo", typeof(Basilo)).Id;
			DialogueEventGenerator.GenerateEvent("SauriaBasiloLearned", new List<CustomLine> { CustomLine.op_Implicit("It's not satisfied yet...") }, (List<List<CustomLine>>)null);
		}

		public override bool RespondsToTurnEnd(bool playerTurnEnd)
		{
			if (((SpecialCardBehaviour)this).PlayableCard.OpponentCard != playerTurnEnd && ((SpecialCardBehaviour)this).PlayableCard.OnBoard)
			{
				return Singleton<BoardManager>.Instance.GetSlots(((SpecialCardBehaviour)this).PlayableCard.OpponentCard).Exists((CardSlot x) => (Object)(object)x.Card != (Object)null && !((Card)x.Card).FaceDown);
			}
			return false;
		}

		public override IEnumerator OnTurnEnd(bool playerTurnEnd)
		{
			List<CardSlot> targets = Singleton<BoardManager>.Instance.GetSlots(((SpecialCardBehaviour)this).PlayableCard.OpponentCard).FindAll((CardSlot x) => (Object)(object)x.Card != (Object)null && ((Card)x.Card).FaceDown);
			Singleton<ViewManager>.Instance.SwitchToView((View)4, false, true);
			yield return DialogueEventGenerator.PlayDialogueEvent("SauriaBasiloLearned", 0.5f);
			for (int num = 0; num < targets.Count; num++)
			{
				if (!((Object)(object)((SpecialCardBehaviour)this).PlayableCard != (Object)null))
				{
					break;
				}
				if (((SpecialCardBehaviour)this).PlayableCard.Dead)
				{
					break;
				}
				if ((Object)(object)targets[num].Card != (Object)null && !targets[num].Card.Dead)
				{
					PlayableCard indivTarget = targets[num].Card;
					yield return (object)new WaitForSeconds(0.25f);
					if ((Object)(object)indivTarget != (Object)null && !indivTarget.Dead)
					{
						((Card)((SpecialCardBehaviour)this).PlayableCard).Anim.LightNegationEffect();
						((Card)indivTarget).SetFaceDown(false, false);
						indivTarget.UpdateFaceUpOnBoardEffects();
						((Card)((SpecialCardBehaviour)this).PlayableCard).Anim.PlayAttackAnimation(false, targets[num]);
						yield return (object)new WaitForSeconds(0.2f);
						yield return indivTarget.TakeDamage(1, ((SpecialCardBehaviour)this).PlayableCard);
					}
				}
			}
			Singleton<ViewManager>.Instance.Controller.LockState = (ViewLockState)0;
		}
	}
	public class BigAl : SpecialCardBehaviour
	{
		public static SpecialTriggeredAbility ability;

		public static void Init()
		{
			//IL_0019: Unknown result type (might be due to invalid IL or missing references)
			//IL_001e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0033: Unknown result type (might be due to invalid IL or missing references)
			ability = SpecialTriggeredAbilityManager.Add("Sauria", "BigAl", typeof(BigAl)).Id;
			DialogueEventGenerator.GenerateEvent("SauriaBigAlLearned", new List<CustomLine> { CustomLine.op_Implicit("Astonishing recovery.") }, (List<List<CustomLine>>)null);
		}

		public override bool RespondsToTurnEnd(bool playerTurnEnd)
		{
			//IL_0037: Unknown result type (might be due to invalid IL or missing references)
			//IL_003d: Expected I4, but got Unknown
			//IL_003f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0045: Expected I4, but got Unknown
			//IL_0047: Unknown result type (might be due to invalid IL or missing references)
			//IL_004d: Expected I4, but got Unknown
			if (((SpecialCardBehaviour)this).PlayableCard.OpponentCard != playerTurnEnd && ((SpecialCardBehaviour)this).PlayableCard.OnBoard)
			{
				if (((SpecialCardBehaviour)this).PlayableCard.MaxHealth <= 5)
				{
					return !CardExtensions.HasAnyOfAbilities(((SpecialCardBehaviour)this).PlayableCard, (Ability[])(object)new Ability[3]
					{
						(Ability)(int)void_Injured.ability,
						(Ability)(int)void_Paralysis.ability,
						(Ability)(int)Hydra.ability
					});
				}
				return true;
			}
			return false;
		}

		public override IEnumerator OnTurnEnd(bool playerTurnEnd)
		{
			Singleton<ViewManager>.Instance.SwitchToView((View)4, false, false);
			yield return Active();
		}

		public override bool RespondsToDrawn()
		{
			//IL_001c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0022: Expected I4, but got Unknown
			//IL_0024: Unknown result type (might be due to invalid IL or missing references)
			//IL_002a: Expected I4, but got Unknown
			//IL_002c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0032: Expected I4, but got Unknown
			if (((SpecialCardBehaviour)this).PlayableCard.MaxHealth <= 5)
			{
				return !CardExtensions.HasAnyOfAbilities(((SpecialCardBehaviour)this).PlayableCard, (Ability[])(object)new Ability[3]
				{
					(Ability)(int)void_Injured.ability,
					(Ability)(int)void_Paralysis.ability,
					(Ability)(int)Hydra.ability
				});
			}
			return true;
		}

		public override IEnumerator OnDrawn()
		{
			yield return Active();
		}

		public IEnumerator Active()
		{
			if (((Card)((SpecialCardBehaviour)this).PlayableCard).Info.Mods.Find((CardModificationInfo x) => x.singletonId == "Sauria_BigAl") == null)
			{
				((Card)((SpecialCardBehaviour)this).PlayableCard).Anim.PlayTransformAnimation();
				CardModificationInfo val = new CardModificationInfo();
				val.singletonId = "Sauria_BigAl";
				val.healthAdjustment++;
				CardModificationInfoExtensions.SetBonesCost(val, -5);
				CardModificationInfoExtensions.AddNegateAbilities(val, (Ability[])(object)new Ability[3]
				{
					(Ability)(int)void_Injured.ability,
					(Ability)(int)void_Paralysis.ability,
					(Ability)(int)Hydra.ability
				});
				CardModificationInfoExtensions.AddAbilities(val, (Ability[])(object)new Ability[2]
				{
					(Ability)(int)ViciousGrowth.ability,
					(Ability)(int)BloodGusher.ability
				});
				RunState.Run.playerDeck.ModifyCard(((Card)((SpecialCardBehaviour)this).PlayableCard).Info, val);
				AchievementsMain.Unlocked(AchievementsSaveMain.HelpedBigAl, AchievementsMain.HelpedBigAl);
				yield return DialogueEventGenerator.PlayDialogueEvent("SauriaBigAlLearned", 0.5f);
			}
		}
	}
	public class Chicken : SpecialCardBehaviour, IOnBellRung
	{
		public static SpecialTriggeredAbility ability;

		public CardInfo GetChicken
		{
			get
			{
				CardInfo cardByName = CardLoader.GetCardByName("AP_Chicken");
				if ((Object)(object)((SpecialCardBehaviour)this).PlayableCard != (Object)null)
				{
					CardModificationInfo item = Util.CondenseMods(((SpecialCardBehaviour)this).PlayableCard, (List<Ability>)null, true);
					cardByName.Mods.Add(item);
				}
				return cardByName;
			}
		}

		public static void Init()
		{
			//IL_0019: Unknown result type (might be due to invalid IL or missing references)
			//IL_001e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0033: Unknown result type (might be due to invalid IL or missing references)
			ability = SpecialTriggeredAbilityManager.Add("Sauria", "Chicken", typeof(Chicken)).Id;
			DialogueEventGenerator.GenerateEvent("SauriaChickenLearned", new List<CustomLine> { CustomLine.op_Implicit("This is getting out of hand.") }, (List<List<CustomLine>>)null);
		}

		public override bool RespondsToTurnEnd(bool playerTurnEnd)
		{
			if (((SpecialCardBehaviour)this).PlayableCard.OpponentCard != playerTurnEnd && ((SpecialCardBehaviour)this).PlayableCard.OnBoard)
			{
				return Singleton<BoardManager>.Instance.CardsOnBoard.FindAll((PlayableCard x) => (Object)(object)x != (Object)(object)((SpecialCardBehaviour)this).PlayableCard && !x.Dead && (((Object)((Card)x).Info).name == "AP_Chicken" || x.HasAbility(JustChicken.ability))).Count > 0;
			}
			return false;
		}

		public override IEnumerator OnTurnEnd(bool playerTurnEnd)
		{
			Singleton<ViewManager>.Instance.SwitchToView((View)4, false, false);
			List<PlayableCard> list = Singleton<BoardManager>.Instance.CardsOnBoard.FindAll((PlayableCard x) => (Object)(object)x != (Object)(object)((SpecialCardBehaviour)this).PlayableCard && !x.Dead && (((Object)((Card)x).Info).name == "AP_Chicken" || x.HasAbility(JustChicken.ability)));
			if (list.Count > 0)
			{
				((Card)((SpecialCardBehaviour)this).PlayableCard).Anim.StrongNegationEffect();
				CardModificationInfo removeFlyingMod = null;
				if (((SpecialCardBehaviour)this).PlayableCard.HasAbility((Ability)19))
				{
					removeFlyingMod = new CardModificationInfo();
					removeFlyingMod.negateAbilities.Add((Ability)19);
					((SpecialCardBehaviour)this).PlayableCard.AddTemporaryMod(removeFlyingMod);
				}
				PlayableCard val = Util.SeededRandomElement<PlayableCard>(list, -1);
				yield return Util.AttackCard(((SpecialCardBehaviour)this).PlayableCard.Slot, val.Slot, true);
				if (removeFlyingMod != null)
				{
					((SpecialCardBehaviour)this).PlayableCard.RemoveTemporaryMod(removeFlyingMod, true);
				}
			}
		}

		public bool RespondsToBellRung(bool playerCombatPhase)
		{
			if (!playerCombatPhase || !((SpecialCardBehaviour)this).PlayableCard.OnBoard || ((SpecialCardBehaviour)this).PlayableCard.Dead)
			{
				return false;
			}
			if (!Singleton<BoardManager>.Instance.GetSlots(((SpecialCardBehaviour)this).PlayableCard.OpponentCard).Exists((CardSlot x) => (Object)(object)x.Card != (Object)null && x.Card.Health <= 6 && ((Object)((Card)x.Card).Info).name != "AP_Chicken"))
			{
				return Singleton<BoardManager>.Instance.GetSlots(!((SpecialCardBehaviour)this).PlayableCard.OpponentCard).Exists((CardSlot x) => (Object)(object)x.Card == (Object)null);
			}
			return true;
		}

		public IEnumerator OnBellRung(bool playerCombatPhase)
		{
			List<CardSlot> list = Singleton<BoardManager>.Instance.GetSlots(((SpecialCardBehaviour)this).PlayableCard.OpponentCard).FindAll((CardSlot x) => (Object)(object)x.Card != (Object)null && x.Card.Health <= 6 && ((Object)((Card)x.Card).Info).name != "AP_Chicken");
			if (list.Count > 0)
			{
				((Card)((SpecialCardBehaviour)this).PlayableCard).Anim.StrongNegationEffect();
				CardSlot card = Util.SeededRandomElement<CardSlot>(list, -1);
				yield return card.Card.TransformIntoCard(CardLoader.GetCardByName("AP_Chicken"), (Action)delegate
				{
					card.Card.HealDamage(5);
				}, (Action)null);
				yield return DialogueEventGenerator.PlayDialogueEvent("SauriaChickenLearned", 0.5f);
				yield break;
			}
			List<CardSlot> list2 = Singleton<BoardManager>.Instance.GetSlots(!((SpecialCardBehaviour)this).PlayableCard.OpponentCard).FindAll((CardSlot x) => (Object)(object)x.Card == (Object)null);
			if (list2.Count > 0)
			{
				((Card)((SpecialCardBehaviour)this).PlayableCard).Anim.StrongNegationEffect();
				CardSlot val = Util.SeededRandomElement<CardSlot>(list2, -1);
				CardInfo getChicken = GetChicken;
				yield return Singleton<BoardManager>.Instance.CreateCardInSlot(getChicken, val, 0.15f, true);
				yield return DialogueEventGenerator.PlayDialogueEvent("SauriaChickenLearned", 0.5f);
			}
		}

		public override bool RespondsToOtherCardDie(PlayableCard card, CardSlot deathSlot, bool fromCombat, PlayableCard killer)
		{
			//IL_0027: Unknown result type (might be due to invalid IL or missing references)
			if ((Object)(object)killer == (Object)(object)((SpecialCardBehaviour)this).PlayableCard)
			{
				if (!(((Object)((Card)card).Info).name == "AP_Chicken"))
				{
					return card.HasAbility(JustChicken.ability);
				}
				return true;
			}
			return false;
		}

		public override IEnumerator OnOtherCardDie(PlayableCard card, CardSlot deathSlot, bool fromCombat, PlayableCard killer)
		{
			((Card)((SpecialCardBehaviour)this).PlayableCard).Anim.LightNegationEffect();
			((SpecialCardBehaviour)this).PlayableCard.temporaryMods.Add(new CardModificationInfo(1, 1));
			((SpecialCardBehaviour)this).PlayableCard.OnStatsChanged();
			yield break;
		}
	}
	public class Comp : SpecialCardBehaviour
	{
		public static bool NoOverlap;

		public static SpecialTriggeredAbility ability;

		public static void Init()
		{
			//IL_0019: Unknown result type (might be due to invalid IL or missing references)
			//IL_001e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0033: Unknown result type (might be due to invalid IL or missing references)
			ability = SpecialTriggeredAbilityManager.Add("Sauria", "Comp", typeof(Comp)).Id;
			DialogueEventGenerator.GenerateEvent("SauriaCompLearned", new List<CustomLine> { CustomLine.op_Implicit("There is strength in numbers.") }, (List<List<CustomLine>>)null);
			NoOverlap = false;
		}

		public override bool RespondsToOtherCardDealtDamage(PlayableCard attacker, int amount, PlayableCard target)
		{
			//IL_0061: Unknown result type (might be due to invalid IL or missing references)
			if (!NoOverlap && Singleton<BoardManager>.Instance.GetSlots(!((SpecialCardBehaviour)this).PlayableCard.OpponentCard).Exists((CardSlot x) => (Object)(object)x.Card != (Object)null && (Object)(object)x.Card != (Object)(object)((SpecialCardBehaviour)this).PlayableCard && !x.Card.Dead && CardExtensions.HasSpecialAbility(x.Card, ability)))
			{
				if (!((Object)(object)attacker == (Object)(object)((SpecialCardBehaviour)this).PlayableCard) || !((SpecialCardBehaviour)this).PlayableCard.OnBoard)
				{
					if (target.OpponentCard == ((SpecialCardBehaviour)this).PlayableCard.OpponentCard)
					{
						return CardExtensions.HasSpecialAbility(target, ability);
					}
					return false;
				}
				return true;
			}
			return false;
		}

		public override IEnumerator OnOtherCardDealtDamage(PlayableCard attacker, int amount, PlayableCard target)
		{
			NoOverlap = true;
			CardSlot victim = target.Slot;
			if ((Object)(object)attacker != (Object)(object)((SpecialCardBehaviour)this).PlayableCard)
			{
				victim = attacker.Slot;
			}
			if (!((SpecialCardBehaviour)this).PlayableCard.Dead)
			{
				((Card)((SpecialCardBehaviour)this).PlayableCard).Anim.StrongNegationEffect();
			}
			List<CardSlot> list = Singleton<BoardManager>.Instance.GetSlots(!((SpecialCardBehaviour)this).PlayableCard.OpponentCard).FindAll((CardSlot x) => (Object)(object)x.Card != (Object)null && (Object)(object)x.Card != (Object)(object)((SpecialCardBehaviour)this).PlayableCard && !x.Card.Dead && CardExtensions.HasSpecialAbility(x.Card, ability));
			foreach (CardSlot cardSlot in list)
			{
				if ((Object)(object)cardSlot.Card != (Object)null && !cardSlot.Card.Dead)
				{
					CardModificationInfo cardModificationInfo = null;
					if (((SpecialCardBehaviour)this).PlayableCard.HasAbility((Ability)19))
					{
						cardModificationInfo = new CardModificationInfo();
						cardModificationInfo.negateAbilities.Add((Ability)19);
						cardSlot.Card.AddTemporaryMod(cardModificationInfo);
					}
					yield return Util.AttackCard(cardSlot.Card.slot, victim, true);
					if (cardModificationInfo != null)
					{
						cardSlot.Card.RemoveTemporaryMod(cardModificationInfo, true);
					}
				}
			}
			yield return DialogueEventGenerator.PlayDialogueEvent("SauriaCompLearned", 0.5f);
			NoOverlap = false;
		}
	}
	public class EatBug : SpecialCardBehaviour
	{
		public static SpecialTriggeredAbility ability;

		public static void Init()
		{
			//IL_0019: Unknown result type (might be due to invalid IL or missing references)
			//IL_001e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0033: Unknown result type (might be due to invalid IL or missing references)
			ability = SpecialTriggeredAbilityManager.Add("Sauria", "EatBug", typeof(EatBug)).Id;
			DialogueEventGenerator.GenerateEvent("SauriaEatBugLearned", new List<CustomLine> { CustomLine.op_Implicit("What a voracious little beast.") }, (List<List<CustomLine>>)null);
		}

		public override bool RespondsToOtherCardAssignedToSlot(PlayableCard otherCard)
		{
			return RespondsToTrigger(otherCard);
		}

		public override IEnumerator OnOtherCardAssignedToSlot(PlayableCard otherCard)
		{
			yield return FireAtOpposingSlot(otherCard);
		}

		public override bool RespondsToOtherCardResolve(PlayableCard otherCard)
		{
			return RespondsToTrigger(otherCard);
		}

		public override IEnumerator OnOtherCardResolve(PlayableCard otherCard)
		{
			yield return FireAtOpposingSlot(otherCard);
		}

		public bool RespondsToTrigger(PlayableCard otherCard)
		{
			if (((SpecialCardBehaviour)this).PlayableCard.OnBoard && !((SpecialCardBehaviour)this).PlayableCard.Dead && otherCard.OpponentCard != ((SpecialCardBehaviour)this).PlayableCard.OpponentCard && CardExtensions.IsOfTribe(otherCard, (Tribe)6) && !otherCard.Dead)
			{
				if (!((Object)(object)otherCard.Slot.opposingSlot.Card == (Object)null))
				{
					return (Object)(object)otherCard.Slot.opposingSlot.Card == (Object)(object)((SpecialCardBehaviour)this).PlayableCard;
				}
				return true;
			}
			return false;
		}

		public IEnumerator FireAtOpposingSlot(PlayableCard otherCard)
		{
			if (!((Object)(object)otherCard != (Object)null) || otherCard.Dead || !CardExtensions.IsOfTribe(otherCard, (Tribe)6))
			{
				yield break;
			}
			Singleton<ViewManager>.Instance.SwitchToView((View)4, false, true);
			yield return Util.MoveCard(((SpecialCardBehaviour)this).PlayableCard, otherCard.Slot.opposingSlot);
			yield return (object)new WaitForSeconds(0.25f);
			if (!((SpecialCardBehaviour)this).PlayableCard.Dead && (Object)(object)((SpecialCardBehaviour)this).PlayableCard.slot == (Object)(object)otherCard.Slot.opposingSlot)
			{
				((Card)((SpecialCardBehaviour)this).PlayableCard).Anim.LightNegationEffect();
				CardModificationInfo cardModificationInfo = null;
				if (((SpecialCardBehaviour)this).PlayableCard.HasAbility((Ability)19))
				{
					cardModificationInfo = new CardModificationInfo();
					cardModificationInfo.negateAbilities.Add((Ability)19);
					((SpecialCardBehaviour)this).PlayableCard.AddTemporaryMod(cardModificationInfo);
				}
				yield return Util.AttackCard(((SpecialCardBehaviour)this).PlayableCard.slot, otherCard.slot, true);
				if (cardModificationInfo != null)
				{
					((SpecialCardBehaviour)this).PlayableCard.RemoveTemporaryMod(cardModificationInfo, true);
				}
				yield return DialogueEventGenerator.PlayDialogueEvent("SauriaEatBugLearned", 0.5f);
			}
			Singleton<ViewManager>.Instance.Controller.LockState = (ViewLockState)0;
		}
	}
	public class Fisher : DrawCreatedCard
	{
		public static Ability ability;

		public override Ability Ability => ability;

		public override CardInfo CardToDraw
		{
			get
			{
				//IL_0051: Unknown result type (might be due to invalid IL or missing references)
				CardInfo val = ((CardExtensions.GetExtendedProperty(((Card)((AbilityBehaviour)this).Card).Info, "SauriaFisherOverride") == null) ? CardLoader.GetCardByName("Sauria_Ceratodus") : CardLoader.GetCardByName(CardExtensions.GetExtendedProperty(((Card)((AbilityBehaviour)this).Card).Info, "SauriaFisherOverride")));
				val.mods.Add(Util.CondenseMods(((AbilityBehaviour)this).Card, new List<Ability> { ability }, true));
				return val;
			}
		}

		public static void Init()
		{
			//IL_003a: Unknown result type (might be due to invalid IL or missing references)
			//IL_003f: Unknown result type (might be due to invalid IL or missing references)
			ability = Tools.MakeSigil("Fisher", "When a card bearing this sigil is placed, a Ceratodus is created in your hand. [define:Sauria_Ceratodus]", "A successful hunt for fish.", typeof(Fisher), new List<AbilityMetaCategory>
			{
				(AbilityMetaCategory)0,
				(AbilityMetaCategory)1
			}, 1, stackable: true, opponentUsable: true, "sauriafish").ability;
		}

		public override bool RespondsToResolveOnBoard()
		{
			return true;
		}

		public override IEnumerator OnResolveOnBoard()
		{
			if (((AbilityBehaviour)this).Card.OpponentCard)
			{
				if (Singleton<BoardManager>.Instance.OpponentSlotsCopy.Exists((CardSlot x) => (Object)(object)Singleton<BoardManager>.Instance.GetCardQueuedForSlot(x) == (Object)null))
				{
					PlayableCard val = CardSpawner.SpawnPlayableCard(((DrawCreatedCard)this).CardToDraw);
					val.SetIsOpponentCard(true);
					Singleton<TurnManager>.Instance.Opponent.ModifyQueuedCard(val);
					Singleton<BoardManager>.Instance.QueueCardForSlot(val, Util.SeededRandomElement<CardSlot>(Singleton<BoardManager>.Instance.OpponentSlotsCopy.FindAll((CardSlot x) => (Object)(object)Singleton<BoardManager>.Instance.GetCardQueuedForSlot(x) == (Object)null), -1), 0.1f, true, true);
					Singleton<TurnManager>.Instance.Opponent.Queue.Add(val);
				}
			}
			else
			{
				yield return ((AbilityBehaviour)this).PreSuccessfulTriggerSequence();
				yield return ((DrawCreatedCard)this).CreateDrawnCard();
				yield return ((AbilityBehaviour)this).LearnAbility(0f);
			}
		}
	}
}
namespace SauriaCardsMain
{
	internal static class PackAPI
	{
		internal static bool Enabled => Chainloader.PluginInfos.ContainsKey("zorro.inscryption.infiniscryption.packmanager");

		internal static void CreateCardPack()
		{
			PackInfo packInfo = PackManager.GetPackInfo<PackInfo>("Sauria");
			((PackInfoBase)packInfo).Title = "Sauria Cards";
			((PackInfoBase)packInfo).SetTexture(Tools.LoadTexture("SauriaPack.png"));
			((PackInfoBase)packInfo).Description = "A collection of around [count] cards consisting of a random assortment of prehistoric animals, mostly reptiles.";
			((PackInfoBase)packInfo).ValidFor.Add((PackMetacategory)0);
			EncounterPackInfo packInfo2 = PackManager.GetPackInfo<EncounterPackInfo>("Sauria");
			((PackInfoBase)packInfo2).Title = "Sauria Cards";
			((PackInfoBase)packInfo2).Description = "A set of [summary] exclusively featuring a random assortment of prehistoric animals, mostly reptiles.";
			((PackInfoBase)packInfo2).ValidFor.Add((PackMetacategory)0);
		}
	}
}
namespace SauriaCardsSpec
{
	public class Egg : SpecialCardBehaviour
	{
		public static SpecialTriggeredAbility ability;

		public static List<string> Eggs;

		public static void Init()
		{
			//IL_0019: Unknown result type (might be due to invalid IL or missing references)
			//IL_001e: Unknown result type (might be due to invalid IL or missing references)
			ability = SpecialTriggeredAbilityManager.Add("Sauria", "Egg", typeof(Egg)).Id;
			Eggs = new List<string>();
		}

		public override bool RespondsToResolveOnBoard()
		{
			return true;
		}

		public override IEnumerator OnResolveOnBoard()
		{
			object obj = ((Card)((SpecialCardBehaviour)this).PlayableCard).Info.Clone();
			CardInfo val = (CardInfo)((obj is CardInfo) ? obj : null);
			val.evolveParams = new EvolveParams
			{
				evolution = CardLoader.GetCardByName(Util.SeededRandomElement<string>(Eggs, -1)),
				turnsToEvolve = 1
			};
			((Card)((SpecialCardBehaviour)this).PlayableCard).Info = val;
			yield break;
		}
	}
	public class Stoke : SpecialCardBehaviour
	{
		public static SpecialTriggeredAbility ability;

		public static void Init()
		{
			//IL_0019: Unknown result type (might be due to invalid IL or missing references)
			//IL_001e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0033: Unknown result type (might be due to invalid IL or missing references)
			ability = SpecialTriggeredAbilityManager.Add("Sauria", "Stoke", typeof(Stoke)).Id;
			DialogueEventGenerator.GenerateEvent("SauriaStokeLearned", new List<CustomLine> { CustomLine.op_Implicit("Taking up the arts? Interesting.") }, (List<List<CustomLine>>)null);
		}

		public override void ManagedFixedUpdate()
		{
			//IL_000d: Unknown result type (might be due to invalid IL or missing references)
			//IL_004d: Unknown result type (might be due to invalid IL or missing references)
			if (AchievementsSaveMain.Stoke && CardExtensions.HasSpecialAbility(((SpecialCardBehaviour)this).PlayableCard, ability))
			{
				((TriggerReceiver)this).Destroy();
			}
			else if (Object.op_Implicit((Object)(object)((SpecialCardBehaviour)this).PlayableCard) && ((SpecialCardBehaviour)this).PlayableCard.OnBoard && !((SpecialCardBehaviour)this).PlayableCard.Dead)
			{
				AchievementsMain.Unlocked(AchievementsSaveMain.Stoke, AchievementsMain.Stoke);
				DialogueEventGenerator.PlayDialogueEvent("SauriaStokeLearned", 0.5f);
			}
			((ManagedBehaviour)this).ManagedFixedUpdate();
		}
	}
	public class Homo : SpecialCardBehaviour
	{
		public static SpecialTriggeredAbility ability;

		public static void Init()
		{
			//IL_0019: Unknown result type (might be due to invalid IL or missing references)
			//IL_001e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0033: Unknown result type (might be due to invalid IL or missing references)
			ability = SpecialTriggeredAbilityManager.Add("Sauria", "Homo", typeof(Homo)).Id;
			DialogueEventGenerator.GenerateEvent("SauriaHomoLearned", new List<CustomLine> { CustomLine.op_Implicit("It's done being a victim.") }, (List<List<CustomLine>>)null);
		}

		public override void ManagedFixedUpdate()
		{
			//IL_000d: Unknown result type (might be due to invalid IL or missing references)
			//IL_004d: Unknown result type (might be due to invalid IL or missing references)
			if (AchievementsSaveMain.Homo && CardExtensions.HasSpecialAbility(((SpecialCardBehaviour)this).PlayableCard, ability))
			{
				((TriggerReceiver)this).Destroy();
			}
			else if (Object.op_Implicit((Object)(object)((SpecialCardBehaviour)this).PlayableCard) && ((SpecialCardBehaviour)this).PlayableCard.OnBoard && !((SpecialCardBehaviour)this).PlayableCard.Dead)
			{
				AchievementsMain.Unlocked(AchievementsSaveMain.Homo, AchievementsMain.Homo);
				DialogueEventGenerator.PlayDialogueEvent("SauriaHomoLearned", 0.5f);
			}
			((ManagedBehaviour)this).ManagedFixedUpdate();
		}
	}
	public class BoneWars : SpecialCardBehaviour
	{
		public static SpecialTriggeredAbility ability;

		public static void Init()
		{
			//IL_0019: Unknown result type (might be due to invalid IL or missing references)
			//IL_001e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0033: Unknown result type (might be due to invalid IL or missing references)
			ability = SpecialTriggeredAbilityManager.Add("Sauria", "BoneWars", typeof(BoneWars)).Id;
			DialogueEventGenerator.GenerateEvent("SauriaBoneWarsLearned", new List<CustomLine> { CustomLine.op_Implicit("So many bones to claim...") }, (List<List<CustomLine>>)null);
		}

		public override bool RespondsToResolveOnBoard()
		{
			if (!Singleton<BoardManager>.Instance.GetSlots(!((SpecialCardBehaviour)this).PlayableCard.OpponentCard).Exists((CardSlot x) => (Object)(object)x.Card != (Object)null && !x.Card.HasAbility((Ability)12)))
			{
				return Singleton<BoardManager>.Instance.GetSlots(((SpecialCardBehaviour)this).PlayableCard.OpponentCard).Exists((CardSlot x) => (Object)(object)x.Card != (Object)null && !x.Card.HasAbility((Ability)12));
			}
			return true;
		}

		public override IEnumerator OnResolveOnBoard()
		{
			Singleton<ViewManager>.Instance.SwitchToView((View)4, false, true);
			foreach (CardSlot item in Singleton<BoardManager>.Instance.GetSlots(!((SpecialCardBehaviour)this).PlayableCard.OpponentCard).FindAll((CardSlot x) => (Object)(object)x.Card != (Object)null && !x.Card.HasAbility((Ability)12)))
			{
				if ((Object)(object)item.Card != (Object)null)
				{
					item.Card.AddTemporaryMod(new CardModificationInfo
					{
						abilities = { (Ability)12 }
					});
					((Card)item.Card).Anim.PlayTransformAnimation();
				}
			}
			Singleton<ViewManager>.Instance.Controller.LockState = (ViewLockState)0;
			yield return DialogueEventGenerator.PlayDialogueEvent("SauriaBoneWarsLearned", 0.5f);
		}
	}
	public class FRex : SpecialCardBehaviour
	{
		public static SpecialTriggeredAbility ability;

		public static void Init()
		{
			//IL_0019: Unknown result type (might be due to invalid IL or missing references)
			//IL_001e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0033: Unknown result type (might be due to invalid IL or missing references)
			ability = SpecialTriggeredAbilityManager.Add("Sauria", "FRex", typeof(FRex)).Id;
			DialogueEventGenerator.GenerateEvent("SauriaFRexLearned", new List<CustomLine> { CustomLine.op_Implicit("What did you do to that beast?") }, (List<List<CustomLine>>)null);
		}

		public override void ManagedFixedUpdate()
		{
			//IL_000d: Unknown result type (might be due to invalid IL or missing references)
			//IL_004d: Unknown result type (might be due to invalid IL or missing references)
			if (AchievementsSaveMain.FRex && CardExtensions.HasSpecialAbility(((SpecialCardBehaviour)this).PlayableCard, ability))
			{
				((TriggerReceiver)this).Destroy();
			}
			else if (Object.op_Implicit((Object)(object)((SpecialCardBehaviour)this).PlayableCard) && ((SpecialCardBehaviour)this).PlayableCard.OnBoard && !((SpecialCardBehaviour)this).PlayableCard.Dead)
			{
				AchievementsMain.Unlocked(AchievementsSaveMain.FRex, AchievementsMain.FRex);
				DialogueEventGenerator.PlayDialogueEvent("SauriaFRexLearned", 0.5f);
			}
			((ManagedBehaviour)this).ManagedFixedUpdate();
		}
	}
	public class Dilo : SpecialCardBehaviour
	{
		public static SpecialTriggeredAbility ability;

		public static void Init()
		{
			//IL_0019: Unknown result type (might be due to invalid IL or missing references)
			//IL_001e: Unknown result type (might be due to invalid IL or missing references)
			ability = SpecialTriggeredAbilityManager.Add("Sauria", "Dilo", typeof(Dilo)).Id;
		}

		public override void ManagedFixedUpdate()
		{
			//IL_000d: Unknown result type (might be due to invalid IL or missing references)
			//IL_004d: Unknown result type (might be due to invalid IL or missing references)
			if (AchievementsSaveMain.Dilo && CardExtensions.HasSpecialAbility(((SpecialCardBehaviour)this).PlayableCard, ability))
			{
				((TriggerReceiver)this).Destroy();
			}
			else if (Object.op_Implicit((Object)(object)((SpecialCardBehaviour)this).PlayableCard) && ((SpecialCardBehaviour)this).PlayableCard.OnBoard && !((SpecialCardBehaviour)this).PlayableCard.Dead)
			{
				AchievementsMain.Unlocked(AchievementsSaveMain.Dilo, AchievementsMain.Dilo);
			}
			((ManagedBehaviour)this).ManagedFixedUpdate();
		}
	}
	public class FisherStrike : DrawCreatedCard
	{
		public static Ability ability;

		public override Ability Ability => ability;

		public override CardInfo CardToDraw
		{
			get
			{
				//IL_0051: Unknown result type (might be due to invalid IL or missing references)
				CardInfo val = ((CardExtensions.GetExtendedProperty(((Card)((AbilityBehaviour)this).Card).Info, "SauriaFisherOverride") == null) ? CardLoader.GetCardByName("Sauria_Ceratodus") : CardLoader.GetCardByName(CardExtensions.GetExtendedProperty(((Card)((AbilityBehaviour)this).Card).Info, "SauriaFisherOverride")));
				val.mods.Add(Util.CondenseMods(((AbilityBehaviour)this).Card, new List<Ability> { ability }, false));
				return val;
			}
		}

		public static void Init()
		{
			//IL_0033: Unknown result type (might be due to invalid IL or missing references)
			//IL_0038: Unknown result type (might be due to invalid IL or missing references)
			ability = Tools.MakeSigil("Fisher Strike", "When a card bearing this sigil kills another creature, a Ceratodus is created in your hand. [define:Sauria_Ceratodus]", "It appears the beast caught something.", typeof(FisherStrike), new List<AbilityMetaCategory> { (AbilityMetaCategory)0 }, 2, stackable: false, opponentUsable: false, "sauriafisher").ability;
		}

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

		public override IEnumerator OnOtherCardDie(PlayableCard card, CardSlot deathSlot, bool fromCombat, PlayableCard killer)
		{
			yield return ((AbilityBehaviour)this).PreSuccessfulTriggerSequence();
			yield return (object)new WaitForSeconds(0.3f);
			if (((AbilityBehaviour)this).Card.OpponentCard)
			{
				if (Singleton<BoardManager>.Instance.OpponentSlotsCopy.Exists((CardSlot x) => (Object)(object)Singleton<BoardManager>.Instance.GetCardQueuedForSlot(x) == (Object)null))
				{
					PlayableCard val = CardSpawner.SpawnPlayableCard(((DrawCreatedCard)this).CardToDraw);
					val.SetIsOpponentCard(true);
					Singleton<TurnManager>.Instance.Opponent.ModifyQueuedCard(val);
					Singleton<BoardManager>.Instance.QueueCardForSlot(val, Util.SeededRandomElement<CardSlot>(Singleton<BoardManager>.Instance.OpponentSlotsCopy.FindAll((CardSlot x) => (Object)(object)Singleton<BoardManager>.Instance.GetCardQueuedForSlot(x) == (Object)null), -1), 0.1f, true, true);
					Singleton<TurnManager>.Instance.Opponent.Queue.Add(val);
				}
			}
			else
			{
				yield return ((DrawCreatedCard)this).CreateDrawnCard();
			}
			if (!((AbilityBehaviour)this).Card.Dead)
			{
				((Card)((AbilityBehaviour)this).Card).Anim.LightNegationEffect();
				yield return (object)new WaitForSeconds(0.3f);
				yield return ((AbilityBehaviour)this).LearnAbility(0f);
			}
		}
	}
	public class Homot : SpecialCardBehaviour
	{
		public static SpecialTriggeredAbility ability;

		public static void Init()
		{
			//IL_0019: Unknown result type (might be due to invalid IL or missing references)
			//IL_001e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0033: Unknown result type (might be due to invalid IL or missing references)
			ability = SpecialTriggeredAbilityManager.Add("Sauria", "Homot", typeof(Homot)).Id;
			DialogueEventGenerator.GenerateEvent("SauriaHomotLearned", new List<CustomLine> { CustomLine.op_Implicit("A feast for its kin.") }, (List<List<CustomLine>>)null);
		}

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

		public override IEnumerator OnOtherCardDie(PlayableCard card, CardSlot deathSlot, bool fromCombat, PlayableCard killer)
		{
			Singleton<ViewManager>.Instance.SwitchToView((View)4, false, false);
			yield return (object)new WaitForSeconds(0.15f);
			((Card)((SpecialCardBehaviour)this).PlayableCard).Anim.LightNegationEffect();
			((SpecialCardBehaviour)this).PlayableCard.temporaryMods.Add(new CardModificationInfo(0, 1));
			((SpecialCardBehaviour)this).PlayableCard.OnStatsChanged();
			yield return (object)new WaitForSeconds(0.15f);
			List<CardSlot> list = Singleton<BoardManager>.Instance.GetSlots(!((SpecialCardBehaviour)this).PlayableCard.OpponentCard).FindAll((CardSlot x) => (Object)(object)x.Card != (Object)null && !x.Card.Dead && CardExtensions.IsOfTribe(x.Card, Plugin.FelineTribe));
			if (list.Count <= 0)
			{
				yield break;
			}
			foreach (CardSlot item in list)
			{
				((Card)((SpecialCardBehaviour)this).PlayableCard).Anim.LightNegationEffect();
				((Card)item.Card).Anim.LightNegationEffect();
				item.Card.temporaryMods.Add(new CardModificationInfo(0, 1));
				item.Card.OnStatsChanged();
				yield return (object)new WaitForSeconds(0.3f);
			}
			yield return DialogueEventGenerator.PlayDialogueEvent("SauriaHomotLearned", 0.5f);
		}
	}
}
namespace STalkingCards
{
	public class IndominusTalk2 : IndominusTalk
	{
		public new static SpecialTriggeredAbility specialAbility;

		public override string CardName => "Sauria_HIrex2";

		public override SpecialTriggeredAbility DialogueAbility => specialAbility;
	}
}
namespace SauriaCardsSpec
{
	public class EggI : SpecialCardBehaviour
	{
		public static SpecialTriggeredAbility ability;

		public static void Init()
		{
			//IL_0019: Unknown result type (might be due to invalid IL or missing references)
			//IL_001e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0033: Unknown result type (might be due to invalid IL or missing references)
			ability = SpecialTriggeredAbilityManager.Add("Sauria", "EggI", typeof(EggI)).Id;
			DialogueEventGenerator.GenerateEvent("SauriaEggILearned", new List<CustomLine> { CustomLine.op_Implicit("It still has room for growth.") }, (List<List<CustomLine>>)null);
		}
	}
	public class Nourishment : BloodActivatedSigils
	{
		public static Ability ability;

		public static CardModificationInfo mod;

		public override Ability Ability => ability;

		public bool PermanentForRun => CardExtensions.GetExtendedProperty(((Card)((AbilityBehaviour)this).Card).Info, "SauriaHealPermanent") != null;

		public bool Indominus => CardExtensions.GetExtendedProperty(((Card)((AbilityBehaviour)this).Card).Info, "SauriaEggI") != null;

		public static void Init()
		{
			//IL_0033: Unknown result type (might be due to invalid IL or missing references)
			//IL_0038: Unknown result type (might be due to invalid IL or missing references)
			//IL_004d: Unknown result type (might be due to invalid IL or missing references)
			ability = Tools.MakeSigil("Nourishment", "Pay 2 Blood to increase Attack and Health of this and adjacent creatures by 1, then remove this sigil.", "A small sacrifice for small growth.", typeof(Nourishment), new List<AbilityMetaCategory> { (AbilityMetaCategory)0 }, 2, stackable: false, opponentUsable: false, "sauriaheal", isActivated: true).ability;
			DialogueEventGenerator.GenerateEvent("SauriaIRexLearned", new List<CustomLine> { CustomLine.op_Implicit("What an abhorent creature, crafted by the hands of madmen...") }, (List<List<CustomLine>>)null);
		}

		public override int BloodRequired()
		{
			return 1;
		}

		public override IEnumerator OnBloodAbilityPostAllSacrifices()
		{
			yield return ((AbilityBehaviour)this).PreSuccessfulTriggerSequence();
			((Card)((AbilityBehaviour)this).Card).Anim.NegationEffect(true);
			if (PermanentForRun)
			{
				mod = ((Card)((AbilityBehaviour)this).Card).Info.Mods.Find((CardModificationInfo x) => x.singletonId == "Sauria_Heal");
				if (mod == null)
				{
					mod = new CardModificationInfo();
					mod.singletonId = "Sauria_Heal";
					RunState.Run.playerDeck.ModifyCard(((Card)((AbilityBehaviour)this).Card).Info, mod);
				}
				CardModificationInfo obj = mod;
				obj.healthAdjustment++;
				mod.negateAbilities.Add(ability);
				((AbilityBehaviour)this).Card.OnStatsChanged();
				if ((Indominus && mod.healthAdjustment >= 29) || ((AbilityBehaviour)this).Card.MaxHealth >= 30)
				{
					object obj2 = CardLoader.GetCardByName("Sauria_IRex").Clone();
					CardInfo val = (CardInfo)((obj2 is CardInfo) ? obj2 : null);
					val.Mods.AddRange(((Card)((AbilityBehaviour)this).Card).Info.Mods);
					((CardCollectionInfo)RunState.Run.playerDeck).RemoveCard(((Card)((AbilityBehaviour)this).Card).Info);
					((CardCollectionInfo)RunState.Run.playerDeck).AddCard(val);
					yield return ((AbilityBehaviour)this).Card.TransformIntoCard(val, (Action)delegate
					{
						//IL_0016: Unknown result type (might be due to invalid IL or missing references)
						AudioController.Instance.PlaySound3D("sauria_indominus", (MixerGroup)5, ((Component)((AbilityBehaviour)this).Card).transform.position, 2f, 0f, (Pitch)null, (Repetition)null, (Randomization)null, (Distortion)null, false);
						Singleton<CameraEffects>.Instance.Shake(0.5f, 1f);
					}, (Action)null);
					AchievementsMain.Unlocked(AchievementsSaveMain.GainedIndominus, AchievementsMain.GainedIndominus);
					yield return DialogueEventGenerator.PlayDialogueEvent("SauriaIRexLearned", 0.5f);
				}
			}
			else
			{
				CardModificationInfo val2 = new CardModificationInfo(0, 1);
				val2.negateAbilities.Add(ability);
				((AbilityBehaviour)this).Card.temporaryMods.Add(val2);
				((AbilityBehaviour)this).Card.OnStatsChanged();
			}
			yield return ((AbilityBehaviour)this).LearnAbility(0.25f);
		}

		public override bool RespondsToTurnEnd(bool playerTurnEnd)
		{
			//IL_0034: Unknown result type (might be due to invalid IL or missing references)
			if (Indominus && ((AbilityBehaviour)this).Card.OpponentCard != playerTurnEnd && ((AbilityBehaviour)this).Card.OnBoard && mod != null)
			{
				return mod.negateAbilities.Contains(ability);
			}
			return false;
		}

		public override IEnumerator OnTurnEnd(bool playerTurnEnd)
		{
			Singleton<ViewManager>.Instance.SwitchToView((View)4, false, false);
			if (mod != null && mod.negateAbilities.Contains(ability))
			{
				((Card)((AbilityBehaviour)this).Card).Anim.StrongNegationEffect();
				mod.negateAbilities.Remove(ability);
			}
			((Card)((AbilityBehaviour)this).Card).RenderCard();
			yield return DialogueEventGenerator.PlayDialogueEvent("SauriaEggILearned", 0.5f);
		}
	}
}
namespace SauriaCardsMain
{
	public class Decks
	{
		public static void AddDeck(string texture, string name, List<CardInfo> cards)
		{
			Texture2D val = Tools.LoadTexture(texture);
			StarterDeckInfo val2 = ScriptableObject.CreateInstance<StarterDeckInfo>();
			val2.title = name + "DeckSauria";
			val2.iconSprite = TextureHelper.ConvertTexture(val, (SpriteType)9, (FilterMode)0);
			val2.cards = new List<CardInfo>();
			val2.cards.AddRange(cards);
			StarterDeckManager.Add("Sauria", val2, 0);
			AddToList(val2);
		}

		public static void AddStartingDeck()
		{
			AchievementsMain.DeckList = new List<StarterDeckInfo>();
			AddSecretDeck(0);
			AddSecretDeck2(0);
			AddSecretDeck3(0);
			AddSecretDeck4(0);
			AddDeck("SauriaJPDeck.png", "JP", new List<CardInfo>
			{
				CardLoader.GetCardByName("Sauria_Dilo"),
				CardLoader.GetCardByName("Sauria_Deinon"),
				CardLoader.GetCardByName("Sauria_Trex")
			});
			AddDeck("SauriaAnkDeck.png", "Armor", new List<CardInfo>
			{
				CardLoader.GetCardByName("Sauria_Pata"),
				CardLoader.GetCardByName("Sauria_Min"),
				CardLoader.GetCardByName("Sauria_Anky")
			});
			AddDeck("SauriaStegoDeck.png", "Thagomizer", new List<CardInfo>
			{
				CardLoader.GetCardByName("Sauria_Chun"),
				CardLoader.GetCardByName("Sauria_Kentro"),
				CardLoader.GetCardByName("Sauria_Stego")
			});
			AddDeck("SauriaEggDeck.png", "Hatchery", new List<CardInfo>
			{
				CardLoader.GetCardByName("Sauria_Egg"),
				CardLoader.GetCardByName("Sauria_Egg"),
				CardLoader.GetCardByName("Sauria_Oviraptor")
			});
			AddDeck("SauriaRaptorDeck.png", "Raptor", new List<CardInfo>
			{
				CardLoader.GetCardByName("Sauria_Velo"),
				CardLoader.GetCardByName("Sauria_Deinon"),
				CardLoader.GetCardByName("Sauria_Utah")
			});
			AddDeck("SauriaRexDeck.png", "Kings", new List<CardInfo>
			{
				CardLoader.GetCardByName("Sauria_TrexB"),
				CardLoader.GetCardByName("Sauria_Nanotyrannus"),
				CardLoader.GetCardByName("Sauria_Qia")
			});
			AddDeck("SauriaSauropodDeck.png", "Titans", new List<CardInfo>
			{
				CardLoader.GetCardByName("Sauria_BrachioB"),
				CardLoader.GetCardByName("Sauria_Nige"),
				CardLoader.GetCardByName("Sauria_Diplod")
			});
			AddDeck("SauriaTricDeck.png", "Horned", new List<CardInfo>
			{
				CardLoader.GetCardByName("Sauria_TriceraB"),
				CardLoader.GetCardByName("Sauria_Toro"),
				CardLoader.GetCardByName("Sauria_Chasmo")
			});
			AddDeck("SauriaClawDeck.png", "Clawed", new List<CardInfo>
			{
				CardLoader.GetCardByName("Sauria_Bep"),
				CardLoader.GetCardByName("Sauria_Bary"),
				CardLoader.GetCardByName("Sauria_Deino")
			});
			AddDeck("SauriaPachyDeck.png", "Ramming", new List<CardInfo>
			{
				CardLoader.GetCardByName("Sauria_Hom"),
				CardLoader.GetCardByName("Sauria_Styg"),
				CardLoader.GetCardByName("Sauria_Pachy")
			});
			AddDeck("SauriaRunDeck.png", "Sprinter", new List<CardInfo>
			{
				CardLoader.GetCardByName("Sauria_Dryo"),
				CardLoader.GetCardByName("Sauria_Gal"),
				CardLoader.GetCardByName("Sauria_Othni")
			});
			AddDeck("SauriaTriassicDeck.png", "Triassic", new List<CardInfo>
			{
				CardLoader.GetCardByName("Sauria_Shri"),
				CardLoader.GetCardByName("Sauria_Goj"),
				CardLoader.GetCardByName("Sauria_Plate")
			});
			AddDeck("SauriaGuaDeck.png", "Feathered", new List<CardInfo>
			{
				CardLoader.GetCardByName("Sauria_Gua"),
				CardLoader.GetCardByName("Sauria_Yu"),
				CardLoader.GetCardByName("Sauria_Giganto")
			});
			AddDeck("SauriaCompDeck.png", "Critters", new List<CardInfo>
			{
				CardLoader.GetCardByName("Sauria_Trood"),
				CardLoader.GetCardByName("Sauria_Masi"),
				CardLoader.GetCardByName("Sauria_Comp")
			});
			AddDeck("SauriaHadroDeck.png", "Duckbills", new List<CardInfo>
			{
				CardLoader.GetCardByName("Sauria_ParaB"),
				CardLoader.GetCardByName("Sauria_Cor"),
				CardLoader.GetCardByName("Sauria_Ed")
			});
			AddDeck("SauriaBleedDeck.png", "Bleed", new List<CardInfo>
			{
				CardLoader.GetCardByName("Sauria_Herrera"),
				CardLoader.GetCardByName("Sauria_Cera"),
				CardLoader.GetCardByName("Sauria_Carcha")
			});
			AddDeck("SauriaAcroDeck.png", "Acro", new List<CardInfo>
			{
				CardLoader.GetCardByName("Sauria_Procera"),
				CardLoader.GetCardByName("Sauria_Metria"),
				CardLoader.GetCardByName("Sauria_Acro")
			});
			AddDeck("SauriaGuardDeck.png", "Guards", new List<CardInfo>
			{
				CardLoader.GetCardByName("Sauria_Psi"),
				CardLoader.GetCardByName("Sauria_Pach"),
				CardLoader.GetCardByName("Sauria_Chasmo")
			});
			AddDeck("SauriaSpinoDeck.png", "Spinos", new List<CardInfo>
			{
				CardLoader.GetCardByName("Sauria_Irrit"),
				CardLoader.GetCardByName("Sauria_Bary"),
				CardLoader.GetCardByName("Sauria_Sucho")
			});
			AddDeck("SauriaRetaliateDeck.png", "Retaliate", new List<CardInfo>
			{
				CardLoader.GetCardByName("Sauria_Proto"),
				CardLoader.GetCardByName("Sauria_Shuno"),
				CardLoader.GetCardByName("Sauria_Dac")
			});
			AddDeck("SauriaCanDeck.png", "Cannibalism", new List<CardInfo>
			{
				CardLoader.GetCardByName("Sauria_Coelo"),
				CardLoader.GetCardByName("Sauria_Carno"),
				CardLoader.GetCardByName("Sauria_Maj")
			});
			AddDeck("SauriaStyrDeck.png", "Styr", new List<CardInfo>
			{
				CardLoader.GetCardByName("Sauria_Microcera"),
				CardLoader.GetCardByName("Sauria_Styra"),
				CardLoader.GetCardByName("Sauria_Tricera")
			});
			AddDeck("SauriaSinoDeck.png", "Sino", new List<CardInfo>
			{
				CardLoader.GetCardByName("Sauria_Sino"),
				CardLoader.GetCardByName("Sauria_Segi"),
				CardLoader.GetCardByName("Sauria_Australo")
			});
			AddDeck("SauriaFishDeck.png", "Fish", new List<CardInfo>
			{
				CardLoader.GetCardByName("Sauria_Asp"),
				CardLoader.GetCardByName("Sauria_Mawsonia"),
				CardLoader.GetCardByName("Sauria_Sar")
			});
			AddDeck("SauriaDunkDeck.png", "ArmoredFish", new List<CardInfo>
			{
				CardLoader.GetCardByName("Sauria_Sacaba"),
				CardLoader.GetCardByName("Sauria_Dunk"),
				CardLoader.GetCardByName("Sauria_Cepha")
			});
			AddDeck("SauriaAquaDeck.png", "Aquatic", new List<CardInfo>
			{
				CardLoader.GetCardByName("Sauria_Utat"),
				CardLoader.GetCardByName("Sauria_Icht"),
				CardLoader.GetCardByName("Sauria_Elas")
			});
			AddDeck("SauriaPterDeck.png", "Aviary", new List<CardInfo>
			{
				CardLoader.GetCardByName("Sauria_Rham"),
				CardLoader.GetCardByName("Sauria_Zhen"),
				CardLoader.GetCardByName("Sauria_Pterano")
			});
			AddDeck("SauriaSaberDeck.png", "Saber-Toothed", new List<CardInfo>
			{
				CardLoader.GetCardByName("Sauria_Kat"),
				CardLoader.GetCardByName("Sauria_San"),
				CardLoader.GetCardByName("Sauria_Que")
			});
			AddDeck("SauriaMamDeck.png", "Trunked", new List<CardInfo>
			{
				CardLoader.GetCardByName("Sauria_DEle"),
				CardLoader.GetCardByName("Sauria_Plat"),
				CardLoader.GetCardByName("Sauria_Mam")
			});
			AddDeck("SauriaBirdDeck.png", "Flightless", new List<CardInfo>
			{
				CardLoader.GetCardByName("Sauria_Hes"),
				CardLoader.GetCardByName("Sauria_Gas"),
				CardLoader.GetCardByName("Sauria_Tit")
			});
			AddDeck("SauriaFish2Deck.png", "Fish2", new List<CardInfo>
			{
				CardLoader.GetCardByName("Sauria_Cart"),
				CardLoader.GetCardByName("Sauria_Sar"),
				CardLoader.GetCardByName("Sauria_Protos")
			});
			AddDeck("SauriaCrocDeck.png", "Croc", new List<CardInfo>
			{
				CardLoader.GetCardByName("Sauria_Simo"),
				CardLoader.GetCardByName("Sauria_Desmato"),
				CardLoader.GetCardByName("Sauria_Posto")
			});
			AddDeck("SauriaPestDeck.png", "Pests", new List<CardInfo>
			{
				CardLoader.GetCardByName("Sauria_Ich"),
				CardLoader.GetCardByName("Sauria_Dimorph"),
				CardLoader.GetCardByName("Sauria_Jeho")
			});
			AddDeck("SauriaBoneDeck.png", "Fossils", new List<CardInfo>
			{
				CardLoader.GetCardByName("Sauria_Bone"),
				CardLoader.GetCardByName("Sauria_BoneWars"),
				CardLoader.GetCardByName("Sauria_Igu")
			});
			AddDeck("SauriaCaveDeck.png", "Cave", new List<CardInfo>
			{
				CardLoader.GetCardByName("Sauria_ALionB"),
				CardLoader.GetCardByName("Sauria_CBear"),
				CardLoader.GetCardByName("Sauria_Slo")
			});
			AddDeck("SauriaAntlerDeck.png", "Antler", new List<CardInfo>
			{
				CardLoader.GetCardByName("Sauria_Prong"),
				CardLoader.GetCardByName("Sauria_Elkk"),
				CardLoader.GetCardByName("Sauria_Eo")
			});
		}

		public static void AddSecretDeck(int unlock)
		{
			Texture2D val = Tools.LoadTexture("SauriaOwenDeck.png");
			StarterDeckInfo val2 = ScriptableObject.CreateInstance<StarterDeckInfo>();
			val2.title = "SecretDeckSauria";
			val2.iconSprite = TextureHelper.ConvertTexture(val, (SpriteType)9, (FilterMode)0);
			val2.cards = new List<CardInfo>
			{
				CardLoader.GetCardByName("Sauria_OwenA"),
				CardLoader.GetCardByName("Sauria_HBlue"),
				CardLoader.GetCardByName("Sauria_HIrex")
			};
			FullStarterDeck val3 = StarterDeckManager.Add("Sauria", val2, unlock);
			if (AchievementsMain.Enabled)
			{
				val3.CustomUnlockCheck = (int dummy) => AchievementsSaveMain.GainedIndominus && AchievementsSaveMain.Raptor && AchievementsSaveMain.JP;
			}
			AddToList(val2);
		}

		public static void AddSecretDeck2(int unlock)
		{
			Texture2D val = Tools.LoadTexture("SauriaIRexDeck.png");
			StarterDeckInfo val2 = ScriptableObject.CreateInstance<StarterDeckInfo>();
			val2.title = "IndominusDeckSauria";
			val2.iconSprite = TextureHelper.ConvertTexture(val, (SpriteType)9, (FilterMode)0);
			val2.cards = new List<CardInfo>
			{
				CardLoader.GetCardByName("Sauria_EggI"),
				CardLoader.GetCardByName("Sauria_Proc"),
				CardLoader.GetCardByName("Sauria_Deinon2")
			};
			FullStarterDeck val3 = StarterDeckManager.Add("Sauria", val2, unlock);
			if (AchievementsMain.Enabled)
			{
				val3.CustomUnlockCheck = (int dummy) => AchievementsSaveMain.GainedIndominus;
			}
			AddToList(val2);
		}

		public static void AddToList(StarterDeckInfo starterDeckInfo)
		{
			if (AchievementsMain.DeckList == null)
			{
				AchievementsMain.DeckList = new List<StarterDeckInfo>();
			}
			if (!AchievementsMain.DeckList.Exists((StarterDeckInfo x) => x.title == starterDeckInfo.title))
			{
				AchievementsMain.DeckList.Add(starterDeckInfo);
			}
		}

		public static void AddSecretDeck3(int unlock)
		{
			Texture2D val = Tools.LoadTexture("SauriaAlloDeck.png");
			StarterDeckInfo val2 = ScriptableObject.CreateInstance<StarterDeckInfo>();
			val2.title = "AllosaurusDeckSauria";
			val2.iconSprite = TextureHelper.ConvertTexture(val, (SpriteType)9, (FilterMode)0);
			val2.cards = new List<CardInfo>
			{
				CardLoader.GetCardByName("Sauria_BigAl"),
				CardLoader.GetCardByName("Sauria_Stok"),
				CardLoader.GetCardByName("Sauria_Allo")
			};
			FullStarterDeck val3 = StarterDeckManager.Add("Sauria", val2, unlock);
			if (AchievementsMain.Enabled)
			{
				val3.CustomUnlockCheck = (int dummy) => AchievementsSaveMain.HelpedBigAl;
			}
			AddToList(val2);
		}

		public static void AddSecretDeck4(int unlock)
		{
			Texture2D val = Tools.LoadTexture("SauriaGenDeck.png");
			StarterDeckInfo val2 = ScriptableObject.CreateInstance<StarterDeckInfo>();
			val2.title = "HybridDeckSauria";
			val2.iconSprite = TextureHelper.ConvertTexture(val, (SpriteType)9, (FilterMode)0);
			val2.cards = new List<CardInfo>
			{
				CardLoader.GetCardByName("Sauria_Compsteg"),
				CardLoader.GetCardByName("Sauria_Spinor"),
				CardLoader.GetCardByName("Sauria_Ankylod")
			};
			FullStarterDeck val3 = StarterDeckManager.Add("Sauria", val2, unlock);
			if (AchievementsMain.Enabled)
			{
				val3.CustomUnlockCheck = (int dummy) => AchievementsSaveMain.Hybrid;
			}
			AddToList(val2);
		}
	}
}
namespace SauriaCardsSpec
{
	public class Lea : SpecialCardBehaviour
	{
		public static SpecialTriggeredAbility ability;

		public bool active;

		public static void Init()
		{
			//IL_0019: Unknown result type (might be due to invalid IL or missing references)
			//IL_001e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0033: Unknown result type (might be due to invalid IL or missing references)
			ability = SpecialTriggeredAbilityManager.Add("Sauria", "Lea", typeof(Lea)).Id;
			DialogueEventGenerator.GenerateEvent("SauriaLeaLearned", new List<CustomLine> { CustomLine.op_Implicit("Something is off...") }, (List<List<CustomLine>>)null);
		}

		public override bool RespondsToResolveOnBoard()
		{
			return true;
		}

		public override IEnumerator OnResolveOnBoard()
		{
			Singleton<TableVisualEffectsManager>.Instance.ResetTableColors();
			SetSceneEffectsShown(showEffects: true);
			List<CardSlot> list = Singleton<BoardManager>.Instance.GetSlots(((SpecialCardBehaviour)this).PlayableCard.OpponentCard).FindAll((CardSlot x) => (Object)(object)x.Card != (Object)null && !x.Card.Dead && x.Card.Attack > 1);
			if (list.Count > 0)
			{
				foreach (CardSlot item in list)
				{
					if ((Object)(object)item.Card != (Object)null)
					{
						yield return Action(item.Card);
					}
				}
			}
			((MonoBehaviour)((SpecialCardBehaviour)this).PlayableCard).StartCoroutine(Checking());
			yield return DialogueEventGenerator.PlayDialogueEvent("SauriaLeaLearned", 0.5f);
		}

		public void SetSceneEffectsShown(bool showEffects)
		{
			//IL_0101: Unknown result type (might be due to invalid IL or missing references)
			//IL_0106: Unknown result type (might be due to invalid IL or missing references)
			//IL_0118: Unknown result type (might be due to invalid IL or missing references)
			//IL_011d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0134: