Decompiled source of GrimoraMod v7.6.2
GrimoraMod.dll
Decompiled 3 weeks 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.IO.Compression; using System.Linq; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Serialization; using System.Runtime.Serialization.Json; using System.Runtime.Versioning; using System.Security; using System.Security.Cryptography; using System.Security.Permissions; using System.Text; using BepInEx; using BepInEx.Bootstrap; using BepInEx.Configuration; using BepInEx.Logging; using DiskCardGame; using GBC; using GrimoraMod.Consumables; using GrimoraMod.Core.Consumables.Secret; using GrimoraMod.Extensions; using GrimoraMod.Saving; using HarmonyLib; using Infiniscryption.Achievements; using InscryptionAPI.Ascension; using InscryptionAPI.Card; using InscryptionAPI.Encounters; using InscryptionAPI.Guid; using InscryptionAPI.Helpers; using InscryptionAPI.Helpers.Extensions; using InscryptionAPI.Items; using InscryptionAPI.Items.Extensions; using InscryptionAPI.Saves; using InscryptionAPI.Triggers; using InscryptionCommunityPatch.Card; using InscryptionCommunityPatch.ResourceManagers; using Pixelplacement; using Pixelplacement.TweenSystem; using Sirenix.Serialization.Utilities; using Sirenix.Utilities; using TMPro; using Unity.Cloud.UserReporting.Plugin.SimpleJson; using UnityEngine; using UnityEngine.Events; using UnityEngine.SceneManagement; using UnityEngine.UI; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: TargetFramework(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")] [assembly: AssemblyCompany("GrimoraMod")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0")] [assembly: AssemblyProduct("GrimoraMod")] [assembly: AssemblyTitle("GrimoraMod")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.0.0.0")] [module: UnverifiableCode] namespace GrimoraMod { public class AbilityBuilder<T> where T : AbilityBehaviour { private readonly AbilityInfo _abilityInfo = ScriptableObject.CreateInstance<AbilityInfo>(); private readonly Type _type; private Texture _rulebookIcon; public static AbilityBuilder<T> Builder => new AbilityBuilder<T>(typeof(T)); private AbilityBuilder(Type type) { _type = type; _abilityInfo.metaCategories = new List<AbilityMetaCategory> { (AbilityMetaCategory)5 }; if (_type.Name.Contains("Activated")) { _abilityInfo.activated = true; } } public FullAbility Build() { HandleRulebookName(); return SetupAbility(); } private FullAbility SetupAbility() { //IL_0060: Unknown result type (might be due to invalid IL or missing references) Texture val = (Object.op_Implicit((Object)(object)_rulebookIcon) ? _rulebookIcon : AssetUtils.GetPrefab<Texture>("ability_" + _type.Name)); FullAbility val2 = AbilityManager.Add("arackulele.inscryption.grimoramod", _abilityInfo, _type, val); FieldInfo field = _type.GetField("ability", BindingFlags.Instance | BindingFlags.Static | BindingFlags.Public); field.SetValue(null, val2.Id); return val2; } public AbilityBuilder<T> SetRulebookName(string rulebookName) { _abilityInfo.rulebookName = rulebookName; return this; } public AbilityBuilder<T> SetPixelIcon(Sprite PixelIcon) { _abilityInfo.pixelIcon = PixelIcon; return this; } private void HandleRulebookName() { string text = _abilityInfo.rulebookName; if (StringExtensions.IsNullOrWhitespace(text)) { text = _type.Name; } _abilityInfo.rulebookName = (text.Contains(" ") ? text : StringExtensions.SplitPascalCase(text)); } public AbilityBuilder<T> SetRulebookDescription(string rulebookDescription) { _abilityInfo.rulebookDescription = rulebookDescription; return this; } public AbilityBuilder<T> FlipIconIfOnOpponentSide() { _abilityInfo.flipYIfOpponent = true; return this; } public AbilityBuilder<T> SetCanStack() { _abilityInfo.canStack = true; return this; } public AbilityBuilder<T> SetIcon(Texture iconToSet) { _rulebookIcon = iconToSet; return this; } public AbilityBuilder<T> SetPowerLevel(int powerLevel) { _abilityInfo.powerLevel = powerLevel; return this; } } public class ActivatedBartending : ActivatedAbilityBehaviour { private const int ENERGY_COST = 3; public const string RulebookName = "Comin' right up!"; public const string ModSingletonId = "GrimoraMod_BartendHealth"; public static Ability ability; public override Ability Ability => ability; public override int EnergyCost => 3; public override bool CanActivate() { List<CardSlot> allSlotsCopy = Singleton<BoardManager>.Instance.AllSlotsCopy; List<CardSlot> allSlotsCopy2 = Singleton<BoardManager>.Instance.AllSlotsCopy; foreach (CardSlot item in allSlotsCopy) { if ((Object)(object)item.Card == (Object)null) { allSlotsCopy2.Remove(item); } else if ((Object)(object)item.Card == (Object)(object)((AbilityBehaviour)this).Card) { allSlotsCopy2.Remove(item); } } if (allSlotsCopy2.Count > 0) { return true; } return false; } public override IEnumerator Activate() { List<CardSlot> opponentSlotsCopy = Singleton<BoardManager>.Instance.AllSlotsCopy; List<CardSlot> validtargets = Singleton<BoardManager>.Instance.AllSlotsCopy; validtargets.RemoveAll((CardSlot x) => (Object)(object)x.Card == (Object)null); validtargets.RemoveAll((CardSlot x) => (Object)(object)x.Card == (Object)(object)((AbilityBehaviour)this).Card); CardSlot opposingSlot = ((AbilityBehaviour)this).Card.Slot.opposingSlot; if (validtargets.Count != 0 && (Object)(object)opposingSlot.Card == (Object)null) { _ = ((AbilityBehaviour)this).Card.slot; new List<CardSlot>(); Singleton<ViewManager>.Instance.SwitchToView(Singleton<BoardManager>.Instance.CombatView, false, false); Singleton<ViewManager>.Instance.Controller.LockState = (ViewLockState)1; Singleton<ViewManager>.Instance.Controller.SwitchToControlMode(Singleton<BoardManager>.Instance.ChoosingSlotViewMode, false); Singleton<ViewManager>.Instance.Controller.LockState = (ViewLockState)0; _ = Singleton<InteractionCursor>.Instance.CurrentInteractable is CardSlot; BoardManager instance = Singleton<BoardManager>.Instance; CardSlot target = null; yield return instance.ChooseTarget(opponentSlotsCopy, validtargets, (Action<CardSlot>)delegate(CardSlot slot) { target = slot; }, (Action<CardSlot>)null, (Action<CardSlot>)null, (Func<bool>)(() => false), (CursorType)16); Singleton<ViewManager>.Instance.Controller.SwitchToControlMode(Singleton<BoardManager>.Instance.DefaultViewMode, false); Singleton<ViewManager>.Instance.Controller.LockState = (ViewLockState)1; Singleton<ViewManager>.Instance.SwitchToView(Singleton<BoardManager>.Instance.CombatView, false, false); if (CardSlotExtensions.IsOpponentSlot(target)) { yield return target.Card.TakeDamage(1, ((AbilityBehaviour)this).Card); } else { CardModificationInfo _modInfo = new CardModificationInfo { nonCopyable = true, singletonId = "GrimoraMod_BartendHealth" + Random.Range(10000, 99999) }; _modInfo.healthAdjustment++; target.Card.AddTemporaryMod(_modInfo); } yield return (object)new WaitForSeconds(0.2f); Singleton<ViewManager>.Instance.SwitchToView(Singleton<BoardManager>.Instance.DefaultView, false, false); Singleton<ViewManager>.Instance.Controller.LockState = (ViewLockState)0; } } } [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInPlugin("arackulele.inscryption.grimoramod", "GrimoraMod", "3.5.0")] public class GrimoraPlugin : BaseUnityPlugin { public const string NameAnimator = "arackulele.inscryption.grimoramod_Animator"; public const string NameApparition = "arackulele.inscryption.grimoramod_Apparition"; public const string NameAshes = "arackulele.inscryption.grimoramod_Ashes"; public const string NameBalBal = "arackulele.inscryption.grimoramod_BalBal"; public const string NameBanshee = "arackulele.inscryption.grimoramod_Banshee"; public const string NameBartender = "arackulele.inscryption.grimoramod_Bartender"; public const string NameBigbones = "arackulele.inscryption.grimoramod_Bigbones"; public const string NameBloodySack = "arackulele.inscryption.grimoramod_BloodySack"; public const string NameBoneCollective = "arackulele.inscryption.grimoramod_BoneCollective"; public const string NameBonehound = "arackulele.inscryption.grimoramod_Bonehound"; public const string NameBonelord = "arackulele.inscryption.grimoramod_Bonelord"; public const string NameBoneLordsHorn = "arackulele.inscryption.grimoramod_BonelordsHorn"; public const string NameBonepile = "arackulele.inscryption.grimoramod_Bonepile"; public const string NameBonePrince = "arackulele.inscryption.grimoramod_BonePrince"; public const string NameBooHag = "arackulele.inscryption.grimoramod_BooHag"; public const string NameCalaveraCatrina = "arackulele.inscryption.grimoramod_CalaveraCatrina"; public const string NameCatacomb = "arackulele.inscryption.grimoramod_Catacomb"; public const string NameCenturion = "arackulele.inscryption.grimoramod_Centurion"; public const string NameCompoundFracture = "arackulele.inscryption.grimoramod_CompoundFracture"; public const string NameDalgyal = "arackulele.inscryption.grimoramod_Dalgyal"; public const string NameDanseMacabre = "arackulele.inscryption.grimoramod_DanseMacabre"; public const string NameDeadeye = "arackulele.inscryption.grimoramod_Deadeye"; public const string NameDeadHand = "arackulele.inscryption.grimoramod_DeadHand"; public const string NameDeadManWalking = "arackulele.inscryption.grimoramod_DeadManWalking"; public const string NameDeadPets = "arackulele.inscryption.grimoramod_DeadPets"; public const string NameDeathKnell = "arackulele.inscryption.grimoramod_DeathKnell"; public const string NameDeathKnellBell = "arackulele.inscryption.grimoramod_DeathKnell_Bell"; public const string NameDoll = "arackulele.inscryption.grimoramod_Doll"; public const string NameDraugr = "arackulele.inscryption.grimoramod_Draugr"; public const string NameDrownedSoul = "arackulele.inscryption.grimoramod_DrownedSoul"; public const string NameDybbuk = "arackulele.inscryption.grimoramod_Dybbuk"; public const string NameEctoplasm = "arackulele.inscryption.grimoramod_Ectoplasm"; public const string NameBoneclaw = "arackulele.inscryption.grimoramod_Boneclaw"; public const string NameBoneless = "arackulele.inscryption.grimoramod_Boneless"; public const string NameEgyptMummy = "arackulele.inscryption.grimoramod_EgyptMummy"; public const string NameEidolon = "arackulele.inscryption.grimoramod_Eidolon"; public const string NameEmberSpirit = "arackulele.inscryption.grimoramod_Ember_Spirit"; public const string NameFamily = "arackulele.inscryption.grimoramod_Family"; public const string NameFesteringWretch = "arackulele.inscryption.grimoramod_FesteringWretch"; public const string NameFlames = "arackulele.inscryption.grimoramod_Flames"; public const string NameFlameskull = "arackulele.inscryption.grimoramod_Flameskull"; public const string NameForgottenMan = "arackulele.inscryption.grimoramod_ForgottenMan"; public const string NameFranknstein = "arackulele.inscryption.grimoramod_Franknstein"; public const string NameFylgja = "arackulele.inscryption.grimoramod_Fylgja"; public const string NameWardingPresence = "arackulele.inscryption.grimoramod_WardingPresence"; public const string NameMassGrave = "arackulele.inscryption.grimoramod_MassGrave"; public const string NameRisingHunger = "arackulele.inscryption.grimoramod_RisingHunger"; public const string NameGashadokuro = "arackulele.inscryption.grimoramod_Gashadokuro"; public const string NameGhostShip = "arackulele.inscryption.grimoramod_GhostShip"; public const string NameGhostShipRoyal = "arackulele.inscryption.grimoramod_GhostShipRoyal"; public const string NameGiant = "arackulele.inscryption.grimoramod_Giant"; public const string NameGratefulDead = "arackulele.inscryption.grimoramod_GratefulDead"; public const string NameGravebard = "arackulele.inscryption.grimoramod_Gravebard"; public const string NameGraveCarver = "arackulele.inscryption.grimoramod_GraveCarver"; public const string NameGravedigger = "arackulele.inscryption.grimoramod_Gravedigger"; public const string NameSporedigger = "arackulele.inscryption.grimoramod_Sporedigger"; public const string NameHaltia = "arackulele.inscryption.grimoramod_Haltia"; public const string NameHauntedMirror = "arackulele.inscryption.grimoramod_HauntedMirror"; public const string NameHeadlessHorseman = "arackulele.inscryption.grimoramod_HeadlessHorseman"; public const string NameHellhand = "arackulele.inscryption.grimoramod_Hellhand"; public const string NameHellHound = "arackulele.inscryption.grimoramod_HellHound"; public const string NameHydra = "arackulele.inscryption.grimoramod_Hydra"; public const string NameJikininki = "arackulele.inscryption.grimoramod_Jikininki"; public const string NameAvalanche = "arackulele.inscryption.grimoramod_Avalanche"; public const string NameGlacier = "arackulele.inscryption.grimoramod_Glacier"; public const string NameFrostGiant = "arackulele.inscryption.grimoramod_FrostGiant"; public const string NameIceCube = "arackulele.inscryption.grimoramod_IceCube"; public const string NameLaLlorona = "arackulele.inscryption.grimoramod_LaLlorona"; public const string NameManananggal = "arackulele.inscryption.grimoramod_Manananggal"; public const string NameMoroi = "arackulele.inscryption.grimoramod_Moroi"; public const string NameMummy = "arackulele.inscryption.grimoramod_Mummy"; public const string NameNecromancer = "arackulele.inscryption.grimoramod_Necromancer"; private Sprite pixelSprite = "Necromancer".GetCardInfo().pixelPortrait; public const string NameNixie = "arackulele.inscryption.grimoramod_Nixie"; public const string NameNosferat = "arackulele.inscryption.grimoramod_Nosferat"; public const string NameObol = "arackulele.inscryption.grimoramod_Obol"; public const string NameOneArmedBandit = "arackulele.inscryption.grimoramod_OneArmedBandit"; public const string NameOurobones = "arackulele.inscryption.grimoramod_Ourobones"; public const string NamePlagueDoctor = "arackulele.inscryption.grimoramod_PlagueDoctor"; public const string NamePoltergeist = "arackulele.inscryption.grimoramod_Poltergeist"; public const string NamePossessedArmour = "arackulele.inscryption.grimoramod_PossessedArmour"; public const string NameProject = "arackulele.inscryption.grimoramod_Project"; public const string NameRandomCard = "arackulele.inscryption.grimoramod_Random"; public const string NameRevenant = "arackulele.inscryption.grimoramod_Revenant"; public const string NameRipper = "arackulele.inscryption.grimoramod_Ripper"; public const string NameRot = "arackulele.inscryption.grimoramod_Rot"; public const string NameRotTail = "arackulele.inscryption.grimoramod_Rot_tail"; public const string NameDavyJonesLocker = "arackulele.inscryption.grimoramod_DavyJonesLocker"; public const string NamePirateCaptainYellowbeard = "arackulele.inscryption.grimoramod_PirateCaptainYellowbeard"; public const string NameCrossBones = "arackulele.inscryption.grimoramod_Crossbones"; public const string NameDavyJones = "arackulele.inscryption.grimoramod_PirateDavyJones"; public const string NamePirateExploding = "arackulele.inscryption.grimoramod_ExplodingPirate"; public const string NamePirateFirstMateSnag = "arackulele.inscryption.grimoramod_PirateFirstMateSnag"; public const string NamePiratePolly = "arackulele.inscryption.grimoramod_PiratePolly"; public const string NamePiratePrivateer = "arackulele.inscryption.grimoramod_PiratePrivateer"; public const string NamePirateSwashbuckler = "arackulele.inscryption.grimoramod_PirateSwashbuckler"; public const string NameSarcophagus = "arackulele.inscryption.grimoramod_Sarcophagus"; public const string NameScreamingSkull = "arackulele.inscryption.grimoramod_ScreamingSkull"; public const string NameSilbon = "arackulele.inscryption.grimoramod_Silbon"; public const string NameSkelemagus = "arackulele.inscryption.grimoramod_Skelemagus"; public const string NameSkeleton = "Skeleton"; public const string NameSkeletonArmy = "arackulele.inscryption.grimoramod_SkeletonArmy"; public const string NameSlingersSoul = "arackulele.inscryption.grimoramod_SlingersSoul"; public const string NameSluagh = "arackulele.inscryption.grimoramod_Sluagh"; public const string NameCandyBucket = "arackulele.inscryption.grimoramod_CandyBucket"; public const string NameCandyMonster = "arackulele.inscryption.grimoramod_CandyMonster"; public const string NameSpectrabbit = "arackulele.inscryption.grimoramod_Spectrabbit"; public const string NameSpectre = "arackulele.inscryption.grimoramod_Spectre"; public const string NameStarvedMan = "arackulele.inscryption.grimoramod_StarvedMan"; public const string NameSummoner = "arackulele.inscryption.grimoramod_Summoner"; public const string NameTamperedCoffin = "arackulele.inscryption.grimoramod_TamperedCoffin"; public const string NameDeadTree = "arackulele.inscryption.grimoramod_DeadTree"; public const string NameDisturbedGrave = "arackulele.inscryption.grimoramod_DisturbedGrave"; public const string NameDisturbedGraveNonTerrain = "arackulele.inscryption.grimoramod_DisturbedGraveNonTerrain"; public const string NameKennel = "arackulele.inscryption.grimoramod_Kennel"; public const string NameObelisk = "arackulele.inscryption.grimoramod_Obelisk"; public const string NameShipwreck = "arackulele.inscryption.grimoramod_Shipwreck"; public const string NameShipwreckDams = "arackulele.inscryption.grimoramod_Shipwreck_Dams"; public const string NameUrn = "arackulele.inscryption.grimoramod_Urn"; public const string NameVoodooDoll = "arackulele.inscryption.grimoramod_Voodoo_Doll"; public const string NameTombRobber = "arackulele.inscryption.grimoramod_TombRobber"; public const string NameGiantEphialtes = "arackulele.inscryption.grimoramod_GiantEphialtes"; public const string NameGiantOtis = "arackulele.inscryption.grimoramod_GiantOtis"; public const string NameUndertaker = "arackulele.inscryption.grimoramod_Undertaker"; public const string NameUnknown_CoffinLad = "arackulele.inscryption.grimoramod_Unknown_CoffinLad"; public const string NameVampire = "arackulele.inscryption.grimoramod_Vampire"; public const string NameVellum = "arackulele.inscryption.grimoramod_Vellum"; public const string NameVengefulSpirit = "arackulele.inscryption.grimoramod_VengefulSpirit"; public const string NameWarthr = "arackulele.inscryption.grimoramod_Warthr"; public const string NameWechuge = "arackulele.inscryption.grimoramod_Wechuge"; public const string NameWight = "arackulele.inscryption.grimoramod_Wight"; public const string NameWillOTheWisp = "arackulele.inscryption.grimoramod_WillOTheWisp"; public const string NameWrither = "arackulele.inscryption.grimoramod_Writher"; public const string NameWritherTail = "arackulele.inscryption.grimoramod_Writher_tail"; public const string NameZombie = "arackulele.inscryption.grimoramod_Zombie"; public const string GUID = "arackulele.inscryption.grimoramod"; public const string Name = "GrimoraMod"; private const string Version = "3.5.0"; internal static ManualLogSource Log; private static Harmony _harmony; public static List<GameObject> AllPrefabs = new List<GameObject>(); public static List<Material> AllMats; public static List<RuntimeAnimatorController> AllControllers; public static List<Sprite> AllSprites; public static List<AudioClip> AllSounds; public static List<Texture> AllAbilitiesTextures; public static List<Mesh> AllMesh; public static List<Font> AllFonts; public static List<CardInfo> AllGrimoraModCards = new List<CardInfo>(); public static List<string> AllGrimoraModCardsNoGuid = new List<string>(); public static List<CardInfo> AllPlayableGrimoraModCards = new List<CardInfo>(); public static List<ConsumableItemData> ObtainableGrimoraItems = new List<ConsumableItemData>(); public static List<ConsumableItemData> GrimoraItemsSecret = new List<ConsumableItemData>(); public static readonly CardMetaCategory GrimoraChoiceNode = GuidManager.GetEnumValue<CardMetaCategory>("arackulele.inscryption.grimoramod", "GrimoraModChoiceNode"); public static readonly AbilityMetaCategory ElectricChairLevel1 = GuidManager.GetEnumValue<AbilityMetaCategory>("arackulele.inscryption.grimoramod", "ElectricChairLevel1"); public static readonly AbilityMetaCategory ElectricChairLevel2 = GuidManager.GetEnumValue<AbilityMetaCategory>("arackulele.inscryption.grimoramod", "ElectricChairLevel2"); public static readonly AbilityMetaCategory ElectricChairLevel3 = GuidManager.GetEnumValue<AbilityMetaCategory>("arackulele.inscryption.grimoramod", "ElectricChairLevel3"); internal static List<GameObject> NewObjects = new List<GameObject>(); public static bool gamblingexpansion = false; public static GameObject HandModel; public static GameObject FemurModel; private static bool addedvoices = false; private static Sprite triangle; private static Font kayceefont; private static Font sawyerfont; private static Font royalfont; private static Font gamblingfont; private static Font bonelordfont; private static Font mycofont; internal static Achievement GrimReminder { get; private set; } internal static Achievement CowardsEnd { get; private set; } internal static Achievement SeasonOfStorms { get; private set; } internal static Achievement TheBlackBirdTheDarkSlope { get; private set; } internal static Achievement BoneSaw { get; private set; } internal static Achievement PileOfSkulls { get; private set; } internal static Achievement DanceOfDoom { get; private set; } internal static Achievement TheSpiritsWay { get; private set; } internal static Achievement WailOfTheDamned { get; private set; } internal static Achievement SomethingEnds { get; private set; } internal static Achievement CullTheWeak { get; private set; } internal static Achievement GatewayToDis { get; private set; } public static bool Initialized { get; set; } public static void Add_Ability_ActivatedBartending() { AbilityBuilder<ActivatedBartending>.Builder.SetRulebookDescription("Pay 3 Souls to select any card on the board, [creature] will deal 1 damage to the selected card if it is an opponent card, if it isn't, [creature] will heal it for 1 health.").SetRulebookName("Comin' right up!").Build(); } public void Add_Ability_ActivatedDealDamageGrimora() { AbilityBuilder<ActivatedDealDamageGrimora>.Builder.SetRulebookDescription("Pay 1 Soul to deal 1 damage to the creature across from [creature].").SetPixelIcon(AssetUtils.GetPrefab<Sprite>("pixelability_activated_dealsouldamage")).SetRulebookName("Soul Shot") .Build(); } public void Add_Ability_ActivatedDrawSkeletonGrimora() { AbilityBuilder<ActivatedDrawSkeletonGrimora>.Builder.SetRulebookDescription("Pay 1 Bone to create a Skeleton in your hand.").SetPixelIcon(AssetUtils.GetPrefab<Sprite>("pixelability_activated_drawskeletons")).SetRulebookName("Disinter") .Build(); } public static void Add_Ability_ActivatedEnergyDrawWyvern() { AbilityBuilder<ActivatedEnergyDrawWyvern>.Builder.SetRulebookDescription("Pay 2 Souls for [creature] to summon a copy in your hand.").SetRulebookName("Materialize").Build(); } public static void Add_Ability_ActivatedFuneral() { AbilityBuilder<ActivatedFuneral>.Builder.SetRulebookDescription("Pay 2 Souls, [creature] will trap a random opponent card in a coffin, which will release the original card again upon perishing.").SetRulebookName("Funeral Rites").Build(); } public void Add_Ability_SoulSucker() { AbilityBuilder<ActivatedGainEnergySoulSucker>.Builder.SetRulebookDescription("When an opponent creature perishes, [creature] will store a charge of soul energy, up to 4. Activating this sigil will add 3 soul energy to your current energy counter, and one max energy.").SetRulebookName("Soul Sucker").SetIcon(AllAbilitiesTextures.Single((Texture spr) => ((Object)spr).name.Equals("ability_ActivatedGainEnergySoulSucker_0"))) .Build(); } public static void Add_Ability_ActivatedRandomPowerWeight() { AbilityBuilder<ActivatedRandomPowerWeight>.Builder.SetRulebookDescription("Pay 2 Bones for the power of [creature] to be randomized between 0 and 5.").SetRulebookName("Weighted Die").Build(); } public void Add_Ability_AlternatingStrike() { AbilityBuilder<AlternatingStrike>.Builder.FlipIconIfOnOpponentSide().SetRulebookDescription("[creature] alternates between striking the opposing space to the left and right from it.").SetPowerLevel(0) .Build(); } public void Add_Ability_Anchored() { AbilityBuilder<Anchored>.Builder.SetRulebookDescription("[creature] is unaffected by the motion of the ship.").SetPixelIcon(AssetUtils.GetPrefab<Sprite>("anchor_pixel")).Build(); } public void Add_Ability_AreaOfEffectStrike() { AbilityBuilder<AreaOfEffectStrike>.Builder.FlipIconIfOnOpponentSide().SetRulebookDescription("[creature] will strike its adjacent slots, and each opposing space to the left, right, and center of it.").Build(); } public void Add_Ability_BloodGuzzler() { //IL_0010: Unknown result type (might be due to invalid IL or missing references) AbilityInfo info = AbilitiesUtil.GetInfo((Ability)90); AbilityBuilder<BloodGuzzler> builder = AbilityBuilder<BloodGuzzler>.Builder; Ability val = (Ability)90; builder.SetIcon(AbilitiesUtil.LoadAbilityIcon(((object)(Ability)(ref val)).ToString(), false, false)).SetRulebookDescription(info.rulebookDescription).Build(); } public void Add_Ability_Boneless() { AbilityBuilder<Boneless>.Builder.SetRulebookDescription("[creature] yields no bones upon death.").Build(); } public void Add_Ability_BoneThief() { AbilityBuilder<BoneThief>.Builder.SetRulebookDescription("When [creature] kills another creature, gain 2 bones.").Build(); } public void Add_Ability_Bounty() { AbilityBuilder<Bounty>.Builder.SetPixelIcon(AssetUtils.GetPrefab<Sprite>("bounty_pixel")).SetRulebookDescription("[creature] takes 1 Soul from you at the end of every turn and stores it as 2 Bones, up to a maximum of 8. When [creature] dies, you gain all bones contained in it.").Build(); } public void Add_Ability_BuffCrewMates() { AbilityBuilder<BuffSkeletonsSeaShanty>.Builder.SetRulebookDescription("[creature] empowers each Skeleton on the owner's side of the board, providing a +1 buff to their power.").SetPixelIcon(AssetUtils.GetPrefab<Sprite>("shanty_pixel")).SetRulebookName("Sea Shanty") .Build(); } public void Add_Ability_Burning() { AbilityBuilder<Burning>.Builder.SetRulebookDescription("[creature] takes 1 Damage at the end of your turn, when it gets attacked by another Card, that card gets set on fire.").Build(); } public void Add_Ability_ChaosStrike() { AbilityBuilder<ChaosStrike>.Builder.FlipIconIfOnOpponentSide().SetRulebookDescription("[creature] will strike the opposing slots to the left, right, and center of it randomly, up to 3 times.").Build(); } public void Add_Ability_ColdFront() { AbilityBuilder<ColdFront>.Builder.SetRulebookDescription("When [creature] perishes, the card opposing it is Frozen Away if not already frozen.").Build(); } public void Add_Ability_Collector() { AbilityBuilder<Collector>.Builder.SetPixelIcon(AssetUtils.GetPrefab<Sprite>("relichoarder2")).SetRulebookDescription("When [creature] dies, gain a consumable item, if you have a free slot.").Build(); } public void Add_Ability_CreateArmyOfSkeletons() { AbilityBuilder<CreateArmyOfSkeletons>.Builder.SetRulebookDescription("When [creature] is played, a Skeleton is created in each empty space on the owner's side. [define:Skeleton]").SetRulebookName("Skeleton Horde").SetPixelIcon(AssetUtils.GetPrefab<Sprite>("skeletonhorde2")) .Build(); } public void Add_Ability_CreateShipwrecks() { //IL_0007: Unknown result type (might be due to invalid IL or missing references) AbilityBuilder<CreateShipwrecks> builder = AbilityBuilder<CreateShipwrecks>.Builder; Ability val = (Ability)6; builder.SetIcon(AbilitiesUtil.LoadAbilityIcon(((object)(Ability)(ref val)).ToString(), false, false)).SetRulebookDescription("When [creature] is played, a Shipwreck is created on each empty adjacent space. [define:arackulele.inscryption.grimoramod_Shipwreck_Dams]").SetRulebookName("Shipwreck Finder") .Build(); } public void Add_Ability_DrawSkeletonOnHit() { AbilityBuilder<DrawSkeletonOnHit>.Builder.SetRulebookDescription("Once [creature] is struck, draw a card from your Skeleton pile.").SetRulebookName("Skeletons Within").Build(); } public void Add_Ability_DropCandy() { AbilityBuilder<DropCandy>.Builder.SetRulebookDescription("[creature] will yield candy upon death, maybe this will be useful for later.").SetRulebookName("Full o' candy").Build(); } public void Add_Ability_Erratic() { AbilityBuilder<Erratic>.Builder.SetRulebookDescription("At the end of the owner's turn, [creature] will move in a random direction.").Build(); } public void Add_Ability_FlameStrafe() { AbilityBuilder<FlameStrafe>.Builder.SetRulebookDescription("Whenever [creature] moves, it leaves a trail of Embers. [define:arackulele.inscryption.grimoramod_Flames]").Build(); } public void Add_Ability_Fylgja_GuardDog() { //IL_0008: Unknown result type (might be due to invalid IL or missing references) AbilityBuilder<Fylgja_GuardDog> builder = AbilityBuilder<Fylgja_GuardDog>.Builder; Ability val = (Ability)18; builder.SetIcon(AbilitiesUtil.LoadAbilityIcon(((object)(Ability)(ref val)).ToString(), false, false)).SetRulebookDescription("When an opposing creature is placed opposite to an empty space, [creature] will move to that empty space.").SetRulebookName("Guarding Presence") .Build(); } public void Add_Ability_GainAttackNoBones() { AbilityBuilder<GainAttackNoBones>.Builder.SetRulebookDescription("If you have no Bones, at the start of your turn [creature] deals 2 more damage.").SetRulebookName("Bone Starved").Build(); } public void Add_Ability_GiantStrike() { AbilityBuilder<GiantStrike>.Builder.FlipIconIfOnOpponentSide().SetRulebookDescription("[creature] will strike each opposing space. If only one creature is in the opposing spaces, this card will strike that creature twice. ").Build(); } public void Add_Ability_GiantStrikeEnraged() { AbilityBuilder<GiantStrikeEnraged>.Builder.FlipIconIfOnOpponentSide().SetRulebookDescription("[creature] will strike each opposing space.").SetRulebookName("Enraged Giant") .Build(); } public void Add_Ability_GrimoraEvolve() { //IL_0007: Unknown result type (might be due to invalid IL or missing references) AbilityBuilder<GrimoraEvolve> builder = AbilityBuilder<GrimoraEvolve>.Builder; Ability val = (Ability)5; builder.SetIcon(AbilitiesUtil.LoadAbilityIcon(((object)(Ability)(ref val)).ToString(), false, false)).SetRulebookDescription("After one turn on the board, [creature] will evolve into a greater form.").SetRulebookName("Fledgling") .Build(); } public void Add_Ability_GrimoraRandomAbility() { //IL_0008: Unknown result type (might be due to invalid IL or missing references) AbilityBuilder<GrimoraRandomAbility> builder = AbilityBuilder<GrimoraRandomAbility>.Builder; Ability val = (Ability)31; builder.SetIcon(AbilitiesUtil.LoadAbilityIcon(((object)(Ability)(ref val)).ToString(), false, false)).SetRulebookDescription("When [creature] is drawn, this sigil is replaced with another sigil at random.").SetRulebookName("Random Ability") .SetPixelIcon(AssetUtils.GetPrefab<Sprite>("random_pixel")) .Build(); } public void Add_Ability_Haunter() { //IL_0008: Unknown result type (might be due to invalid IL or missing references) AbilityBuilder<Haunter> builder = AbilityBuilder<Haunter>.Builder; Ability val = (Ability)91; builder.SetIcon(AbilitiesUtil.LoadAbilityIcon(((object)(Ability)(ref val)).ToString(), false, false)).SetPixelIcon(AssetUtils.GetPrefab<Sprite>("haunter_pixel")).SetRulebookDescription("When [creature] perishes, it haunts the space it died in. The first creature played on this space gain its old sigils.") .Build(); } public void Add_Ability_HauntingCall() { AbilityBuilder<HauntingCall>.Builder.SetRulebookDescription("Every turn [creature] is on the Board, it will take a Bone from you, if you have no Bones, it perishes.").SetRulebookName("Haunting Call").Build(); } public void Add_Ability_HookLineAndSinker() { AbilityBuilder<HookLineAndSinker>.Builder.SetRulebookDescription("When [creature] perishes, the creature in the opposing slot is dragged onto the owner's side of the board.").SetPixelIcon(AssetUtils.GetPrefab<Sprite>("hook_pixel")).Build(); } public void Add_Ability_Imbued() { AbilityBuilder<Imbued>.Builder.SetRulebookDescription("When a non-brittle ally card perishes, [creature] gains 1 power.").SetPixelIcon(AssetUtils.GetPrefab<Sprite>("imbued_pixel")).Build(); } public void Add_Ability_InvertedStrike() { AbilityBuilder<InvertedStrike>.Builder.SetRulebookDescription("[creature] will strike the opposing slot as if the board was flipped. A card in the far left slot will attack the opposing far right slot.").SetPixelIcon(AssetUtils.GetPrefab<Sprite>("invertedstrike2")).FlipIconIfOnOpponentSide() .Build(); } public void Add_Ability_LatchBoneDigger() { AbilityBuilder<LatchBoneDigger>.Builder.SetPixelIcon(AssetUtils.GetPrefab<Sprite>("diggerlatcher2")).SetRulebookDescription("When [creature] perishes, its owner chooses a creature to gain the Bonedigger sigil.").Build(); } public void Add_Ability_LatchSubmerge() { AbilityBuilder<LatchSubmerge>.Builder.SetRulebookDescription("When [creature] perishes, its owner chooses a creature to gain the Waterborne sigil.").Build(); } public void Add_Ability_LitFuse() { AbilityBuilder<LitFuse>.Builder.SetRulebookDescription("[creature] loses 1 health per turn. When [creature] dies, the creature opposing it, as well as adjacent friendly creatures, are dealt 10 damage.").Build(); } public void Add_Ability_LooseLimb() { AbilityBuilder<LooseLimb>.Builder.SetRulebookDescription("When [creature] would be struck, a severed limb is created in its place and this card moves into an adjacent open slot.").Build(); } public void Add_Ability_Malnourishment() { AbilityBuilder<Malnourishment>.Builder.SetRulebookDescription("Each time [creature] deals damage directly, it loses 1 power and health.").Build(); } public void Add_Ability_MarchingDead() { AbilityBuilder<MarchingDead>.Builder.SetRulebookDescription("When [creature] is played, also play the cards in your hand that were adjacent to this card for free.").Build(); } public void Add_Ability_NegateFire() { AbilityBuilder<NegateFire>.Builder.SetRulebookName("Douse").SetRulebookDescription("When played,[creature] will extinguish all cards on the Board.").Build(); } public void Add_Ability_Possessive() { AbilityBuilder<Possessive>.Builder.SetRulebookDescription("[creature] cannot be attacked from the opposing slot. The opposing slot, if possible, instead attacks one of its adjacent friendly cards.").SetPixelIcon(AssetUtils.GetPrefab<Sprite>("posessive_pixel")).Build(); } public void Add_Ability_Puppeteer() { AbilityBuilder<Puppeteer>.Builder.SetRulebookDescription("Cards on the owner's side of the field are unaffected by Brittle.").SetPixelIcon(AssetUtils.GetPrefab<Sprite>("puppet_pixel")).Build(); } public void Add_Ability_Raider() { AbilityBuilder<Raider>.Builder.SetRulebookDescription("[creature] will strike its adjacent slots, except other Raiders.").Build(); } public void Add_Ability_Sculptor() { AbilityBuilder<Sculptor>.Builder.SetRulebookDescription("When [creature] is played, it carves its Sigils into adjacent Cards.").SetRulebookName("Sculptor").Build(); } public void Add_Ability_SkinCrawler() { AbilityBuilder<SkinCrawler>.Builder.SetRulebookDescription("[creature] will attempt to find a host in an adjacent friendly slot, hiding under it providing a +1/+1 buff. Cards on the left take priority.").Build(); } public void Add_Ability_Slasher() { AbilityBuilder<Slasher>.Builder.SetRulebookDescription("When [creature] hits an opposing card, one of the targets adjacent allies will take damage as well ").Build(); } public void Add_Ability_SpiritBearer() { AbilityBuilder<SpiritBearer>.Builder.SetRulebookDescription("When [creature] is played, it provides an energy soul to its owner.").SetPixelIcon(AssetUtils.GetPrefab<Sprite>("spiritbearer_pixel")).Build(); } public static void Add_Ability_CreateRoyalsCrewMate() { ApiUtils.CreateSpecialAbility<CreateRoyalsCrewMate>("!GRIMORA_ROYALS_SHIP"); } public static void Add_Ability_FuneralFacade() { ApiUtils.CreateSpecialAbility<FuneralFacade>(); } public static void Add_Ability_GainAttackBones() { StatIconBuilder<GainAttackBones>.Builder.SetAppliesToHealth(appliesToHealth: false).SetIconGraphic(AssetUtils.GetPrefab<Texture>("ability_GainAttackBones")).SetRulebookName("HellHound's Thirst") .SetRulebookDescription("A card bearing this sigil gains 1 attack for each bone the player currently has.") .Build(); } public static void Add_Ability_GainAttackCandy() { StatIconBuilder<GainAttackCandy>.Builder.SetAppliesToHealth(appliesToHealth: false).SetIconGraphic(AssetUtils.GetPrefab<Texture>("ability_GainAttackCandy")).SetRulebookName("Wrath Of Halloween") .SetRulebookDescription("A card bearing this sigil has 10 attack, 1 for each Candy Bucket Sawyer has left.") .Build(); } public static void Add_Ability_GainAttackPirates() { StatIconBuilder<GainAttackPirates>.Builder.SetAppliesToHealth(appliesToHealth: false).SetIconGraphic(AssetUtils.GetPrefab<Texture>("ability_GainAttackPirates")).SetPixelIconGraphic(AssetUtils.GetPrefab<Sprite>("ability_GainAttackPirates_pixel")) .SetRulebookName("Trusty ol' Crew") .SetRulebookDescription("A card bearing this sigil gains 1 attack for every pirate on the board.") .Build(); } public static void Add_Ability_GainAttackTerrain() { StatIconBuilder<GainAttackTerrain>.Builder.SetAppliesToHealth(appliesToHealth: false).SetIconGraphic(AssetUtils.GetPrefab<Texture>("ability_GainAttackTerrain")).SetRulebookName("Inanimate Attack") .SetRulebookDescription("A card bearing this sigil gains 1 attack for every card that has 0 attack on the board.") .Build(); } public static void Add_Ability_GrimoraGiant() { ApiUtils.CreateSpecialAbility<GrimoraGiant>("!GRIMORA_GIANT"); } public static void Add_Ability_LammergeierAttack() { StatIconInfo iconInfo = StatIconInfo.GetIconInfo((SpecialStatIcon)2); StatIconBuilder<LammergeierAttack>.Builder.SetAppliesToHealth(appliesToHealth: false).SetIconGraphic(iconInfo.iconGraphic).SetRulebookName("One Half Bones") .SetRulebookDescription(iconInfo.rulebookDescription) .Build(); } public static void Add_Ability_OurobonesCore() { ApiUtils.CreateSpecialAbility<OurobonesCore>(); } private void Add_Card_Animator() { //IL_0013: Unknown result type (might be due to invalid IL or missing references) //IL_0019: Expected I4, but got Unknown CardBuilder.Builder.SetAsRareCard().SetAbilities((Ability)(int)Puppeteer.ability).SetBaseAttackAndHealth(1, 1) .SetEnergyCost(5) .SetDescription("The puppet becomes the puppeteer, yet still forever cursed by their dangling restraints.") .SetNames("arackulele.inscryption.grimoramod_Animator", "Animator") .Build() .pixelPortrait = AllSprites.Find((Sprite o) => ((Object)o).name == "pixel_animator"); } private void Add_Card_Apparition() { //IL_0013: Unknown result type (might be due to invalid IL or missing references) //IL_0019: Expected I4, but got Unknown //IL_001b: Unknown result type (might be due to invalid IL or missing references) //IL_0021: Expected I4, but got Unknown CardBuilder.Builder.SetAsNormalCard().SetAbilities((Ability)(int)GrimoraRandomAbility.ability, (Ability)(int)Haunter.ability).SetBaseAttackAndHealth(1, 1) .SetEnergyCost(4) .SetDescription("A formless Creature, that yet lingers. Truly a horrific sight.") .SetNames("arackulele.inscryption.grimoramod_Apparition", "Apparition") .Build() .pixelPortrait = AssetUtils.GetPrefab<Sprite>("apparition_pixel"); } private void Add_Card_Ashes() { CardBuilder.Builder.SetBoneCost(1).SetBaseAttackAndHealth(0, 0).SetDescription("Only a fool would need such assistance.") .SetNames("arackulele.inscryption.grimoramod_Ashes", "Graven Ashes") .Build(); } private void Add_Card_BalBal() { //IL_0013: Unknown result type (might be due to invalid IL or missing references) //IL_0019: Expected I4, but got Unknown //IL_0030: Unknown result type (might be due to invalid IL or missing references) //IL_0036: Expected I4, but got Unknown CardBuilder.Builder.SetAsRareCard().SetAbilities((Ability)(int)BoneThief.ability, (Ability)18).SetSpecialAbilities((SpecialTriggeredAbility)(int)FuneralFacade.FullSpecial.Id) .SetBaseAttackAndHealth(1, 2) .SetBoneCost(5) .SetDescription("It's foul breath doesn't concern me, it's the Tampered Coffins it leaves behind!") .SetNames("arackulele.inscryption.grimoramod_BalBal", "Bal-Bal") .Build(); } private void Add_Card_Banshee() { CardInfo cardInfo = "Banshee".GetCardInfo(); CardBuilder.Builder.SetAsNormalCard().SetAbilities(cardInfo.Abilities.ToArray()).SetBaseAttackAndHealth(cardInfo.Attack, cardInfo.Health) .SetBoneCost(cardInfo.BonesCost) .SetDescription("THE SCREAMING TERROR. THEY GO STRAIGHT THROUGH TO ATTACK THEIR PREY.") .SetNames("arackulele.inscryption.grimoramod_Banshee", "Banshee", cardInfo.portraitTex) .Build(); } private void Add_Card_Bartender() { //IL_0013: Unknown result type (might be due to invalid IL or missing references) //IL_0019: Expected I4, but got Unknown CardBuilder.Builder.SetAsNormalCard().SetAbilities((Ability)(int)ActivatedBartending.ability).SetBaseAttackAndHealth(1, 1) .SetBoneCost(4) .SetNames("arackulele.inscryption.grimoramod_Bartender", "The Bartender") .SetDescription("spent his days serving harmful cocktails for those deserving of his poisonous wrath. Doesn't regret it at all.") .Build(); } private void Add_Card_Bigbones() { string displayedName = "Big Bones"; List<string> self = new List<string> { "Burly Bones", "Beefy Bones", "Cal C. Um", "Sizeable Bones", "Considerable Bones", "Vigorous Bones", "Vigorous Bones", "Hefty Bones" }; if (Random.Range(1, 100) < 6) { displayedName = self.GetRandomItem(); } CardBuilder.Builder.SetAsNormalCard().SetBaseAttackAndHealth(2, 3).SetAbilities((Ability)16) .SetBoneCost(6) .SetDescription("A RATHER BURLY SKELETON, IT IS VERY RICH IN CALCIUM.") .SetNames("arackulele.inscryption.grimoramod_Bigbones", displayedName) .Build(); } private void Add_Card_BloodySack() { CardBuilder.Builder.SetAsNormalCard().SetAbilities((Ability)78).SetBaseAttackAndHealth(0, 2) .SetBoneCost(2) .SetDescription("This sack is full of body parts. Maybe you'll find something useful in there.") .SetNames("arackulele.inscryption.grimoramod_BloodySack", "Bloody Sack") .Build(); } private void Add_Card_BoneCollective() { CardBuilder.Builder.SetAsRareCard().SetAbilities((Ability)71, (Ability)13).SetBaseAttackAndHealth(0, 1) .SetBoneCost(2) .SetNames("arackulele.inscryption.grimoramod_BoneCollective", "Bone Collective") .SetDescription("THOUSANDS OF TINY BONES COALESCE INTO A HUMANOID FORM ONLY TO DISPERSE IN A CLATTERING SWARM THE NEXT MOMENT.") .Build(); } private void Add_Card_Bonehound() { Sprite pixelPortrait = "Bonehound".GetCardInfo().pixelPortrait; CardInfo cardInfo = "Bonehound".GetCardInfo(); CardBuilder.Builder.SetAsNormalCard().SetAbilities(cardInfo.Abilities.ToArray()).SetBaseAttackAndHealth(cardInfo.Attack, cardInfo.Health) .SetBoneCost(cardInfo.BonesCost) .SetDescription("USED TO BE A VERY LOYAL DOG BACK IN THE DAY. WELL, ONE DAY HIS OWNER DIED.") .SetNames("arackulele.inscryption.grimoramod_Bonehound", "Bonehound", cardInfo.portraitTex) .Build() .pixelPortrait = pixelPortrait; } private void Add_Card_Bonelord() { //IL_000e: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Expected I4, but got Unknown //IL_0030: Unknown result type (might be due to invalid IL or missing references) //IL_0036: Expected I4, but got Unknown CardBuilder.Builder.SetAbilities((Ability)(int)GiantStrike.ability, (Ability)23, (Ability)105).SetSpecialAbilities((SpecialTriggeredAbility)(int)GrimoraGiant.FullSpecial.Id).SetBaseAttackAndHealth(1, 20) .SetBoneCost(666) .SetDescription("SO YOU HAVE MADE IT HERE, YOU CANNOT END WHAT I HAVE STARTED, IT HAS GONE TOO FAR.") .SetTraits((Trait)16, (Trait)14) .SetNames("arackulele.inscryption.grimoramod_Bonelord", "The Bonelord") .Build(); } private void Add_Card_BonelordsHorn() { Sprite pixelPortrait = "BonelordHorn".GetCardInfo().pixelPortrait; CardBuilder.Builder.SetAsRareCard().SetAbilities((Ability)26, (Ability)12).SetBaseAttackAndHealth(0, 1) .SetBoneCost(3) .SetDescription("THE BONELORD SHEDS ITS OLD HORNS, THEY TAKE ON A LIFE OF THEIR OWN, TO ONE DAY USURP THEIR MASTER.") .SetEnergyCost(3) .SetIceCube("arackulele.inscryption.grimoramod_BonePrince") .SetNames("arackulele.inscryption.grimoramod_BonelordsHorn", "Bonelord's Horn") .Build() .pixelPortrait = pixelPortrait; } private void Add_Card_Bonepile() { Sprite pixelPortrait = "Bonepile".GetCardInfo().pixelPortrait; CardBuilder.Builder.SetAsNormalCard().SetAbilities((Ability)12).SetBaseAttackAndHealth(0, 1) .SetEvolve("arackulele.inscryption.grimoramod_MassGrave", 1) .SetBoneCost(1) .SetDescription("NOT PARTICULARLY INSPIRING. YOU CAN HAVE IT.") .SetNames("arackulele.inscryption.grimoramod_Bonepile", "Bone Heap") .Build() .pixelPortrait = pixelPortrait; } private void Add_Card_BonePrince() { CardBuilder.Builder.SetBaseAttackAndHealth(2, 1).SetBoneCost(1).SetDescription("IF I AM TRAPPED, SO WILL YOU. YOU CANNOT END THIS.") .SetEvolve("arackulele.inscryption.grimoramod_Bonelord", 1) .SetNames("arackulele.inscryption.grimoramod_BonePrince", "Bone Prince") .Build(); } private void Add_Card_BooHag() { //IL_0013: Unknown result type (might be due to invalid IL or missing references) //IL_0019: Expected I4, but got Unknown CardBuilder.Builder.SetAsNormalCard().SetAbilities((Ability)(int)SkinCrawler.ability).SetBaseAttackAndHealth(1, 1) .SetBoneCost(5) .SetDescription("SHE FEEDS ON PEOPLES BREATH, MAYBE ONE IS STANDING RIGHT BEHIND YOU RIGHT NOW.") .SetNames("arackulele.inscryption.grimoramod_BooHag", "Boo Hag") .Build(); } private void Add_Card_CalaveraCatrina() { //IL_0013: Unknown result type (might be due to invalid IL or missing references) //IL_0019: Expected I4, but got Unknown CardBuilder.Builder.SetAsRareCard().SetAbilities((Ability)(int)MarchingDead.ability).SetBaseAttackAndHealth(2, 2) .SetBoneCost(8) .SetDescription("SHE COMMANDS OTHERS WITH STRENGTH AND GLAMOUR. THEY WILL FOLLOW HER EVERYWHERE.") .SetNames("arackulele.inscryption.grimoramod_CalaveraCatrina", "Calavera Catrina") .Build(); } private void Add_Card_Catacomb() { //IL_0018: Unknown result type (might be due to invalid IL or missing references) //IL_001e: Expected I4, but got Unknown //IL_005b: Unknown result type (might be due to invalid IL or missing references) CardBuilder.Builder.SetAsNormalCard().SetSpecialAbilities((SpecialTriggeredAbility)(int)GainAttackBones.FullSpecial.Id).SetBaseAttackAndHealth(0, 10) .SetBoneCost(10) .SetIceCube("arackulele.inscryption.grimoramod_Bonepile") .SetDescription("A GROUP OF SKELETONS IS CALLED A CATACOMB. THIS IS A RATHER LARGE GATHERING.") .SetNames("arackulele.inscryption.grimoramod_Catacomb", "Catacomb") .SetSpecialStatIcon(GainAttackBones.FullStatIcon.Id) .Build(); } private void Add_Card_Centurion() { CardBuilder.Builder.SetAsNormalCard().SetAbilities((Ability)54).SetBaseAttackAndHealth(1, 4) .SetBoneCost(6) .SetNames("arackulele.inscryption.grimoramod_Centurion", "Centurion") .SetDescription("A heavily armoured warrior. Last of his century, leader to none.") .Build(); } private void Add_Card_CompoundFracture() { CardBuilder.Builder.SetAsNormalCard().SetAbilities((Ability)15).SetBaseAttackAndHealth(1, 2) .SetBoneCost(4) .SetNames("arackulele.inscryption.grimoramod_CompoundFracture", "Compound Fracture") .SetDescription("CRUSHED BY THE ROOF OF HIS OWN HOUSE. LIVING ON AS A PILE OF GOO.") .Build(); } private void Add_Card_Dalgyal() { CardBuilder.Builder.SetAsNormalCard().SetAbilities((Ability)62).SetBaseAttackAndHealth(0, 2) .SetEnergyCost(2) .SetDescription("A SPIRIT THAT TAKES THE FORM OF AN EGG. ITS PRESENCE HARMS THOSE THAT GAZE UPON IT.") .SetNames("arackulele.inscryption.grimoramod_Dalgyal", "Dalgyal") .Build(); } private void Add_Card_DanseMacabre() { //IL_0013: Unknown result type (might be due to invalid IL or missing references) //IL_0019: Expected I4, but got Unknown //IL_001b: Unknown result type (might be due to invalid IL or missing references) //IL_0021: Expected I4, but got Unknown CardBuilder.Builder.SetAsNormalCard().SetAbilities((Ability)(int)AlternatingStrike.ability, (Ability)(int)Erratic.ability).SetBaseAttackAndHealth(3, 3) .SetBoneCost(7) .SetDescription("FOREVER BOUND TOGETHER BY A TERRIBLE CURSE, THIS GROUP DANCES ONWARD INTO DOOM.") .SetNames("arackulele.inscryption.grimoramod_DanseMacabre", "Danse Macabre") .Build(); } private void Add_Card_Deadeye() { CardBuilder.Builder.SetAsNormalCard().SetAbilities((Ability)7).SetBaseAttackAndHealth(1, 1) .SetBoneCost(4) .SetDescription("SOME SAY THIS EYE ONCE BELONGED TO AN ANCIENT GOD. IT GAZES UPON YOUR ARMY, PICKING ITS FAVORITE TO AID IT ON THE BATTLEFIELD.") .SetNames("arackulele.inscryption.grimoramod_Deadeye", "Deadeye") .Build(); } private void Add_Card_DeadHand() { CardBuilder.Builder.SetAsNormalCard().SetAbilities((Ability)45).SetBaseAttackAndHealth(1, 1) .SetBoneCost(4) .SetDescription("SOME SAY THIS HAND ONCE BELONGED TO AN ANCIENT GOD. ANYTHING IT TOUCHES ROTS. AS WITH ANYTHING THAT ENDS, IT IS ALSO A NEW BEGINNING.") .SetNames("arackulele.inscryption.grimoramod_DeadHand", "Dead Hand") .Build(); } private void Add_Card_DeadManWalking() { //IL_0013: Unknown result type (might be due to invalid IL or missing references) //IL_0019: Expected I4, but got Unknown CardBuilder.Builder.SetAsRareCard().SetAbilities((Ability)(int)Collector.ability, (Ability)3).SetBaseAttackAndHealth(2, 2) .SetBoneCost(6) .SetDescription("A DOOMED FATE SHOULD DISCOURAGE ONE FROM GOING ON, AT LEAST THATS WHAT A STILL LIVING MAN WOULD TELL YOU.") .SetNames("arackulele.inscryption.grimoramod_DeadManWalking", "Dead Man Walking") .Build(); } private void Add_Card_DeadPets() { CardBuilder.Builder.SetAsRareCard().SetAbilities((Ability)35, (Ability)14).SetBaseAttackAndHealth(3, 1) .SetBoneCost(3) .SetDescription("FAMED AMONG THE FOLLOWERS OF THE PHARAOH. THEY WERE BLESSED WITH ETERNAL LIFE LONG AGO.") .SetNames("arackulele.inscryption.grimoramod_DeadPets", "Pharaoh's Pets") .Build(); } private void Add_Card_DeathKnell() { CardBuilder.Builder.SetAsRareCard().SetAbilities((Ability)75).SetSpecialAbilities((SpecialTriggeredAbility)12, (SpecialTriggeredAbility)19) .SetBaseAttackAndHealth(0, 2) .SetBoneCost(8) .SetDescription("FOR WHOM THE BELL TOLLS? FOR WHOM THE TAP DRIPS DRY AND THE BATHWATER RUNS COLD.") .SetNames("arackulele.inscryption.grimoramod_DeathKnell", "Death Knell") .SetSpecialStatIcon((SpecialStatIcon)4) .Build() .pixelPortrait = AllSprites.Find((Sprite o) => ((Object)o).name == "deathknell_pixel"); } private void Add_Card_DeathKnellBell() { CardBuilder.Builder.SetBaseAttackAndHealth(0, 1).SetNames("arackulele.inscryption.grimoramod_DeathKnell_Bell", "Chime").Build(); } private void Add_Card_Doll() { //IL_0013: Unknown result type (might be due to invalid IL or missing references) //IL_0019: Expected I4, but got Unknown CardBuilder.Builder.SetAsNormalCard().SetAbilities((Ability)(int)Imbued.ability).SetBaseAttackAndHealth(0, 2) .SetBoneCost(3) .SetDescription("This lonesome doll was returned from seas of slate and silent shores... it stares lifelessly.") .SetNames("arackulele.inscryption.grimoramod_Doll", "Doll") .Build() .pixelPortrait = AssetUtils.GetPrefab<Sprite>("dollpixel"); } private void Add_Card_Draugr() { Sprite pixelPortrait = "Draugr".GetCardInfo().pixelPortrait; CardBuilder.Builder.SetAsNormalCard().SetAbilities((Ability)26).SetEvolve("arackulele.inscryption.grimoramod_Glacier", 1) .SetBaseAttackAndHealth(0, 1) .SetBoneCost(1) .SetDescription("HIDING IN A SUIT OF ARMOR, OR ICE, WHAT DOES IT MATTER. THIS SKELETON WON'T LAST FOREVER.") .SetIceCube("Skeleton") .SetTraits((Trait)21) .SetNames("arackulele.inscryption.grimoramod_Draugr", "Draugr") .Build() .pixelPortrait = pixelPortrait; } private void Add_Card_DrownedSoul() { Sprite pixelPortrait = "DrownedSoul".GetCardInfo().pixelPortrait; CardBuilder.Builder.SetAsNormalCard().SetAbilities((Ability)4, (Ability)13).SetBaseAttackAndHealth(1, 1) .SetDescription("WHAT A SAD SIGHT, NO ONE SHALL KNOW WHAT LIES AT THE BOTTOM OF THAT WELL.") .SetEnergyCost(5) .SetNames("arackulele.inscryption.grimoramod_DrownedSoul", "Drowned Soul") .Build() .pixelPortrait = pixelPortrait; } private void Add_Card_Dybbuk() { //IL_0013: Unknown result type (might be due to invalid IL or missing references) //IL_0019: Expected I4, but got Unknown CardBuilder.Builder.SetAsRareCard().SetAbilities((Ability)(int)Possessive.ability).SetBaseAttackAndHealth(0, 1) .SetBoneCost(3) .SetDescription("NO ONE KNOWS WHAT EXACTLY THE DYBBUK IS, SOME SAY IT IS BETTER LEFT UNKNOWN.") .SetNames("arackulele.inscryption.grimoramod_Dybbuk", "Dybbuk") .Build() .pixelPortrait = AllSprites.Find((Sprite o) => ((Object)o).name == "dybbuk_pixel"); } private void Add_Card_Extoplasm() { //IL_002c: Unknown result type (might be due to invalid IL or missing references) //IL_0032: Expected I4, but got Unknown CardBuilder.Builder.SetAsRareCard().SetPortraits(AssetUtils.GetPrefab<Sprite>("ectoplasm"), AssetUtils.GetPrefab<Sprite>("ectoplasm_emission")).SetAbilities((Ability)(int)ActivatedEnergyDrawWyvern.ability) .SetBaseAttackAndHealth(1, 2) .SetEnergyCost(4) .SetDescription("THE ESSENCE OF A SPIRIT, HIDDEN IN EVERY CORNER AND EVERY SHADOW. ONCE YOU SEE ONE, YOU WILL FIND THE REST SOON ENOUGH.") .SetNames("arackulele.inscryption.grimoramod_Ectoplasm", "Ectoplasm") .Build(); } private void Add_Card_Boneclaw() { //IL_0089: Unknown result type (might be due to invalid IL or missing references) //IL_008f: Expected I4, but got Unknown //IL_0040: Unknown result type (might be due to invalid IL or missing references) //IL_0046: Expected I4, but got Unknown if (Chainloader.PluginInfos.ContainsKey("arackulele.inscryption._grimoramodextracards")) { CardBuilder.Builder.SetAsNormalCard().SetPortraits(AssetUtils.GetPrefab<Sprite>("boneclaw"), AssetUtils.GetPrefab<Sprite>("boneclaw_emission")).SetAbilities((Ability)(int)Slasher.ability) .SetBaseAttackAndHealth(2, 2) .SetDescription("A LIVING FAILURE, ITS KNOWLEDGE ONLY BROUGHT IT DEATH, OR AT LEAST AN APPROXIMATION OF IT.") .SetNames("arackulele.inscryption.grimoramod_Boneclaw", "Boneclaw") .SetBoneCost(7) .Build(); } else { CardBuilder.Builder.SetAbilities((Ability)(int)Slasher.ability).SetPortraits(AssetUtils.GetPrefab<Sprite>("boneclaw"), AssetUtils.GetPrefab<Sprite>("boneclaw_emission")).SetBaseAttackAndHealth(2, 2) .SetDescription("A LIVING FAILURE, ITS KNOWLEDGE ONLY BROUGHT IT DEATH, OR AT LEAST AN APPROXIMATION OF IT.") .SetNames("arackulele.inscryption.grimoramod_Boneclaw", "Boneclaw") .SetBoneCost(7) .Build(); } } private void Add_Card_Boneless() { //IL_0078: Unknown result type (might be due to invalid IL or missing references) //IL_007e: Expected I4, but got Unknown //IL_0080: Unknown result type (might be due to invalid IL or missing references) //IL_0086: Expected I4, but got Unknown //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_002d: Expected I4, but got Unknown //IL_002f: Unknown result type (might be due to invalid IL or missing references) //IL_0035: Expected I4, but got Unknown if (Chainloader.PluginInfos.ContainsKey("arackulele.inscryption._grimoramodextracards")) { CardBuilder.Builder.SetAsNormalCard().SetAbilities((Ability)(int)Boneless.ability, (Ability)(int)GainAttackNoBones.ability).SetBaseAttackAndHealth(1, 3) .SetNames("arackulele.inscryption.grimoramod_Boneless", "Boneless") .SetDescription("It's Skeleton seems to have left this lifeless husk in order to achieve greater things.") .SetBoneCost(4) .Build(); } else { CardBuilder.Builder.SetAbilities((Ability)(int)Boneless.ability, (Ability)(int)GainAttackNoBones.ability).SetBaseAttackAndHealth(1, 3).SetNames("arackulele.inscryption.grimoramod_Boneless", "Boneless") .SetDescription("It's Skeleton seems to have left this lifeless husk in order to achieve greater things.") .SetBoneCost(4) .Build(); } } private void Add_Card_EgyptMummy() { //IL_0070: Unknown result type (might be due to invalid IL or missing references) //IL_0076: Expected I4, but got Unknown //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_002d: Expected I4, but got Unknown if (Chainloader.PluginInfos.ContainsKey("arackulele.inscryption._grimoramodextracards")) { CardBuilder.Builder.SetAsNormalCard().SetAbilities((Ability)(int)Boneless.ability).SetBaseAttackAndHealth(1, 1) .SetNames("arackulele.inscryption.grimoramod_EgyptMummy", "Lesser Mummy") .SetDescription("A loyal servant to the Pharao, buried with him to serve eternally in death.") .SetBoneCost(1) .Build(); } else { CardBuilder.Builder.SetAbilities((Ability)(int)Boneless.ability).SetBaseAttackAndHealth(1, 1).SetNames("arackulele.inscryption.grimoramod_EgyptMummy", "Lesser Mummy") .SetDescription("A loyal servant to the Pharao, buried with him to serve eternally in death.") .SetBoneCost(1) .Build(); } } private void Add_Card_Eidolon() { if (Chainloader.PluginInfos.ContainsKey("arackulele.inscryption._grimoramodextracards")) { CardBuilder.Builder.SetAsNormalCard().SetAbilities((Ability)62, (Ability)105).SetBaseAttackAndHealth(1, 3) .SetNames("arackulele.inscryption.grimoramod_Eidolon", "Eidolon") .SetDescription("A GOLEM ENCHANTED LONG AGO, BOUND TO PROTECT THE AGE OF SUN.") .SetBoneCost(5) .Build(); } else { CardBuilder.Builder.SetAbilities((Ability)62, (Ability)105).SetBaseAttackAndHealth(1, 3).SetNames("arackulele.inscryption.grimoramod_Eidolon", "Eidolon") .SetDescription("A GOLEM ENCHANTED LONG AGO, BOUND TO PROTECT THE AGE OF SUN.") .SetBoneCost(5) .Build(); } } private void Add_Card_EmberSpirit() { //IL_0075: Unknown result type (might be due to invalid IL or missing references) //IL_007b: Expected I4, but got Unknown //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_002d: Expected I4, but got Unknown if (Chainloader.PluginInfos.ContainsKey("arackulele.inscryption._grimoramodextracards")) { CardBuilder.Builder.SetAsRareCard().SetAbilities((Ability)(int)FlameStrafe.ability, (Ability)105).SetBaseAttackAndHealth(1, 3) .SetDescription("QUITE A MISCHIEVOUS SPIRIT, IT SPREADS ITS FLAMES TO CAUSE DISMAY.") .SetEnergyCost(6) .SetNames("arackulele.inscryption.grimoramod_Ember_Spirit", "Ember Spirit") .Build(); } else { CardBuilder.Builder.SetAbilities((Ability)(int)FlameStrafe.ability, (Ability)105).SetBaseAttackAndHealth(1, 3).SetDescription("QUITE A MISCHIEVOUS SPIRIT, IT SPREADS ITS FLAMES TO CAUSE DISMAY.") .SetEnergyCost(6) .SetNames("arackulele.inscryption.grimoramod_Ember_Spirit", "Ember Spirit") .Build(); } } private void Add_Card_Family() { Sprite pixelPortrait = "Family".GetCardInfo().pixelPortrait; CardBuilder.Builder.SetAsNormalCard().SetAbilities((Ability)12).SetBaseAttackAndHealth(1, 2) .SetBoneCost(4) .SetDescription("THE FAMILY WISHES TO REST IN PEACE, ONLY TO BE SUMMONED AGAIN AND AGAIN IN AN ETERNAL BATTLE.") .SetNames("arackulele.inscryption.grimoramod_Family", "The Walkers") .Build() .pixelPortrait = pixelPortrait; } private void Add_Card_FesteringWretch() { CardBuilder.Builder.SetAsNormalCard().SetAbilities((Ability)83).SetBaseAttackAndHealth(1, 1) .SetBoneCost(3) .SetDescription("It is said their odor is so strong and repugnant, even the undead can feel it!") .SetNames("arackulele.inscryption.grimoramod_FesteringWretch", "Festering Wretch") .Build(); } private void Add_Card_Flames() { //IL_0013: Unknown result type (might be due to invalid IL or missing references) //IL_0019: Expected I4, but got Unknown CardBuilder.Builder.SetAbilities((Ability)34, (Ability)(int)Burning.ability).SetBaseAttackAndHealth(0, 2).SetBoneCost(2) .SetNames("arackulele.inscryption.grimoramod_Flames", "Flames") .SetTraits((Trait)12, (Trait)9) .Build(); } private void Add_Card_Flameskull() { if (Chainloader.PluginInfos.ContainsKey("arackulele.inscryption._grimoramodextracards")) { CardBuilder.Builder.SetAsNormalCard().SetAbilities((Ability)34, (Ability)19).SetBaseAttackAndHealth(2, 1) .SetBoneCost(6) .SetNames("arackulele.inscryption.grimoramod_Flameskull", "Flameskull") .SetDescription("Always flying, always angry, always annoying nearby allies in the process.") .Build(); } else { CardBuilder.Builder.SetAbilities((Ability)34, (Ability)19).SetBaseAttackAndHealth(2, 1).SetBoneCost(6) .SetNames("arackulele.inscryption.grimoramod_Flameskull", "Flameskull") .SetDescription("Always flying, always angry, always annoying nearby allies in the process.") .Build(); } } private void Add_Card_ForgottenMan() { //IL_0013: Unknown result type (might be due to invalid IL or missing references) //IL_0019: Expected I4, but got Unknown CardBuilder.Builder.SetAsNormalCard().SetAbilities((Ability)(int)CreateShipwrecks.ability, (Ability)13).SetBaseAttackAndHealth(1, 2) .SetBoneCost(5) .SetDescription("A waterlogged sailor who carries his tragic past beside him. I don't remember the details.") .SetNames("arackulele.inscryption.grimoramod_ForgottenMan", "Forgotten Man") .Build(); } private void Add_Card_Franknstein() { Sprite portraitTex = "FrankNStein".GetCardInfo().portraitTex; Sprite pixelPortrait = "FrankNStein".GetCardInfo().pixelPortrait; CardBuilder.Builder.SetAsNormalCard().SetBaseAttackAndHealth(2, 2).SetBoneCost(5) .SetDescription("BEST FRIENDS, BROTHERS, AND FIGHTERS.") .SetIceCube("arackulele.inscryption.grimoramod_Zombie") .SetNames("arackulele.inscryption.grimoramod_Franknstein", "Frank & Stein", portraitTex) .Build() .pixelPortrait = pixelPortrait; } private void Add_Card_Fylgja() { //IL_0013: Unknown result type (might be due to invalid IL or missing references) //IL_0019: Expected I4, but got Unknown CardBuilder.Builder.SetAsRareCard().SetAbilities((Ability)(int)Fylgja_GuardDog.ability).SetBaseAttackAndHealth(2, 3) .SetBoneCost(6) .SetDescription("A ghastly guardian spirit. It's presence lingers behind as it sprints through the dark.") .SetNames("arackulele.inscryption.grimoramod_Fylgja", "Fylgja") .Build(); } private void Add_Card_WardingPresence() { CardBuilder.Builder.SetBaseAttackAndHealth(0, 1).SetNames("arackulele.inscryption.grimoramod_WardingPresence", "Warding Presence").Build(); } private void Add_Card_Gashadokuro_Stage1_MassGrave() { CardBuilder.Builder.SetAsRareCard().SetAbilities((Ability)5, (Ability)12).SetBaseAttackAndHealth(0, 2) .SetBoneCost(4) .SetDescription("WHAT CREATED THESE BONES, WAR, FAMINE OR ANOTHER TRAGEDY? It may be insignificant now, but I fear what it might become...") .SetEvolve("arackulele.inscryption.grimoramod_RisingHunger", 1) .SetNames("arackulele.inscryption.grimoramod_MassGrave", "Mass Grave") .Build(); } private void Add_Card_Gashadokuro_Stage2_RisingHunger() { CardBuilder.Builder.SetAbilities((Ability)5, (Ability)12).SetBaseAttackAndHealth(0, 2).SetEvolve("arackulele.inscryption.grimoramod_Gashadokuro", 1) .SetNames("arackulele.inscryption.grimoramod_RisingHunger", "Rising Hunger") .Build(); } private void Add_Card_Gashadokuro_Stage3() { CardBuilder.Builder.SetAbilities((Ability)25).SetBaseAttackAndHealth(2, 3).SetNames("arackulele.inscryption.grimoramod_Gashadokuro", "Gashadokuro") .Build(); } private void Add_Card_GhostShip() { Sprite pixelPortrait = "GhostShip".GetCardInfo().pixelPortrait; CardBuilder.Builder.SetAsNormalCard().SetAbilities((Ability)36, (Ability)13).SetBaseAttackAndHealth(0, 1) .SetBoneCost(4) .SetEvolve("arackulele.inscryption.grimoramod_GhostShipRoyal", 1) .SetDescription("THE PIRATES CALL THIS SHIP THEIR HOME, EVEN IN DEATH. A SLAIN GIANTS SKULL SERVES AS THEIR FIGUREHEAD.") .FlipPortraitForStrafe() .SetNames("arackulele.inscryption.grimoramod_GhostShip", "Ghost Ship") .Build() .pixelPortrait = pixelPortrait; } private void Add_Card_GhostShipRoyal() { //IL_000e: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Expected I4, but got Unknown //IL_0026: Unknown result type (might be due to invalid IL or missing references) //IL_002c: Expected I4, but got Unknown CardBuilder.Builder.SetAbilities((Ability)(int)Anchored.ability).SetSpecialAbilities((SpecialTriggeredAbility)(int)CreateRoyalsCrewMate.FullSpecial.Id).SetAppearance((Appearance)7) .SetBoneCost(7) .SetBaseAttackAndHealth(0, 11) .SetNames("arackulele.inscryption.grimoramod_GhostShipRoyal", string.Empty) .Build(); } private void Add_Card_Giant() { CardBuilder.Builder.SetAsNormalCard().SetAbilities((Ability)12, (Ability)24).SetBaseAttackAndHealth(3, 8) .SetBoneCost(15) .SetDescription("THE FAMED RACE OF GIANTS IS SAID TO HAVE DIED OUT LONG AGO, THIS IS PROOF. TRULY A SIGHT TO BEHOLD.") .SetNames("arackulele.inscryption.grimoramod_Giant", "Giant") .SetTraits((Trait)16) .Build() .pixelPortrait = AssetUtils.GetPrefab<Sprite>("giant_pixel"); } private void Add_Card_GratefulDead() { //IL_0013: Unknown result type (might be due to invalid IL or missing references) //IL_0019: Expected I4, but got Unknown CardBuilder.Builder.SetAsNormalCard().SetAbilities((Ability)(int)LatchBoneDigger.ability).SetBaseAttackAndHealth(0, 1) .SetDescription("BOUND TO EARTH, THEY CLING ON SO THEY MAY ONE DAY GET PROPER BURIAL.") .SetNames("arackulele.inscryption.grimoramod_GratefulDead", "Grateful Dead") .Build(); } private void Add_Card_Gravebard() { CardBuilder.Builder.SetAsNormalCard().SetAbilities((Ability)34).SetBaseAttackAndHealth(1, 1) .SetBoneCost(4) .SetDescription("THE LOWLY GRAVEBARD, MUSIC ALWAYS BROUGHT HIM COMFORT IN THE WORST OF TIMES. NOW, EVEN AT THE END OF THE WORLD HE SHARES HIS SONG.") .SetNames("arackulele.inscryption.grimoramod_Gravebard", "Gravebard") .Build(); } private void Add_Card_GraveCarver() { //IL_0013: Unknown result type (might be due to invalid IL or missing references) //IL_0019: Expected I4, but got Unknown CardBuilder.Builder.SetAsRareCard().SetAbilities((Ability)(int)Sculptor.ability).SetBaseAttackAndHealth(2, 2) .SetBoneCost(5) .SetDescription("HE HAS SPENT HIS LIFE CARVING THESE CREATURES, THIS CARD CONTAINS A PART OF HIS SOUL.") .SetNames("arackulele.inscryption.grimoramod_GraveCarver", "Grave Carver") .Build(); } private void Add_Card_Gravedigger() { Sprite portraitTex = "Gravedigger".GetCardInfo().portraitTex; Sprite pixelPortrait = "Gravedigger".GetCardInfo().pixelPortrait; CardBuilder.Builder.SetAsNormalCard().SetAbilities((Ability)28).SetBaseAttackAndHealth(0, 3) .SetBoneCost(1) .SetDescription("HE SPENDS HIS TIME ALONE DIGGING FOR BONES IN HOPES OF FINDING A TREASURE. JUST LIKE HIS GRANDMA BEFORE HIM.") .SetEvolve("arackulele.inscryption.grimoramod_Sporedigger", 1) .SetNames("arackulele.inscryption.grimoramod_Gravedigger", "Gravedigger", portraitTex) .Build() .pixelPortrait = pixelPortrait; } private void Add_Card_Sporedigger() { CardBuilder.Builder.SetAsRareCard().SetAbilities((Ability)28, (Ability)28).SetBaseAttackAndHealth(0, 3) .SetBoneCost(1) .SetDescription("A POOR, BRUTALIZED SOUL. THEIR MYCELIA PROBES FAR INTO THE SOIL, GUIDING THEIR SPADE.") .SetNames("arackulele.inscryption.grimoramod_Sporedigger", "Sporedigger") .SetTraits((Trait)18) .Build(); } private void Add_Card_Haltia() { CardBuilder.Builder.SetAsNormalCard().SetAbilities((Ability)58, (Ability)19).SetBaseAttackAndHealth(1, 2) .SetEnergyCost(5) .SetDescription("A devoted guardian spirit. Even when dispelled, it grants a protective blessing.") .SetNames("arackulele.inscryption.grimoramod_Haltia", "Haltia") .Build(); } private void Add_Card_HauntedMirror() { CardBuilder.Builder.SetAsNormalCard().SetSpecialAbilities((SpecialTriggeredAbility)11).SetBaseAttackAndHealth(0, 2) .SetDescription("I advise against staring into it, you won't like what stares back.") .SetEnergyCost(4) .SetNames("arackulele.inscryption.grimoramod_HauntedMirror", "Haunted Mirror") .SetSpecialStatIcon((SpecialStatIcon)3) .Build(); } private void Add_Card_HeadlessHorseman() { CardBuilder.Builder.SetAsRareCard().SetAbilities((Ability)19, (Ability)3).SetBaseAttackAndHealth(5, 5) .SetBoneCost(13) .SetDescription("THEY CALL HER THE RIDER OF THE APOCALYPSE. HER FLAMING BLADE CUTS THROUGH THE LIVING AND DEAD ALIKE.") .SetNames("arackulele.inscryption.grimoramod_HeadlessHorseman", "Headless Horseman") .SetIceCube("arackulele.inscryption.grimoramod_Flameskull") .Build(); } private void Add_Card_Hellhand() { CardBuilder.Builder.SetAsNormalCard().SetAbilities((Ability)57).SetBaseAttackAndHealth(2, 1) .SetBoneCost(6) .SetDescription("I WOULDN'T GET TOO CLOSE DEAR. YOU CAN'T BREAK THE HOLD FROM THE DEEPEST PITS OF HELL, ONCE IT LATCHES ON.") .SetNames("arackulele.inscryption.grimoramod_Hellhand", "Hellhand") .Build(); } private void Add_Card_HellHound() { //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_002d: Expected I4, but got Unknown //IL_006f: Unknown result type (might be due to invalid IL or missing references) CardBuilder.Builder.SetAbilities((Ability)8, (Ability)105).SetSpecialAbilities((SpecialTriggeredAbility)(int)GainAttackBones.FullSpecial.Id).SetBaseAttackAndHealth(1, 9) .SetBoneCost(5) .SetDescription("A RABID DOG. IT KILLED ONE OF MY GHOULS.") .SetNames("arackulele.inscryption.grimoramod_HellHound", "Hell Hound") .SetTraits((Trait)14) .SetSpecialStatIcon(GainAttackBones.FullStatIcon.Id) .Build(); } private void Add_Card_Hydra() { CardBuilder.Builder.SetAsRareCard().SetAbilities((Ability)14, (Ability)25).SetBaseAttackAndHealth(1, 1) .SetBoneCost(5) .SetDescription("LEGENDS HAVE BEEN TOLD ABOUT THE LEGENDARY HYDRA, THE BEAST THAT SWALLOWS ALL AND THE BANE OF ALL THAT SAIL THE SEAS.") .SetNames("arackulele.inscryption.grimoramod_Hydra", "Hydra") .SetPortraits(AssetUtils.GetPrefab<Sprite>("hydra_new"), AssetUtils.GetPrefab<Sprite>("hydra_emission_new")) .Build(); } private void Add_Card_Jikininki() { CardBuilder.Builder.SetAsNormalCard().SetAbilities((Ability)101).SetBaseAttackAndHealth(1, 2) .SetEnergyCost(5) .SetDescription("Overtaken by it's gluttony in life, doomed to it's gluttony in death. Oddly inspires a greed for bones.") .SetNames("arackulele.inscryption.grimoramod_Jikininki", "Jikininki") .Build(); } private void Add_Card_Avalanche() { CardBuilder cardBuilder = CardBuilder.Builder.SetAbilities((Ability)23, (Ability)26).SetBaseAttackAndHealth(0, 10).SetBoneCost(6) .SetNames("arackulele.inscryption.grimoramod_Avalanche", "Avalanche"); Trait[] array = new Trait[3]; RuntimeHelpers.InitializeArray(array, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/); cardBuilder.SetTraits((Trait[])(object)array).Build(); } private void Add_Card_Glacier_Stage1() { CardBuilder cardBuilder = CardBuilder.Builder.SetAsNormalCard().SetAbilities((Ability)26).SetBaseAttackAndHealth(0, 4) .SetBoneCost(10) .SetIceCube("arackulele.inscryption.grimoramod_FrostGiant") .SetNames("arackulele.inscryption.grimoramod_Glacier", "Glacier"); Trait[] array = new Trait[3]; RuntimeHelpers.InitializeArray(array, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/); cardBuilder.SetTraits((Trait[])(object)array).SetDescription("I WONDER WHAT HAS BEEN FROZEN AWAY FOR SO LONG.").Build() .pixelPortrait = AssetUtils.GetPrefab<Sprite>("glacier_pixel"); } private void Add_Card_Glacier_Stage2_FrostGiant() { CardBuilder.Builder.SetAbilities((Ability)24).SetBaseAttackAndHealth(2, 4).SetBoneCost(10) .SetNames("arackulele.inscryption.grimoramod_FrostGiant", "Frost Giant") .SetTraits((Trait)16, (Trait)14) .Build(); } private void Add_Card_IceCube() { //IL_0013: Unknown result type (might be due to invalid IL or missing references) //IL_0019: Expected I4, but got Unknown CardBuilder.Builder.SetAsNormalCard().SetAbilities((Ability)(int)ColdFront.ability).SetBaseAttackAndHealth(1, 1) .SetBoneCost(4) .SetDescription("A CORPSE WHO DIED WITH HIS HEAD IN A GLACIAL STREAM. AFTER HIS REANIMATION, HE COULDN'T BEAR TO PART WITH THE ICE THAT HAD FORMED.") .SetTraits((Trait)21) .SetNames("arackulele.inscryption.grimoramod_IceCube", "Ice Cube") .Build(); } private void Add_Card_LaLlorona() { CardBuilder.Builder.SetAsNormalCard().SetAbilities((Ability)13).SetEvolve("arackulele.inscryption.grimoramod_Nixie", 1) .SetBaseAttackAndHealth(1, 1) .SetDescription("After drowning her children and then herself, she continues to drown others.") .SetEnergyCost(3) .SetNames("arackulele.inscryption.grimoramod_LaLlorona", "La Llorona") .Build(); } private void Add_Card_Manananggal() { CardBuilder.Builder.SetAsNormalCard().SetAbilities((Ability)19).SetBaseAttackAndHealth(3, 3) .SetBoneCost(8) .SetDescription("NO BRUTALITY SATIATES THE MANANANGGAL. WHEN YOU SEE HER SEVER FROM HER TORSO, YOU TOO WILL BE A VICTIM OF THE HUNT.") .SetNames("arackulele.inscryption.grimoramod_Manananggal", "Manananggal") .Build(); } private void Add_Card_Moroi() { //IL_0013: Unknown result type (might be due to invalid IL or missing references) //IL_0019: Expected I4, but got Unknown CardBuilder.Builder.SetAsNormalCard().SetAbilities((Ability)(int)ActivatedGainEnergySoulSucker.ability).SetBaseAttackAndHealth(1, 1) .SetEnergyCost(4) .SetDescription("Moroi, also known as the hairy ghost. It leeches the souls from those struck down near it.") .SetNames("arackulele.inscryption.grimoramod_Moroi", "Moroi") .Build(); } private void Add_Card_Mummy() { CardBuilder.Builder.SetAsNormalCard().SetBaseAttackAndHealth(3, 3).SetBoneCost(8) .SetDescription("HIS AGE OF GLORY IS LONG GONE, YET IT IS WHAT KEEPS HIM GOING.") .SetNames("arackulele.inscryption.grimoramod_Mummy", "Mummy Lord") .Build(); } private void Add_Card_Necromancer() { CardBuilder.Builder.SetAsRareCard().SetAbilities((Ability)68).SetBaseAttackAndHealth(1, 2) .SetBoneCost(3) .SetDescription("ALL EFFORTS TO PRESERVE LIFE AFTER DEATH HAVE BEEN FUTILE, YET THE NECROMANCER GOES ON. HE HAS TO.") .SetNames("arackulele.inscryption.grimoramod_Necromancer", "Necromancer") .Build() .pixelPortrait = pixelSprite; } private void Add_Card_Nixie() { //IL_0070: Unknown result type (might be due to invalid IL or missing references) //IL_0076: Expected I4, but got Unknown //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_002d: Expected I4, but got Unknown if (Chainloader.PluginInfos.ContainsKey("arackulele.inscryption._grimoramodextracards")) { CardBuilder.Builder.SetAsNormalCard().SetAbilities((Ability)(int)LatchSubmerge.ability).SetBaseAttackAndHealth(2, 1) .SetBoneCost(5) .SetDescription("A troublesome lake spirit that enjoys dragging others down to a watery grave.") .SetNames("arackulele.inscryption.grimoramod_Nixie", "Nixie") .Build(); } else { CardBuilder.Builder.SetAbilities((Ability)(int)LatchSubmerge.ability).SetBaseAttackAndHealth(2, 1).SetBoneCost(5) .SetDescription("A troublesome lake spirit that enjoys dragging others down to a watery grave.") .SetNames("arackulele.inscryption.grimoramod_Nixie", "Nixie") .Build(); } } private void Add_Card_Nosferat() { CardBuilder.Builder.SetAsRareCard().SetAbilities((Ability)57, (Ability)57).SetBaseAttackAndHealth(3, 1) .SetBoneCost(7) .SetDescription("The shambling corpse of a pale, sickly noble. it spreads it's filth as it sheds it's flesh.") .SetNames("arackulele.inscryption.grimoramod_Nosferat", "Nosferat") .Build(); } private void Add_Card_Obol() { CardBuilder.Builder.SetAsNormalCard().SetAbilities((Ability)23, (Ability)15).SetBaseAttackAndHealth(0, 3) .SetBoneCost(3) .SetDescription("IT WILL ALL MAKE SENSE SOON. THE OBOL IS OLDER THAN TIME ITSELF, AND THUS IT WILL REVEAL ITSELF IN DUE TIME.") .SetNames("arackulele.inscryption.grimoramod_Obol", "Ancient Obol") .Build() .pixelPortrait = AllSprites.Find((Sprite o) => ((Object)o).name == "obol_pixel"); } private void Add_Card_OneArmedBandit() { //IL_0013: Unknown result type (might be due to invalid IL or missing references) //IL_0019: Expected I4, but got Unknown CardBuilder.Builder.SetAsNormalCard().SetAbilities((Ability)(int)ActivatedRandomPowerWeight.ability).SetBaseAttackAndHealth(0, 1) .SetEnergyCost(4) .SetNames("arackulele.inscryption.grimoramod_OneArmedBandit", "One Armed Bandit") .SetDescription("Took the ten paces, that ordeal cost him an arm, and his life.") .Build(); } private void Add_Card_Ourobones() { //IL_0028: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Expected I4, but got Unknown CardBuilder.Builder.SetAsRareCard().SetAbilities((Ability)35).SetSpecialAbilities((SpecialTriggeredAbility)(int)OurobonesCore.FullSpecial.Id) .SetBaseAttackAndHealth(1, 1) .SetBoneCost(2) .SetDescription("IT IS SAID ALL IS WELL THAT ENDS. IT IS SAID TIME IS LIKE AN OUROBOROS, IT DOES NOT END, IT ONLY REPEATS ITSELF.") .SetNames("arackulele.inscryption.grimoramod_Ourobones", "Ourobones") .Build(); } private void Add_Card_PlagueDoctor() { CardBuilder.Builder.SetAsNormalCard().SetAbilities((Ability)4).SetBaseAttackAndHealth(1, 3) .SetBoneCost(6) .SetNames("arackulele.inscryption.grimoramod_PlagueDoctor", "Plague Doctor") .SetDescription("HE HAS DETERMINED THE UNDEAD ARE SICK WITH A TERRIBLE ILLNESS. THE ONLY CURE IS DEATH.") .Build(); } private void Add_Card_Poltergeist() { //IL_0010: Unknown result type (might be due to invalid IL or missing references) //IL_0044: Unknown result type (might be due to invalid IL or missing references) //IL_004a: Expected I4, but got Unknown CardBuilder.Builder.SetAsNormalCard().SetSpecialStatIcon(GainAttackTerrain.FullStatIcon.Id).SetAbilities((Ability)13) .SetBaseAttackAndHealth(0, 1) .SetEnergyCost(4) .SetSpecialAbilities((SpecialTriggeredAbility)(int)GainAttackTerrain.FullSpecial.Id) .SetDescription("AN EVIL TRICKSTER, THE POLTERGEIST HAS ENJOYED THEIR DEATH VERY MUCH.") .SetNames("arackulele.inscryption.grimoramod_Poltergeist", "Poltergeist") .Build(); } private void Add_Card_PossessedArmour() { CardBuilder.Builder.SetAsNormalCard().SetAbilities((Ability)79).SetBaseAttackAndHealth(1, 2) .SetEnergyCost(5) .SetDescription("A suit of ancient armour in which an occult spirit has taken up residence. Her iron fist drags more creatures to the fight.") .SetNames("arackulele.inscryption.grimoramod_PossessedArmour", "Possessed Armour") .Build(); } private void Add_Card_Project() { //IL_0013: Unknown result type (might be due to invalid IL or missing references) //IL_0019: Expected I4, but got Unknown CardBuilder.Builder.SetAsNormalCard().SetAbilities((Ability)(int)ChaosStrike.ability).SetBaseAttackAndHealth(1, 3) .SetBoneCost(7) .SetDescription("AN EXPERIMENT GONE WRONG, IN A FUTILE ATTEMPT TO CREATE A DANSE MACCABRE. THEY DO NOT FUNCTION TOGETHER.") .SetNames("arackulele.inscryption.grimoramod_Project", "Project") .Build(); } private void Add_Card_RandomCard() { //IL_000e: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Expected I4, but got Unknown CardBuilder.Builder.SetAbilities((Ability)(int)GrimoraRandomAbility.ability).SetBaseAttackAndHealth(0, 0).SetDescription("You shouldnt be seeing this right now") .SetNames("arackulele.inscryption.grimoramod_Random", "Random Cards") .Build() .pixelPortrait = AssetUtils.GetPrefab<Sprite>("randompixelportrait"); } private void Add_Card_Revenant() { Sprite pixelPortrait = "Revenant".GetCardInfo().pixelPortrait; Sprite portraitTex = "Revenant".GetCardInfo().portraitTex; CardBuilder.Builder.SetAsNormalCard().SetAbilities((Ability)35).SetBaseAttackAndHealth(3, 1) .SetBoneCost(3) .SetDescription("BRINGING THE SCYTHE OF DEATH, THE REVENANT SEEKS ONLY REVENGE.") .SetNames("arackulele.inscryption.grimoramod_Revenant", "Revenant", portraitTex) .Build() .pixelPortrait = pixelPortrait; } private void Add_Card_Ripper() { CardBuilder.Builder.SetAsRareCard().SetAbilities((Ability)35).SetBaseAttackAndHealth(6, 6) .SetBoneCost(6) .SetNames("arackulele.inscryption.grimoramod_Ripper", "Ripper") .SetDescription("THE RIPPER SOLVES EVERYTHING THROUGH SHEER STRENGTH. IT WILL PUNCH ANY ISSUE STRAIGHT IN THE FACE AND SOLVE IT, TOO.") .Build(); } private void Add_Card_Rot() { //IL_0013: Unknown result type (might be due to invalid IL or missing references) //IL_0019: Expected I4, but got Unknown CardBuilder.Builder.SetAsNormalCard().SetAbilities((Ability)(int)LooseLimb.ability).SetBaseAttackAndHealth(1, 2) .SetBoneCost(4) .SetDescription("It's a wonder this one has stayed together! Though it may lose that arm if it tries to flee.") .SetNames("arackulele.inscryption.grimoramod_Rot", "Rotten") .SetTail("arackulele.inscryption.grimoramod_Rot_tail") .Build(); } private void Add_Card_RotTail() { CardBuilder.Builder.SetBaseAttackAndHealth(0, 1).SetNames("arackulele.inscryption.grimoramod_Rot_tail", "Twitching Arm").Build(); } private void Add_Card_DavyJonesLocker() { CardBuilder.Builder.SetAbilities((Ability)78).SetTraits((Trait)12).SetBaseAttackAndHealth(0, 3) .SetBoneCost(2) .SetDescription("The elusive Locker.") .SetNames("arackulele.inscryption.grimoramod_DavyJonesLocker", "Davy Jones Locker") .Build(); } private void Add_Card_PirateCaptainYellowbeard() { //IL_0013: Unknown result type (might be due to invalid IL or missing references) //IL_0019: Expected I4, but got Unknown //IL_001b: Unknown result type (might be due to invalid IL or missing references) //IL_0021: Expected I4, but got Unknown CardBuilder.Builder.SetAsRareCard().SetAbilities((Ability)(int)BuffSkeletonsSeaShanty.ability, (Ability)(int)Anchored.ability).SetBaseAttackAndHealth(2, 2) .SetBoneCost(7) .SetDescription("His songs raise the morale of only Skeletons, as no one else seems to like it.") .SetNames("arackulele.inscryption.grimoramod_PirateCaptainYellowbeard", "Yellowbeard") .Build() .pixelPortrait = AssetUtils.GetPrefab<Sprite>("yellowbeard_pixel"); } private void Add_Card_Crossbones() { //IL_0013: Unknown result type (might be due to invalid IL or missing references) //IL_0019: Expected I4, but got Unknown //IL_001b: Unknown result type (might be due to invalid IL or missing references) //IL_0021: Expected I4, but got Unknown CardBuilder.Builder.SetAsNormalCard().SetAbilities((Ability)(int)Bounty.ability, (Ability)(int)Anchored.ability).SetBaseAttackAndHealth(0, 2) .SetBoneCost(1) .SetDescription("A DISTANT RELATIVE OF THE SCREAMING SKULL, HE IS NOW THE SYMBOL OF PIRACY ALL AROUND THE WORLD") .SetNames("arackulele.inscryption.grimoramod_Crossbones", "Crossbones") .Build(); } private void Add_Card_PirateDavyJones() { //IL_0013: Unknown result type (might be due to invalid IL or missing references) //IL_0019: Expected I4, but got Unknown //IL_002b: Unknown result type (might be due to invalid IL or missing references) //IL_0031: Expected I4, but got Unknown //IL_0062: Unknown result type (might be due to invalid IL or missing references) CardBuilder.Builder.SetAsRareCard().SetAbilities((Ability)(int)Anchored.ability).SetSpecialAbilities((SpecialTriggeredAbility)(int)GainAttackPirates.FullSpecial.Id) .SetBaseAttackAndHealth(0, 3) .SetBoneCost(5) .SetDescription("The true captain of the crew, respected by all yet still elusive. YELLOWBEARD ALWAYS GETS MORE BOOTY THAN HE DOES.") .SetNames("arackulele.inscryption.grimoramod_PirateDavyJones", "Davy Jones") .SetSpecialStatIcon(GainAttackPirates.FullStatIcon.Id) .Build(); } private void Add_Card_PirateExploding() { //IL_0013: Unknown result type (might be due to invalid IL or missing references) //IL_0019: Expected I4, but got Unknown //IL_001b: Unknown result type (might be due to invalid IL or missing references) //IL_0021: Expected I4, but got Unknown CardBuilder.Builder.SetAsNormalCard().SetAbilities((Ability)(int)Anchored.ability, (Ability)(int)LitFuse.ability).SetBaseAttackAndHealth(0, 2) .SetBoneCost(1) .SetDescription("MAYBE IT WASN'T THE BEST IDEA TO HOLD A BARREL FULL OF GUNPOWDER. I'M NOT SURE WETHER HE NOTICED.") .SetNames("arackulele.inscryption.grimoramod_ExplodingPirate", "Exploding Pirate") .Build(); } private void Add_Card_PirateFirstMateSnag() { //IL_0013: Unknown result type (might be due to invalid IL or missing references) //IL_0019: Expected I4, but got Unknown //IL_001b: Unknown result type (might be due to invalid IL or missing references) //IL_0021: Expected I4, but got Unknown CardBuilder.Builder.SetAsNormalCard().SetAbilities((Ability)(int)HookLineAndSinker.ability, (Ability)(int)Anchored.ability).SetBaseAttackAndHealth(2, 2) .SetBoneCost(7) .SetDescription("He betrayed his captain for that large hook, now he is sure to make anyone a double-crosser!") .SetNames("arackulele.inscryption.grimoramod_PirateFirstMateSnag", "First Mate Snag") .Build() .pixelPortrait = AssetUtils.GetPrefab<Sprite>("snag_pixel"); } private void Add_Card_PiratePolly() { //IL_001d: Unknown result type (might be due to invalid IL or missing references) //IL_0023: Expected I4, but got Unknown CardBuilder.Builder.SetAsNormalCard().SetAbilities((Ability)35, (Ability)19, (Ability)(int)Anchored.ability).SetBaseAttackAndHealth(3, 1) .SetBoneCost(3) .SetDescription("Parrots usually make great sea-side companions, this one just ate a poisoned cracker.") .SetNames("arackulele.inscryption.grimoramod_PiratePolly", "Polly") .Build(); } private void Add_Card_PiratePrivateer() { //IL_0075: Unknown result type (might be due to invalid IL or missing references) //IL_007b: Expected I4, but got Unknown //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_002d: Expected I4, but got Unknown if (Chainloader.PluginInfos.ContainsKey("arackulele.inscryption._grimoramodextracards")) { CardBuilder.Builder.SetAsNormalCard().SetAbilities((Ability)(int)Anchored.ability, (Ability)53).SetBaseAttackAndHealth(1, 1) .SetBoneCost(3) .SetDescription("A keen eye socket allows him to attack anywhere, his musket helps too. marvelous indeed!") .SetNames("arackulele.inscryption.grimoramod_PiratePrivateer", "Privateer") .Build(); } else { CardBuilder.Builder.SetAbilities((Ability)(int)Anchored.ability, (Ability)53).SetBaseAttackAndHealth(1, 1).SetBoneCost(3) .SetDescription("A keen eye socket allows him to attack anywhere, his musket helps too. marvelous indeed!") .SetNames("arackulele.inscryption.grimoramod_PiratePrivateer", "Privateer") .Build(); } } private void Add_Card_PirateSwashbuckler() { //IL_000e: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Expected I4, but got Unknown //IL_0016: Unknown result type (might be due to invalid IL or missing references) //IL_001c: Expected I4, but got Unknown CardBuilder.Builder.SetAbilities((Ability)(int)Raider.ability, (Ability)(int)Anchored.ability).SetBaseAttackAndHealth(1, 2).SetNames("arackulele.inscryption.grimoramod_PirateSwashbuckler", "Swashbuckler") .Build(); } private void Add_Card_Sarcophagus() { CardBuilder.Builder.SetAsNormalCard().SetAbilities((Ability)5).SetBaseAttackAndHealth(0, 2) .SetBoneCost(4) .SetEvolve("arackulele.inscryption.grimoramod_Mummy", 1) .SetDescription("EMERGING FROM AN OLD EGYPTIAN TOMB, MADE TO HOUSE THE LORDS OF OLD.") .SetNames("arackulele.inscryption.grimoramod_Sarcophagus", "Sarcophagus") .Build(); } private void Add_Card_ScreamingSkull() { //IL_0013: Unknown result type (might be due to invalid IL or missing references) //IL_0019: Expected I4, but got Unknown CardBuilder.Builder.SetAsRareCard().SetAbilities((Ability)(int)AreaOfEffectStrike.ability).SetBaseAttackAndHealth(1, 1) .SetBoneCost(2) .SetDescription("ONLY PAIN AND SUFFERING, NOTHING ELSE IS FELT BY THIS SKELETAL HEAD. WHAT A PITY.") .SetNames("arackulele.inscryption.grimoramod_ScreamingSkull", "Screaming Skull") .Build() .pixelPortrait = AllSprites.Find((Sprite o) => ((Object)o).name == "pixel_skull"); } private void Add_Card_Silbon() { //IL_0013: Unknown result type (might be due to invalid IL or missing references) //IL_0019: Expected I4, but got Unknown CardBuilder.Builder.SetAsRareCard().SetAbilities((Ability)(int)InvertedStrike.ability, (Ability)3).SetBaseAttackAndHealth(3, 2) .SetBoneCost(6) .SetDescription("A SKILLED HUNTER. DON'T TRUST YOUR EARS WHEN YOU HEAR ITS HAUNTING WHISTLE.") .SetNames("arackulele.inscryption.grimoramod_Silbon", "Silbon") .Build() .pixelPortrait = AllSprites.Find((Sprite o) => ((Object)o).name == "pixel_silbon"); } private void Add_Card_Skelemagus() { CardBuilder.Builder.SetAsNormalCard().SetAbilities((Ability)35).SetBaseAttackAndHealth(4, 1) .SetEnergyCost(6) .SetDescription("THEY HAVE LEARNED THE ANCIENT SPELL OF DEATH. YET IT IS TOO MUCH POWER TO BE WIELDED.") .SetNames("arackulele.inscryption.grimoramod_Skelemagus", "Skelemagus") .SetPortraits(AssetUtils.GetPrefab<Sprite>("Skelemagus_new"), AssetUtils.GetPrefab<Sprite>("Skelemagus_emission_new")) .Build(); } private void Add_Card_SkeletonArmy() { //IL_0013: Unknown result type (might be due to invalid IL or missing references) //IL_0019: Expected I4, but got Unknown CardBuilder.Builder.SetAsNormalCard().SetAbilities((Ability)(int)CreateArmyOfSkeletons.ability).SetBaseAttackAndHealth(1, 2) .SetBoneCost(5) .SetDescription("RISE MY ARMY, RIIIIIISE".BrightRed()) .SetNames("arackulele.inscryption.grimoramod_SkeletonArmy", "Skeleton Army") .Build(); } private void Add_Card_SlingersSoul() { //IL_0013: Unknown result type (might be due to invalid IL or missing references) //IL_0019: Expected I4, but got Unknown CardBuilder.Builder.SetAsRareCard().SetAbilities((Ability)(int)ActivatedDealDamageGrimora.ability).SetBaseAttackAndHealth(2, 3) .SetBoneCost(4) .SetEnergyCost(4) .SetDescription("One of the faster draws in the west, but not fast enough.") .SetNames("arackulele.inscryption.grimoramod_SlingersSoul", "Slinger's Soul") .Build(); } private void Add_Card_Sluagh() { CardBuilder.Builder.SetAsNormalCard().SetAbilities((Ability)19).SetBaseAttackAndHealth(1, 1) .SetEnergyCost(2) .SetDescription("THEY SHOW UP OUT OF NOWHERE AND RELOCATE PEOPLE AS THEY PLEASE.") .SetNames("arackulele.inscryption.grimoramod_Sluagh", "Sluagh") .Build(); } private void Add_Card_CandyBucket() { //IL_000e: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Expected I4, but got Unknown CardBuilder.Builder.SetAbilities((Ability)(int)DropCandy.ability).SetBaseAttackAndHealth(0, 1).SetBoneCost(1) .SetDescription("Trick or treat!") .SetNames("arackulele.inscryption.grimoramod_CandyBucket", "Candy Bucket") .Build(); } private void Add_Card_CandyMonster() { //IL_0017: Unknown result type (might be due to invalid IL or missing references) //IL_001d: Expected I4, but got Unknown //IL_002f: Unknown result type (might be due to invalid IL or missing references) //IL_0035: Expected I4, but got Unknown //IL_007c: Unknown result type (might be due to invalid IL or missing references) CardBuilder.Builder.SetAbilities((Ability)8, (Ability)52, (Ability)(int)Collector.ability).SetSpecialAbilities((SpecialTriggeredAbility)(int)GainAttackBones.FullSpecial.Id).SetBaseAttackAndHealth(0, 10) .SetBoneCost(5) .SetDescription("HAPPY HALLOWEEN!") .SetNames("arackulele.inscryption.grimoramod_CandyMonster", "Candy Monster") .SetTraits((Trait)14, (Trait)16) .SetSpecialStatIcon(GainAttackCandy.FullStatIcon.Id) .Build(); } private void Add_Card_Spectrabbit() { CardBuilder.Builder.SetBaseAttackAndHealth(0, 1).SetNames("arackulele.inscryption.grimoramod_Spectrabbit", "Spectrabbit").Build(); } private void Add_Card_Spectre() { //IL_0013: Unknown result type (might be due to invalid IL or missing references) //IL_0019: Expected I4, but got Unknown CardBuilder.Builder.SetAsNormalCard().SetAbilities((Ability)(int)HauntingCall.ability).SetBaseAttackAndHealth(3, 3) .SetEnergyCost(6) .SetDescription("THE SPECTRE EMITS A FLUTE LIKE CALL, AN OMEN OF BOTH DEATH AND DESCTRUCTION") .SetNames("arackulele.inscryption.grimoramod_Spectre", "Spectre") .Build(); } private void Add_Card_StarvedMan() { //IL_0013: Unknown result type (might be due to invalid IL or missing references) //IL_0019: Expected I4, but got Unknown CardBuilder.Builder.SetAsRareCard().SetAbilities((Ability)(int)Malnourishment.ability).SetBaseAttackAndHealth(3, 3) .SetBoneCost(4) .SetDescription("DEATH IS A CRUEL FATE. STARVATION AN EVEN CRUELER ONE. WHY DO YOU FIGHT, OH HUNGRY CHILD.") .SetNames("arackulele.inscryption.grimoramod_StarvedMan", "Starved Man") .Build(); } private void Add_Card_Summoner() { CardBuilder.Builder.SetAsNormalCard().SetAbilities((Ability)24).SetBaseAttackAndHealth(1, 1) .SetBoneCost(4) .SetDescription("HE HAS SPENT YEARS IN HIS STUDY, IN A TIRELESS ATTEMPT TO CHANGE HIS FATE. YET FATE IS A CRUEL MISTRESS.") .SetNames("arackulele.inscryption.grimoramod_Summoner", "Summoner") .SetPortraits(AssetUtils.GetPrefab<Sprite>("summoner_new"), AssetUtils.GetPrefab<Sprite>("summoner_new_emission")) .Build() .pixelPortrait = AssetUtils.GetPrefab<Sprite>("summoner_pixel"); } private void Add_Card_TamperedCoffin() { //IL_000e: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Expected I4, but got Unknown CardBuilder.Builder.SetAbilities((Ability)(int)Boneless.ability).SetBaseAttackAndHealth(0, 1).SetNames("arackulele.inscryption.grimoramod_TamperedCoffin", "Tampered Coffin") .Build(); } private void Add_Card_DeadTree() { CardBuilder.Builder.SetAbilities((Ability)23).SetBaseAttackAndHealth(0, 1).SetNames("arackulele.inscryption.grimoramod_DeadTree", "Dead Tree") .SetTraits((Trait)9, (Trait)12) .Build(); } private void Add_Card_DisturbedGrave() { CardBuilder.Builder.SetAbilities((Ability)5).SetBaseAttackAndHealth(0, 1).SetDescription("Its low cost is justified only by its low stats.") .SetEvolve("arackulele.inscryption.grimoramod_Zombie", 2) .SetNames("arackulele.inscryption.grimoramod_DisturbedGrave", "Disturbed Grave") .SetTraits((Trait)9, (Trait)12) .Build(); } private void Add_Card_DisturbedGraveNonTerrain() { CardBuilder.Builder.SetAsNormalCard().SetAbilities((Ability)5).SetBaseAttackAndHealth(0, 1) .SetDescription("A LOWLY GRAVE. WHOEVER IS LAID TO REST HERE, I DO NOT KNOW.") .SetEvolve("arackulele.inscryption.grimoramod_Zombie", 1) .SetNames("arackulele.inscryption.grimoramod_DisturbedGraveNonTerrain", "Disturbed Grave") .Build(); } private void Add_Card_Kennel() { CardBuilder.Builder.SetAbilities((Ability)26).SetBaseAttackAndHealth(0, 3).SetIceCube("arackulele.inscryption.grimoramod_Bonehound") .SetNames("arackulele.inscryption.grimoramod_Kennel", "Kennel") .SetTraits((Trait)9, (Trait)12) .Build(); } private void Add_Card_Obelisk() { CardBuilder.Builder.SetAbilities((Ability)105).SetBaseAttackAndHealth(0, 3).SetNames("arackulele.inscryption.grimoramod_Obelisk", "Obelisk") .SetTraits((Trait)9, (Trait)12) .Build(); } private void Add_Card_Shipwreck() { CardBuilder.Builder.SetAbilities((Ability)15).SetBaseAttackAndHealth(0, 3).SetNames("arackulele.inscryption.grimoramod_Shipwreck", "Shipwreck") .SetTraits((Trait)9, (Trait)12) .Build(); } private void Add_Card_Shipwreck_Dams() { CardBuilder.Builder.SetBaseAttackAndHealth(1, 1).SetNames("arackulele.inscryption.grimoramod_Shipwreck_Dams", "Flotsam").SetTraits((Trait)9, (Trait)12) .Build(); } private void Add_Card_Urn() { //IL_0013: Unknown result type (might be due to invalid IL or missing references) //IL_0019: Expected I4, but got Unknown CardBuilder.Builder.SetAbilities((Ability)105, (Ability)(int)NegateFire.ability).SetBaseAttackAndHealth(0, 1).SetNames("arackulele.inscryption.grimoramod_Urn", "Water Urn") .SetTraits((Trait)9, (Trait)12) .Build(); } private void Add_Card_Voodoo_Doll() { //IL_003a: Unknown result type (might be due to invalid IL or missing references) //IL_0040: Expected I4, but got Unknown //IL_0042: Unknown result type (might be due to invalid IL or missing references) //IL_0048: Expected I4, but got Unknown CardBuilder.Builder.SetBaseAttackAndHealth(0, 2).SetNames("arackulele.inscryption.grimoramod_Voodoo_Doll", "Voodoo Doll").SetTraits((Trait)9, (Trait)12) .SetAbilities((Ability)(int)Haunter.ability, (Ability)(int)InvertedStrike.ability) .Build(); } private void Add_Card_TombRobber() { //IL_002d: Unknown result type (might be due to invalid IL or missing references) //IL_0033: Expected I4, but got Unknown Sprite pixelPortrait = "TombRobber".GetCardInfo().pixelPortrait; CardBuilder.Builder.SetAppearance((Appearance)7).SetAbilities((Ability)(int)ActivatedDrawSkeletonGrimora.ability).SetBaseAttackAndHealth(0, 2) .SetDescription("NOTHING... NOTHING AGAIN... NO TREASURE IS LEFT ANYMORE.") .SetNames("arackulele.inscryption.grimoramod_TombRobber", "Tomb Robber") .SetPortraits(AssetUtils.GetPrefab<Sprite>("tomb_robber_new"), AssetUtils.GetPrefab<Sprite>("tomb_robber_emission_new")) .Build() .pixelPortrait = pixelPortrait; } private void Add_Card_TwinGiant_Ep