Decompiled source of SauriaCards v1.0.1
SauriaCards.dll
Decompiled 5 hours ago
The result has been truncated due to the large size, download it to view full contents!
using System; using System.Collections; using System.Collections.Generic; using System.Diagnostics; using System.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: