using System;
using System.Collections;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.Versioning;
using System.Security;
using System.Security.Permissions;
using BepInEx;
using BepInEx.Logging;
using DiskCardGame;
using HarmonyLib;
using Infiniscryption.P03ExpansionPack3.Sigils;
using Infiniscryption.P03KayceeRun.Cards;
using Infiniscryption.P03KayceeRun.Cards.Stickers;
using Infiniscryption.P03KayceeRun.Encounters;
using Infiniscryption.P03KayceeRun.Helpers;
using Infiniscryption.P03KayceeRun.Items;
using Infiniscryption.P03KayceeRun.Patchers;
using Infiniscryption.P03KayceeRun.Quests;
using Infiniscryption.P03KayceeRun.Sequences;
using Infiniscryption.P03SigilLibrary.Sigils;
using Infiniscryption.PackManagement;
using InscryptionAPI.Card;
using InscryptionAPI.Encounters;
using InscryptionAPI.Guid;
using InscryptionAPI.Helpers;
using InscryptionAPI.Helpers.Extensions;
using Pixelplacement;
using UnityEngine;
using UnityEngine.SceneManagement;
[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
[assembly: TargetFramework(".NETStandard,Version=v2.0", FrameworkDisplayName = "")]
[assembly: AssemblyCompany("Infiniscryption.P03ExpansionPack3Plugin")]
[assembly: AssemblyConfiguration("Debug")]
[assembly: AssemblyDescription("P03 KCM Expansion Pack 3")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyInformationalVersion("1.0.0")]
[assembly: AssemblyProduct("Infiniscryption.P03ExpansionPack3Plugin")]
[assembly: AssemblyTitle("Infiniscryption.P03ExpansionPack3Plugin")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("1.0.0.0")]
[module: UnverifiableCode]
namespace Infiniscryption.P03SigilLibrary.Sigils
{
public class SummonGunbots : AbilityBehaviour
{
public override Ability Ability => AbilityID;
public static Ability AbilityID { get; private set; }
static SummonGunbots()
{
//IL_0083: Unknown result type (might be due to invalid IL or missing references)
AbilityInfo val = ScriptableObject.CreateInstance<AbilityInfo>();
val.rulebookName = "Gunbot Summoner";
val.rulebookDescription = "When [creature] is played, play a Gunbot in all empty spaces on the board.";
val.canStack = false;
val.powerLevel = 3;
val.opponentUsable = false;
val.passive = false;
val.metaCategories = new List<AbilityMetaCategory>
{
(AbilityMetaCategory)2,
(AbilityMetaCategory)0
};
AbilityID = AbilityManager.Add("zorro.inscryption.infiniscryption.p03expansionpack3", val, typeof(SummonGunbots), (Texture)(object)TextureHelper.GetImageAsTexture("ability_spawn_gunbots.png", typeof(SummonGunbots).Assembly, (FilterMode)0)).Id;
}
public override bool RespondsToResolveOnBoard()
{
return true;
}
public override IEnumerator OnResolveOnBoard()
{
Singleton<ViewManager>.Instance.SwitchToView((View)4, false, false);
foreach (CardSlot slot in BoardManagerExtensions.GetSlotsCopy(Singleton<BoardManager>.Instance, CardExtensions.IsPlayerCard(((AbilityBehaviour)this).Card)))
{
if (!((Object)(object)slot.Card != (Object)null))
{
yield return Singleton<BoardManager>.Instance.CreateCardInSlot(CardLoader.GetCardByName("P03KCMXP3_Gunbot"), slot, 0.1f, true);
yield return (object)new WaitForSeconds(0.25f);
}
}
}
}
}
namespace Infiniscryption.P03ExpansionPack3
{
public static class Cards
{
public const string BLAST_CARD = "P03KCMXP3_BLAST";
public static readonly Trait GunbotSwapTrait;
static Cards()
{
//IL_000a: Unknown result type (might be due to invalid IL or missing references)
//IL_000f: Unknown result type (might be due to invalid IL or missing references)
//IL_0083: Unknown result type (might be due to invalid IL or missing references)
//IL_0089: Expected I4, but got Unknown
//IL_00f8: Unknown result type (might be due to invalid IL or missing references)
//IL_00fe: Expected I4, but got Unknown
//IL_0178: Unknown result type (might be due to invalid IL or missing references)
//IL_017e: Expected I4, but got Unknown
//IL_01f3: Unknown result type (might be due to invalid IL or missing references)
//IL_01f9: Expected I4, but got Unknown
//IL_02cb: Unknown result type (might be due to invalid IL or missing references)
//IL_02d1: Expected I4, but got Unknown
//IL_02de: Unknown result type (might be due to invalid IL or missing references)
//IL_02e4: Expected I4, but got Unknown
//IL_035f: Unknown result type (might be due to invalid IL or missing references)
//IL_0378: Unknown result type (might be due to invalid IL or missing references)
//IL_0391: Unknown result type (might be due to invalid IL or missing references)
//IL_03b3: Unknown result type (might be due to invalid IL or missing references)
//IL_03b9: Expected I4, but got Unknown
//IL_043d: Unknown result type (might be due to invalid IL or missing references)
//IL_0443: Expected I4, but got Unknown
//IL_045c: Unknown result type (might be due to invalid IL or missing references)
//IL_0475: Unknown result type (might be due to invalid IL or missing references)
//IL_048e: Unknown result type (might be due to invalid IL or missing references)
//IL_051d: Unknown result type (might be due to invalid IL or missing references)
//IL_0523: Expected I4, but got Unknown
//IL_0541: Unknown result type (might be due to invalid IL or missing references)
//IL_055a: Unknown result type (might be due to invalid IL or missing references)
//IL_0573: Unknown result type (might be due to invalid IL or missing references)
//IL_06c1: Unknown result type (might be due to invalid IL or missing references)
//IL_06da: Unknown result type (might be due to invalid IL or missing references)
//IL_06f3: Unknown result type (might be due to invalid IL or missing references)
//IL_071a: Unknown result type (might be due to invalid IL or missing references)
//IL_0720: Expected I4, but got Unknown
//IL_0830: Unknown result type (might be due to invalid IL or missing references)
//IL_0849: Unknown result type (might be due to invalid IL or missing references)
//IL_0862: Unknown result type (might be due to invalid IL or missing references)
//IL_0884: Unknown result type (might be due to invalid IL or missing references)
//IL_088a: Expected I4, but got Unknown
//IL_088c: Unknown result type (might be due to invalid IL or missing references)
//IL_0892: Expected I4, but got Unknown
//IL_0913: Unknown result type (might be due to invalid IL or missing references)
//IL_092c: Unknown result type (might be due to invalid IL or missing references)
//IL_0945: Unknown result type (might be due to invalid IL or missing references)
//IL_0977: Unknown result type (might be due to invalid IL or missing references)
//IL_097d: Expected I4, but got Unknown
//IL_09f2: Unknown result type (might be due to invalid IL or missing references)
//IL_09f8: Expected I4, but got Unknown
//IL_0a67: Unknown result type (might be due to invalid IL or missing references)
//IL_0a6d: Expected I4, but got Unknown
//IL_0ae2: Unknown result type (might be due to invalid IL or missing references)
//IL_0ae8: Expected I4, but got Unknown
//IL_0b59: Unknown result type (might be due to invalid IL or missing references)
//IL_0b5f: Expected I4, but got Unknown
//IL_0bd5: Unknown result type (might be due to invalid IL or missing references)
//IL_0bdb: Expected I4, but got Unknown
//IL_0c59: Unknown result type (might be due to invalid IL or missing references)
//IL_0c5f: Expected I4, but got Unknown
//IL_0c61: Unknown result type (might be due to invalid IL or missing references)
//IL_0c67: Expected I4, but got Unknown
//IL_0cdc: Unknown result type (might be due to invalid IL or missing references)
//IL_0ce2: Expected I4, but got Unknown
//IL_0d5b: Unknown result type (might be due to invalid IL or missing references)
//IL_0d61: Expected I4, but got Unknown
//IL_0dcd: Unknown result type (might be due to invalid IL or missing references)
//IL_0dd3: Expected I4, but got Unknown
//IL_0e44: Unknown result type (might be due to invalid IL or missing references)
//IL_0e4a: Expected I4, but got Unknown
//IL_0eb5: Unknown result type (might be due to invalid IL or missing references)
//IL_0ebb: Expected I4, but got Unknown
//IL_0f26: Unknown result type (might be due to invalid IL or missing references)
//IL_0f2c: Expected I4, but got Unknown
//IL_0f9c: Unknown result type (might be due to invalid IL or missing references)
//IL_0fa2: Expected I4, but got Unknown
//IL_1008: Unknown result type (might be due to invalid IL or missing references)
//IL_100e: Expected I4, but got Unknown
//IL_101b: Unknown result type (might be due to invalid IL or missing references)
//IL_1021: Expected I4, but got Unknown
//IL_108c: Unknown result type (might be due to invalid IL or missing references)
//IL_1092: Expected I4, but got Unknown
//IL_109f: Unknown result type (might be due to invalid IL or missing references)
//IL_10a5: Expected I4, but got Unknown
//IL_113a: Unknown result type (might be due to invalid IL or missing references)
//IL_1140: Expected I4, but got Unknown
//IL_11c5: Unknown result type (might be due to invalid IL or missing references)
//IL_11cb: Expected I4, but got Unknown
//IL_125e: Unknown result type (might be due to invalid IL or missing references)
//IL_1264: Expected I4, but got Unknown
//IL_129e: Unknown result type (might be due to invalid IL or missing references)
//IL_12a4: Expected I4, but got Unknown
//IL_130b: Unknown result type (might be due to invalid IL or missing references)
//IL_137c: Unknown result type (might be due to invalid IL or missing references)
//IL_1382: Expected I4, but got Unknown
//IL_13fb: Unknown result type (might be due to invalid IL or missing references)
//IL_1401: Expected I4, but got Unknown
//IL_1484: Unknown result type (might be due to invalid IL or missing references)
//IL_148a: Expected I4, but got Unknown
//IL_1515: Unknown result type (might be due to invalid IL or missing references)
//IL_151b: Expected I4, but got Unknown
//IL_158b: Unknown result type (might be due to invalid IL or missing references)
//IL_1591: Expected I4, but got Unknown
//IL_16f9: Unknown result type (might be due to invalid IL or missing references)
//IL_16ff: Expected I4, but got Unknown
//IL_176b: Unknown result type (might be due to invalid IL or missing references)
//IL_1771: Expected I4, but got Unknown
//IL_17dd: Unknown result type (might be due to invalid IL or missing references)
//IL_17e3: Expected I4, but got Unknown
//IL_1841: Unknown result type (might be due to invalid IL or missing references)
//IL_1847: Expected I4, but got Unknown
//IL_18b6: Unknown result type (might be due to invalid IL or missing references)
//IL_18bc: Expected I4, but got Unknown
//IL_19a3: Unknown result type (might be due to invalid IL or missing references)
//IL_19a9: Expected I4, but got Unknown
//IL_19ab: Unknown result type (might be due to invalid IL or missing references)
//IL_19b1: Expected I4, but got Unknown
//IL_1a26: Unknown result type (might be due to invalid IL or missing references)
//IL_1a2c: Expected I4, but got Unknown
//IL_1a32: Unknown result type (might be due to invalid IL or missing references)
//IL_1a38: Expected I4, but got Unknown
//IL_1aa3: Unknown result type (might be due to invalid IL or missing references)
//IL_1aa9: Expected I4, but got Unknown
//IL_1b19: Unknown result type (might be due to invalid IL or missing references)
//IL_1b1f: Expected I4, but got Unknown
//IL_1b86: Unknown result type (might be due to invalid IL or missing references)
//IL_1b8c: Expected I4, but got Unknown
//IL_1c01: Unknown result type (might be due to invalid IL or missing references)
//IL_1c07: Expected I4, but got Unknown
//IL_1c95: Unknown result type (might be due to invalid IL or missing references)
//IL_1c9b: Expected I4, but got Unknown
//IL_1d1a: Unknown result type (might be due to invalid IL or missing references)
//IL_1d20: Expected I4, but got Unknown
//IL_1d90: Unknown result type (might be due to invalid IL or missing references)
//IL_1d96: Expected I4, but got Unknown
//IL_1de4: Unknown result type (might be due to invalid IL or missing references)
//IL_1dea: Expected I4, but got Unknown
//IL_1e8c: Unknown result type (might be due to invalid IL or missing references)
//IL_1e92: Expected I4, but got Unknown
//IL_1f11: Unknown result type (might be due to invalid IL or missing references)
//IL_1f17: Expected I4, but got Unknown
GunbotSwapTrait = GuidManager.GetEnumValue<Trait>("zorro.inscryption.infiniscryption.p03expansionpack3", "GunbotSwap");
CardInfo obj = CardExtensions.SetPortrait(CardManager.New("P03KCMXP3", "Unpacker", "Unpacker", 2, 2, (string)null), TextureHelper.GetImageAsTexture("portrait_unpacker.png", typeof(Cards).Assembly, (FilterMode)0), (FilterMode?)null);
int? num = 6;
CardExtensions.AddAbilities(CardExtensions.SetRare(CustomCards.SetNeutralP03Card(CardExtensions.SetCost(obj, (int?)0, (int?)0, num, (List<GemType>)null))), (Ability[])(object)new Ability[1] { (Ability)(int)ActivatedGainItem.AbilityID });
CardInfo obj2 = CardExtensions.SetPortrait(CardManager.New("P03KCMXP3", "Gunbot", "Gunbot", 2, 1, (string)null), TextureHelper.GetImageAsTexture("portrait_gunbot.png", typeof(Cards).Assembly, (FilterMode)0), (FilterMode?)null);
num = 2;
CardExtensions.AddAbilities(CustomCards.SetNeutralP03Card(CardExtensions.SetCost(obj2, (int?)0, (int?)0, num, (List<GemType>)null)), (Ability[])(object)new Ability[1] { (Ability)(int)TargetRequired.AbilityID });
CardInfo obj3 = CardExtensions.SetPortrait(CardManager.New("P03KCMXP3", "Kraken", "KR4K3N", 1, 1, (string)null), TextureHelper.GetImageAsTexture("portrait_kraken.png", typeof(Cards).Assembly, (FilterMode)0), (FilterMode?)null);
num = 4;
CardExtensions.AddAbilities(CardExtensions.SetRare(CustomCards.SetRegionalP03Card(CardExtensions.SetCost(obj3, (int?)0, (int?)0, num, (List<GemType>)null), (CardTemple[])(object)new CardTemple[1])), (Ability[])(object)new Ability[1] { (Ability)(int)KrakenTransformer.AbilityID });
CardExtensions.AddAbilities(CustomCards.SetRegionalP03Card(CardExtensions.SetCost(CardExtensions.SetPortrait(CardManager.New("P03KCMXP3", "BrainCell", "Brain Cell", 0, 1, (string)null), TextureHelper.GetImageAsTexture("portrait_brain_cell.png", typeof(Cards).Assembly, (FilterMode)0), (FilterMode?)null), (int?)1, (int?)0, (int?)0, (List<GemType>)null), (CardTemple[])(object)new CardTemple[1] { (CardTemple)3 }), (Ability[])(object)new Ability[1] { (Ability)(int)CellGemDraw.AbilityID });
CustomCards.SetNeutralP03Card(CardExtensions.SetCost(CardExtensions.SetPortrait(CardManager.New("P03KCMXP3", "MuscleDroid", "Muscle Droid", 1, 3, (string)null), TextureHelper.GetImageAsTexture("portrait_muscle_droid.png", typeof(Cards).Assembly, (FilterMode)0), (FilterMode?)null), (int?)1, (int?)0, (int?)0, (List<GemType>)null));
CardInfo obj4 = CardExtensions.SetPortrait(CardManager.New("P03KCMXP3", "Danny", "D.A.N.N.Y.", 0, 1, (string)null), TextureHelper.GetImageAsTexture("portrait_danny.png", typeof(Cards).Assembly, (FilterMode)0), (FilterMode?)null);
num = 4;
CardExtensions.AddSpecialAbilities(CardExtensions.AddAbilities(CardExtensions.SetRare(CustomCards.SetNeutralP03Card(CardExtensions.SetCost(obj4, (int?)0, (int?)0, num, (List<GemType>)null))), (Ability[])(object)new Ability[1] { (Ability)(int)SummonGunbots.AbilityID }), (SpecialTriggeredAbility[])(object)new SpecialTriggeredAbility[1] { (SpecialTriggeredAbility)(int)SwapWithGunbot.ID });
CardInfo obj5 = CardExtensions.SetPortrait(CardManager.New("P03KCMXP3", "ButaneCaster", "Butane Caster", 0, 1, (string)null), TextureHelper.GetImageAsTexture("portrait_butane_caster.png", typeof(Cards).Assembly, (FilterMode)0), (FilterMode?)null);
num = 4;
CardExtensions.AddAbilities(CustomCards.SetWeaponMesh(CustomCards.SetNeutralP03Card(CardExtensions.SetCost(obj5, (int?)0, num, (int?)0, (List<GemType>)null)), "p03kcm/prefabs/flamethrower", (Vector3?)new Vector3(0f, 0f, 0f), (Vector3?)new Vector3(0f, 90f, 0f), (Vector3?)new Vector3(0.75f, 0.75f, 0.75f), (bool?)null, (string)null), (Ability[])(object)new Ability[1] { (Ability)(int)ThrowFire.AbilityID });
CardInfo obj6 = CardExtensions.SetPortrait(CardManager.New("P03KCMXP3", "Stimulator", "Automatomaton", 1, 1, (string)null), TextureHelper.GetImageAsTexture("portrait_stimulator.png", typeof(Cards).Assembly, (FilterMode)0), (FilterMode?)null);
num = 3;
CardInfo val = CustomCards.SetWeaponMesh(CardExtensions.AddAbilities(CardExtensions.SetExtendedProperty(CardExtensions.SetRare(CustomCards.SetNeutralP03Card(CardExtensions.SetCost(obj6, (int?)0, num, (int?)0, (List<GemType>)null))), "WeaponButtonPusher", (object)true), (Ability[])(object)new Ability[1] { (Ability)(int)ActivateEverything.AbilityID }), "p03kcm/prefabs/FingerGun", (Vector3?)new Vector3(0f, -0.66f, 0f), (Vector3?)new Vector3(0f, 180f, 0f), (Vector3?)new Vector3(0.002f, 0.005f, 0.002f), (bool?)null, (string)null);
CardInfo obj7 = CardExtensions.SetPortrait(CardManager.New("P03KCMXP3", "Stimulator_2", "Automatomatomaton", 1, 2, (string)null), TextureHelper.GetImageAsTexture("portrait_stimulator.png", typeof(Cards).Assembly, (FilterMode)0), (FilterMode?)null);
num = 3;
CardInfo val2 = CustomCards.SetWeaponMesh(CardExtensions.AddAbilities(CardExtensions.SetExtendedProperty(CardExtensions.SetCost(obj7, (int?)0, num, (int?)0, (List<GemType>)null), "WeaponButtonPusher", (object)true), (Ability[])(object)new Ability[2]
{
(Ability)(int)ActivateEverything.AbilityID,
(Ability)34
}), "p03kcm/prefabs/FingerGun", (Vector3?)new Vector3(0f, -0.66f, 0f), (Vector3?)new Vector3(0f, 180f, 0f), (Vector3?)new Vector3(0.002f, 0.005f, 0.002f), (bool?)null, (string)null);
CardExtensions.SetEvolve(val, val2, 1, (IEnumerable<CardModificationInfo>)null);
CustomEvolveNamingRule.SetCustomEvolutionNameRule(val2, (Func<string, string>)((string c) => c.Substring(0, c.Length - 3) + "tomaton"));
CustomEvolveNamingRule.SetCustomDevolutionNameRule(val2, (Func<string, string>)((string curName) => curName.Contains("tomatomato") ? curName.Replace("tomatomato", "tomato") : "Demoted Automatomaton"));
CardInfo obj8 = CardExtensions.SetPortrait(CardManager.New("P03KCMXP3", "Robipper", "Robipper", 6, 6, (string)null), TextureHelper.GetImageAsTexture("portrait_roboripper.png", typeof(Cards).Assembly, (FilterMode)0), (FilterMode?)null);
num = 6;
CardExtensions.AddAbilities(CardExtensions.SetRare(CustomCards.SetRegionalP03Card(CardExtensions.SetCost(obj8, (int?)0, (int?)0, num, (List<GemType>)null), (CardTemple[])(object)new CardTemple[1] { (CardTemple)1 })), (Ability[])(object)new Ability[1] { (Ability)35 });
CardInfo obj9 = CardExtensions.SetPortrait(CardManager.New("P03KCMXP3", "Gamer", "GameKid", 0, 1, (string)null), TextureHelper.GetImageAsTexture("portrait_gamer.png", typeof(Cards).Assembly, (FilterMode)0), (FilterMode?)null);
num = 5;
CardExtensions.AddAbilities(CustomCards.SetWeaponMesh(CardExtensions.SetRare(CustomCards.SetNeutralP03Card(CardExtensions.SetCost(obj9, (int?)0, (int?)0, num, (List<GemType>)null))), "p03kcm/prefabs/XCom_laserRifle_obj", (Vector3?)new Vector3(0f, -0.66f, 0f), (Vector3?)new Vector3(0f, 0f, 0f), (Vector3?)new Vector3(0.03f, 0.03f, 0.03f), (bool?)null, (string)null), (Ability[])(object)new Ability[2]
{
(Ability)74,
(Ability)(int)ActivatedStrafeSelf.AbilityID
});
CardExtensions.AddAbilities(CustomCards.SetRegionalP03Card(CardExtensions.SetGemsCost(CustomCards.AddPart3Decal(CardExtensions.SetPortrait(CardManager.New("P03KCMXP3", "GreenEnergyBot", "Green Energy Bot", 1, 1, (string)null), TextureHelper.GetImageAsTexture("portrait_battery_mage.png", typeof(Cards).Assembly, (FilterMode)0), (FilterMode?)null), TextureHelper.GetImageAsTexture("decal_battery_mage.png", typeof(Cards).Assembly, (FilterMode)0)), (GemType[])(object)new GemType[1]), (CardTemple[])(object)new CardTemple[1] { (CardTemple)3 }), (Ability[])(object)new Ability[2]
{
(Ability)51,
(Ability)43
});
CardInfo obj10 = CardExtensions.SetPortrait(CardManager.New("P03KCMXP3", "MortarDroid", "Molotov Launcher", 1, 1, (string)null), TextureHelper.GetImageAsTexture("portrait_mortar_droid.png", typeof(Cards).Assembly, (FilterMode)0), (FilterMode?)null);
num = 5;
CardExtensions.AddAbilities(CustomCards.SetWeaponMesh(FuelExtensions.SetStartingFuel(CustomCards.SetNeutralP03Card(CardExtensions.SetCost(obj10, (int?)0, num, (int?)0, (List<GemType>)null)), 3), "p03kcm/prefabs/flamethrower", (Vector3?)new Vector3(0f, 0f, 0f), (Vector3?)new Vector3(0f, 90f, 0f), (Vector3?)new Vector3(0.75f, 0.75f, 0.75f), (bool?)null, (string)null), (Ability[])(object)new Ability[2]
{
(Ability)(int)MissileStrike.AbilityID,
(Ability)(int)FireBombWhenFueled.AbilityID
});
CardInfo obj11 = CardExtensions.SetPortrait(CardManager.New("P03KCMXP3", "TowTruck", "Tow Truck", 0, 3, (string)null), TextureHelper.GetImageAsTexture("portrait_tow_truck.png", typeof(Cards).Assembly, (FilterMode)0), (FilterMode?)null);
num = 5;
CardExtensions.AddAbilities(CardExtensions.SetExtendedProperty(CustomCards.SetWeaponMesh(FuelExtensions.SetStartingFuel(CustomCards.SetNeutralP03Card(CardExtensions.SetCost(obj11, (int?)0, num, (int?)0, (List<GemType>)null)), 2), "p03kcm/prefabs/Item_Hook", (Vector3?)new Vector3(0f, -0.6f, 0.7f), (Vector3?)new Vector3(330f, 0f, 180f), (Vector3?)new Vector3(0.007f, 0.013f, 0.007f), (bool?)true, "metal_object_hit#3"), "WeaponTowHook", (object)true), (Ability[])(object)new Ability[1] { (Ability)(int)ActivatedTemporaryControl.AbilityID });
CardInfo obj12 = CardExtensions.SetPortrait(CardManager.New("P03KCMXP3", "NitrousTanker", "Nitrous Tanker", 0, 1, (string)null), TextureHelper.GetImageAsTexture("portrait_nitrous_dispenser.png", typeof(Cards).Assembly, (FilterMode)0), (FilterMode?)null);
num = 5;
CardExtensions.AddAbilities(FuelExtensions.SetStartingFuel(CustomCards.SetNeutralP03Card(CardExtensions.SetCost(obj12, (int?)0, num, (int?)0, (List<GemType>)null)), 2), (Ability[])(object)new Ability[1] { (Ability)(int)ActivatedBuffTeam.AbilityID });
CardInfo obj13 = CardExtensions.SetPortrait(CardManager.New("P03KCMXP3", "BoneMill", "Bone Mill", 0, 2, (string)null), TextureHelper.GetImageAsTexture("portrait_bone_mill.png", typeof(Cards).Assembly, (FilterMode)0), (FilterMode?)null);
num = 2;
CardExtensions.AddAbilities(CustomCards.SetNeutralP03Card(CardExtensions.SetCost(obj13, (int?)0, (int?)0, num, (List<GemType>)null)), (Ability[])(object)new Ability[1] { (Ability)(int)ActivatedGainBattery.AbilityID });
CardInfo obj14 = CardExtensions.SetPortrait(CardManager.New("P03KCMXP3", "BadAss", "B4D A55", 2, 4, (string)null), TextureHelper.GetImageAsTexture("portrait_badass.png", typeof(Cards).Assembly, (FilterMode)0), (FilterMode?)null);
num = 4;
CardExtensions.AddAbilities(FuelExtensions.SetStartingFuel(CustomCards.SetNeutralP03Card(CardExtensions.SetCost(obj14, (int?)0, num, (int?)0, (List<GemType>)null)), 3), (Ability[])(object)new Ability[1] { (Ability)(int)FuelRequired.AbilityID });
CardExtensions.AddAbilities(CustomCards.SetRegionalP03Card(CardExtensions.SetCost(CardExtensions.SetPortrait(CardManager.New("P03KCMXP3", "MucusLauncher", "Mucus Launcher", 0, 1, (string)null), TextureHelper.GetImageAsTexture("portrait_mucus_launcher.png", typeof(Cards).Assembly, (FilterMode)0), (FilterMode?)null), (int?)1, (int?)0, (int?)0, (List<GemType>)null), (CardTemple[])(object)new CardTemple[1]), (Ability[])(object)new Ability[1] { (Ability)(int)ThrowSlime.AbilityID });
CardExtensions.AddAbilities(CardExtensions.SetRare(CustomCards.SetRegionalP03Card(CardExtensions.SetCost(CardExtensions.SetPortrait(CardManager.New("P03KCMXP3", "GeneralGunk", "General Gunk", 2, 4, (string)null), TextureHelper.GetImageAsTexture("portrait_general_gunk.png", typeof(Cards).Assembly, (FilterMode)0), (FilterMode?)null), (int?)2, (int?)0, (int?)0, (List<GemType>)null), (CardTemple[])(object)new CardTemple[1])), (Ability[])(object)new Ability[1] { (Ability)(int)ThrowSlimeAll.AbilityID });
CardInfo obj15 = CardExtensions.SetPortrait(CardManager.New("P03KCMXP3", "Gachabomb", "Gachabomb", 0, 1, (string)null), TextureHelper.GetImageAsTexture("portrait_gachabomb.png", typeof(Cards).Assembly, (FilterMode)0), (FilterMode?)null);
num = 4;
CardExtensions.AddAbilities(CardExtensions.SetRare(CustomCards.SetRegionalP03Card(CardExtensions.SetCost(obj15, (int?)0, (int?)0, num, (List<GemType>)null), (CardTemple[])(object)new CardTemple[1] { (CardTemple)1 })), (Ability[])(object)new Ability[2]
{
(Ability)(int)Explodonate.AbilityID,
(Ability)(int)Lootbox.AbilityID
});
CardInfo obj16 = CardExtensions.SetPortrait(CardManager.New("P03KCMXP3", "Submariner", "Submariner", 2, 1, (string)null), TextureHelper.GetImageAsTexture("portrait_submariner.png", typeof(Cards).Assembly, (FilterMode)0), (FilterMode?)null);
num = 5;
CardExtensions.AddAbilities(FuelExtensions.SetStartingFuel(CustomCards.SetNeutralP03Card(CardExtensions.SetCost(obj16, (int?)0, num, (int?)0, (List<GemType>)null)), 2), (Ability[])(object)new Ability[1] { (Ability)(int)ActivatedSubmerge.AbilityID });
CardInfo obj17 = CardExtensions.SetPortrait(CardManager.New("P03KCMXP3", "RotLatcher", "Rot Latcher", 0, 1, (string)null), TextureHelper.GetImageAsTexture("portrait_rot_latcher.png", typeof(Cards).Assembly, (FilterMode)0), (FilterMode?)null);
num = 2;
CardExtensions.AddAbilities(CustomCards.SetRegionalP03Card(CardExtensions.SetCost(obj17, (int?)0, num, (int?)0, (List<GemType>)null), (CardTemple[])(object)new CardTemple[1] { (CardTemple)1 }), (Ability[])(object)new Ability[1] { (Ability)(int)LatchStinky.AbilityID });
CardExtensions.AddAbilities(CustomCards.SetRegionalP03Card(CardExtensions.SetGemsCost(CardExtensions.SetPortrait(CardManager.New("P03KCMXP3", "TimeLatcher", "Time Latcher", 0, 1, (string)null), TextureHelper.GetImageAsTexture("portrait_time_latcher.png", typeof(Cards).Assembly, (FilterMode)0), (FilterMode?)null), (GemType[])(object)new GemType[1] { (GemType)2 }), (CardTemple[])(object)new CardTemple[1] { (CardTemple)1 }), (Ability[])(object)new Ability[1] { (Ability)(int)LatchAnnoying.AbilityID });
CardExtensions.AddAbilities(CustomCards.SetRegionalP03Card(CardExtensions.SetCost(CardExtensions.SetPortrait(CardManager.New("P03KCMXP3", "Catapult", "Cat-A-Pult", 1, 1, (string)null), TextureHelper.GetImageAsTexture("portrait_catapult.png", typeof(Cards).Assembly, (FilterMode)0), (FilterMode?)null), (int?)1, (int?)0, (int?)0, (List<GemType>)null), (CardTemple[])(object)new CardTemple[1]), (Ability[])(object)new Ability[1] { (Ability)(int)Fling.AbilityID });
CardExtensions.AddAbilities(CustomCards.SetNeutralP03Card(CardExtensions.SetCost(CardExtensions.SetPortrait(CardManager.New("P03KCMXP3", "Synthesioid", "Synthesioid", 0, 0, (string)null), TextureHelper.GetImageAsTexture("portrait_synthesioid.png", typeof(Cards).Assembly, (FilterMode)0), (FilterMode?)null), (int?)2, (int?)0, (int?)0, (List<GemType>)null)), (Ability[])(object)new Ability[1] { (Ability)(int)SacrificeMorsel.AbilityID });
CardExtensions.AddAbilities(CustomCards.SetNeutralP03Card(CardExtensions.SetCost(CardExtensions.SetPortrait(CardManager.New("P03KCMXP3", "RemoteDetonator", "Remote Detonator", 1, 1, (string)null), TextureHelper.GetImageAsTexture("portrait_remote_detonator.png", typeof(Cards).Assembly, (FilterMode)0), (FilterMode?)null), (int?)1, (int?)0, (int?)0, (List<GemType>)null)), (Ability[])(object)new Ability[1] { (Ability)(int)SacrificeExplode.AbilityID });
CardInfo val3 = CardExtensions.AddAbilities(CardExtensions.SetRare(CustomCards.SetNeutralP03Card(CardExtensions.SetCost(CardExtensions.SetPortrait(CardManager.New("P03KCMXP3", "Scavenger", "Corpse Looter", 1, 3, (string)null), TextureHelper.GetImageAsTexture("portrait_scavenger.png", typeof(Cards).Assembly, (FilterMode)0), (FilterMode?)null), (int?)3, (int?)0, (int?)0, (List<GemType>)null))), (Ability[])(object)new Ability[1] { (Ability)(int)ScrapSalvage.AbilityID });
CardInfo val4 = CardExtensions.AddAbilities(CardExtensions.AddAppearances(CardExtensions.SetCost(CardExtensions.SetPortrait(CardManager.New("P03KCMXP3", "Scavenger_2", "Looter Shooter", 1, 4, (string)null), TextureHelper.GetImageAsTexture("portrait_scavenger_2.png", typeof(Cards).Assembly, (FilterMode)0), (FilterMode?)null), (int?)3, (int?)0, (int?)0, (List<GemType>)null), (Appearance[])(object)new Appearance[1] { (Appearance)(int)RareDiscCardAppearance.ID }), (Ability[])(object)new Ability[2]
{
(Ability)(int)ScrapSalvage.AbilityID,
(Ability)24
});
CardInfo val5 = CardExtensions.AddAbilities(CardExtensions.AddAppearances(CardExtensions.SetCost(CardExtensions.SetPortrait(CardManager.New("P03KCMXP3", "Scavenger_3", "Super Looter Shooter", 1, 5, (string)null), TextureHelper.GetImageAsTexture("portrait_scavenger_3.png", typeof(Cards).Assembly, (FilterMode)0), (FilterMode?)null), (int?)3, (int?)0, (int?)0, (List<GemType>)null), (Appearance[])(object)new Appearance[1] { (Appearance)(int)RareDiscCardAppearance.ID }), (Ability[])(object)new Ability[3]
{
(Ability)(int)ScrapSalvage.AbilityID,
(Ability)24,
(Ability)78
});
CardExtensions.SetEvolve(val3, val4, 1, (IEnumerable<CardModificationInfo>)null);
CardExtensions.SetEvolve(val4, val5, 1, (IEnumerable<CardModificationInfo>)null);
CardExtensions.AddAbilities(CardExtensions.AddSpecialAbilities(CustomCards.SetRegionalP03Card(CardExtensions.SetCost(CardExtensions.SetPortrait(CardManager.New("P03KCMXP3", "SkinDroid", "Skin Droid", 0, 2, (string)null), TextureHelper.GetImageAsTexture("portrait_skin_droid.png", typeof(Cards).Assembly, (FilterMode)0), (FilterMode?)null), (int?)1, (int?)0, (int?)0, (List<GemType>)null), (CardTemple[])(object)new CardTemple[1] { (CardTemple)1 }), (SpecialTriggeredAbility[])(object)new SpecialTriggeredAbility[1] { (SpecialTriggeredAbility)(int)CopySacrificeIceCube.AbilityID }), (Ability[])(object)new Ability[1] { (Ability)26 });
CardExtensions.AddAbilities(CustomCards.SetRegionalP03Card(CardExtensions.SetCost(CardExtensions.SetPortrait(CardManager.New("P03KCMXP3", "EmergenceLatcher", "Emergence Latcher", 2, 1, (string)null), TextureHelper.GetImageAsTexture("portrait_emergence_latcher.png", typeof(Cards).Assembly, (FilterMode)0), (FilterMode?)null), (int?)1, (int?)0, (int?)0, (List<GemType>)null), (CardTemple[])(object)new CardTemple[1] { (CardTemple)1 }), (Ability[])(object)new Ability[1] { (Ability)(int)SacrificeLatch.AbilityID });
CardExtensions.AddAbilities(CustomCards.SetRegionalP03Card(CardExtensions.SetGemsCost(CardExtensions.SetExtendedProperty(CardExtensions.AddAppearances(CardExtensions.AddDecal(CardExtensions.SetPortrait(CardManager.New("P03KCMXP3", "Cottagecog", "Cottagecog", 0, 4, (string)null), TextureHelper.GetImageAsTexture("portrait_cottagecog.png", typeof(Cards).Assembly, (FilterMode)0), (FilterMode?)null), (Texture[])(object)new Texture[2]
{
(Texture)TextureHelper.GetImageAsTexture("decal_cottagecog_sapphire.png", typeof(Cards).Assembly, (FilterMode)0),
(Texture)TextureHelper.GetImageAsTexture("decal_cottagecog_ruby.png", typeof(Cards).Assembly, (FilterMode)0)
}), (Appearance[])(object)new Appearance[1] { (Appearance)(int)ReplicaAppearanceBehavior.ID }), "ReplicaType", (object)"orange"), (GemType[])(object)new GemType[1] { (GemType)2 }), (CardTemple[])(object)new CardTemple[1] { (CardTemple)3 }), (Ability[])(object)new Ability[1] { (Ability)(int)GemOrangePrinter.AbilityID });
CardInfo obj18 = CardExtensions.SetPortrait(CardManager.New("P03KCMXP3", "VesselTentacle", "56455353454C", 0, 1, (string)null), TextureHelper.GetImageAsTexture("portrait_vessel_tentacle.png", typeof(Cards).Assembly, (FilterMode)0), (FilterMode?)null);
num = 3;
CardExtensions.SetStatIcon(CustomCards.SetNeutralP03Card(CardExtensions.SetCost(obj18, (int?)0, (int?)0, num, (List<GemType>)null)), SideDeckPower.AbilityID);
CardExtensions.AddAbilities(CustomCards.SetRegionalP03Card(CardExtensions.SetGemsCost(CardExtensions.SetPortrait(CardManager.New("P03KCMXP3", "Baristabot", "Baristabot", 0, 2, (string)null), TextureHelper.GetImageAsTexture("portrait_baristabot.png", typeof(Cards).Assembly, (FilterMode)0), (FilterMode?)null), (GemType[])(object)new GemType[1] { (GemType)1 }), (CardTemple[])(object)new CardTemple[1] { (CardTemple)3 }), (Ability[])(object)new Ability[1] { (Ability)(int)GemBluePurist.AbilityID });
CardInfo obj19 = CardExtensions.SetPortrait(CardManager.New("P03KCMXP3", "MysteryMachine", "Mystery Machine", 1, 2, (string)null), TextureHelper.GetImageAsTexture("portrait_mystery_machine.png", typeof(Cards).Assembly, (FilterMode)0), (FilterMode?)null);
num = 4;
CardExtensions.AddAbilities(CardExtensions.SetRare(CustomCards.SetNeutralP03Card(CardExtensions.SetCost(obj19, (int?)0, (int?)0, num, (List<GemType>)null))), (Ability[])(object)new Ability[2]
{
(Ability)31,
(Ability)(int)RandomRareAbility.AbilityID
});
CardInfo obj20 = CardExtensions.SetPortrait(CardManager.New("P03KCMXP3", "StickerKing", "Sticker King", 2, 1, (string)null), TextureHelper.GetImageAsTexture("portrait_sticker_king.png", typeof(Cards).Assembly, (FilterMode)0), (FilterMode?)null);
num = 4;
CardExtensions.AddAbilities(CardExtensions.SetExtendedProperty(CardExtensions.SetRare(CustomCards.SetNeutralP03Card(CardExtensions.SetCost(obj20, (int?)0, (int?)0, num, (List<GemType>)null))), "Stickers.Forced", (object)"Stickers[StickerPositions:sticker_muscles,0.18,-0.35,0.00|sticker_revolver,0.47,-0.39,0.00|sticker_altcat,-0.09,0.00,0.00|sticker_winged_shoes,-0.18,0.13,0.00|sticker_battery,0.14,0.32,0.00|sticker_companion_cube,0.04,0.01,0.00|sticker_binary_ribbon,0.22,0.04,0.00|sticker_annoy_face,0.39,0.00,0.00|sticker_cowboy_hat,0.48,0.01,0.00][StickerRotations:sticker_muscles,0.00,180.00,100.86|sticker_revolver,0.00,180.00,133.56|sticker_battery,0.00,180.00,0][StickerScales:][StickerAbility:]"), (Ability[])(object)new Ability[1] { (Ability)(int)GiveStickers.AbilityID });
CardManager.ModifyCardList += delegate(List<CardInfo> cards)
{
CardInfo val6 = CardExtensions.CardByName((IEnumerable<CardInfo>)cards, "P03KCMXP3_StickerKing");
CardStickerData stickerData = Stickers.GetStickerData(val6);
stickerData.FilterToUnlocked();
if (stickerData.Positions.Count < 3)
{
val6.metaCategories.Clear();
}
return cards;
};
CardExtensions.AddAbilities(CustomCards.SetRegionalP03Card(CardExtensions.SetCost(CardExtensions.SetPortrait(CardManager.New("P03KCMXP3", "BoogerBarrel", "Booger Barrel", 2, 2, (string)null), TextureHelper.GetImageAsTexture("portrait_booger_barrel.png", typeof(Cards).Assembly, (FilterMode)0), (FilterMode?)null), (int?)2, (int?)0, (int?)0, (List<GemType>)null), (CardTemple[])(object)new CardTemple[1] { (CardTemple)2 }), (Ability[])(object)new Ability[1] { (Ability)(int)SacrificeSlime.AbilityID });
CardExtensions.AddAbilities(CustomCards.SetRegionalP03Card(CardExtensions.SetGemsCost(CardExtensions.SetPortrait(CardManager.New("P03KCMXP3", "Artificer", "Artificer", 1, 1, (string)null), TextureHelper.GetImageAsTexture("portrait_artificer.png", typeof(Cards).Assembly, (FilterMode)0), (FilterMode?)null), (GemType[])(object)new GemType[2]
{
(GemType)1,
(GemType)2
}), (CardTemple[])(object)new CardTemple[1] { (CardTemple)3 }), (Ability[])(object)new Ability[1] { (Ability)(int)DrawThreeCommand.AbilityID });
CardExtensions.AddAbilities(CustomCards.SetRegionalP03Card(CardExtensions.SetGemsCost(CardExtensions.SetPortrait(CardManager.New("P03KCMXP3", "GearShifter", "Gear Shifter", 1, 2, (string)null), TextureHelper.GetImageAsTexture("portrait_gear_shifter.png", typeof(Cards).Assembly, (FilterMode)0), (FilterMode?)null), (GemType[])(object)new GemType[2]
{
(GemType)2,
default(GemType)
}), (CardTemple[])(object)new CardTemple[1] { (CardTemple)3 }), (Ability[])(object)new Ability[1] { (Ability)102 });
CardExtensions.AddAbilities(CustomCards.SetNeutralP03Card(CardExtensions.SetGemsCost(CardExtensions.SetAltPortrait(CardExtensions.SetPortrait(CardManager.New("P03KCMXP3", "Shrinker", "Shrinker", 2, 2, (string)null), TextureHelper.GetImageAsTexture("portrait_shrinker.png", typeof(Cards).Assembly, (FilterMode)0), (FilterMode?)null), TextureHelper.GetImageAsTexture("portrait_shrinker_swap.png", typeof(Cards).Assembly, (FilterMode)0), (FilterMode?)null), (GemType[])(object)new GemType[2]
{
default(GemType),
(GemType)1
})), (Ability[])(object)new Ability[1] { (Ability)72 });
CardExtensions.AddAbilities(CardExtensions.SetRare(CustomCards.SetNeutralP03Card(CardExtensions.SetGemsCost(CardExtensions.SetPortrait(CardManager.New("P03KCMXP3", "MagnusGod", "Time Machine", 0, 2, (string)null), TextureHelper.GetImageAsTexture("portrait_magnus_god.png", typeof(Cards).Assembly, (FilterMode)0), (FilterMode?)null), (GemType[])(object)new GemType[3]
{
(GemType)1,
(GemType)2,
default(GemType)
}))), (Ability[])(object)new Ability[1] { (Ability)(int)ActivatedFutureSight.AbilityID });
CardExtensions.AddAbilities(CustomCards.SetRegionalP03Card(CardExtensions.SetGemsCost(CardExtensions.SetPortrait(CardManager.New("P03KCMXP3", "OpenSorcerer", "Open Sorcerer", 1, 1, (string)null), TextureHelper.GetImageAsTexture("portrait_open_sorcerer.png", typeof(Cards).Assembly, (FilterMode)0), (FilterMode?)null), (GemType[])(object)new GemType[2]
{
(GemType)2,
default(GemType)
}), (CardTemple[])(object)new CardTemple[1] { (CardTemple)3 }), (Ability[])(object)new Ability[1] { (Ability)(int)ActivatedCopySigils.AbilityID });
CardExtensions.AddAbilities(CustomCards.SetRegionalP03Card(CardExtensions.SetGemsCost(CardExtensions.SetPortrait(CardManager.New("P03KCMXP3", "Kiln", "Kiln", 1, 1, (string)null), TextureHelper.GetImageAsTexture("portrait_solar_ignitron.png", typeof(Cards).Assembly, (FilterMode)0), (FilterMode?)null), (GemType[])(object)new GemType[1] { (GemType)1 }), (CardTemple[])(object)new CardTemple[1] { (CardTemple)1 }), (Ability[])(object)new Ability[1] { (Ability)(int)FriendlyGemRevignite.AbilityID });
CardExtensions.AddAbilities(CustomCards.SetNeutralP03Card(CardExtensions.SetGemsCost(CardExtensions.SetPortrait(CardManager.New("P03KCMXP3", "ShieldProjector", "Shield Projector", 0, 1, (string)null), TextureHelper.GetImageAsTexture("portrait_shield_projector.png", typeof(Cards).Assembly, (FilterMode)0), (FilterMode?)null), (GemType[])(object)new GemType[1])), (Ability[])(object)new Ability[1] { (Ability)(int)ActivatedDrawDefend.AbilityID });
CardInfo obj21 = CardExtensions.SetPortrait(CardManager.New("P03KCMXP3", "BloodVessel", "Blood Vessel", 0, 2, (string)null), TextureHelper.GetImageAsTexture("portrait_blood_vessel.png", typeof(Cards).Assembly, (FilterMode)0), (FilterMode?)null);
num = 1;
CardExtensions.AddAbilities(CustomCards.SetNeutralP03Card(CardExtensions.SetCost(obj21, (int?)0, (int?)0, num, (List<GemType>)null)), (Ability[])(object)new Ability[1] { (Ability)(int)FriendliesFullOfBlood.AbilityID });
CardInfo obj22 = CardExtensions.SetPortrait(CardManager.New("P03KCMXP3", "DredgerVessel", "Dredger Vessel", 0, 2, (string)null), TextureHelper.GetImageAsTexture("portrait_dredger_vessel.png", typeof(Cards).Assembly, (FilterMode)0), (FilterMode?)null);
num = 1;
CardExtensions.AddAbilities(CustomCards.SetNeutralP03Card(CardExtensions.SetCost(obj22, (int?)0, (int?)0, num, (List<GemType>)null)), (Ability[])(object)new Ability[1] { (Ability)28 });
CardInfo obj23 = CardExtensions.SetPortrait(CardManager.New("P03KCMXP3", "FuelAttendant", "Fuel Attendant", 0, 2, (string)null), TextureHelper.GetImageAsTexture("portrait_fuel_attendant.png", typeof(Cards).Assembly, (FilterMode)0), (FilterMode?)null);
num = 2;
CardExtensions.AddAbilities(FuelExtensions.SetStartingFuel(CustomCards.SetNeutralP03Card(CardExtensions.SetCost(obj23, (int?)0, num, (int?)0, (List<GemType>)null)), 3), (Ability[])(object)new Ability[2]
{
(Ability)(int)MoveBesideAndFuel.AbilityID,
(Ability)(int)FriendliesStinkyWhenFueled.AbilityID
});
CardInfo obj24 = CardExtensions.SetPortrait(CardManager.New("P03KCMXP3", "HotRod", "Hot Rod", 2, 1, (string)null), TextureHelper.GetImageAsTexture("portrait_hot_rod.png", typeof(Cards).Assembly, (FilterMode)0), (FilterMode?)null);
num = 7;
CardExtensions.AddAbilities(FuelExtensions.SetStartingFuel(CustomCards.SetNeutralP03Card(CardExtensions.SetCost(obj24, (int?)0, num, (int?)0, (List<GemType>)null)), 0), (Ability[])(object)new Ability[3]
{
(Ability)(int)FuelSiphon.AbilityID,
(Ability)3,
(Ability)(int)FuelShield.AbilityID
});
CardExtensions.AddAbilities(CustomCards.SetNeutralP03Card(CardExtensions.SetCost(CardExtensions.SetPortrait(CardManager.New("P03KCMXP3", "BoneCracker", "Bone Cracker", 2, 1, (string)null), TextureHelper.GetImageAsTexture("portrait_bone_cracker.png", typeof(Cards).Assembly, (FilterMode)0), (FilterMode?)null), (int?)1, (int?)0, (int?)0, (List<GemType>)null)), (Ability[])(object)new Ability[1] { (Ability)(int)SacrificeQuadrupleBones.AbilityID });
CardExtensions.AddAbilities(CardExtensions.SetRare(CustomCards.SetNeutralP03Card(CardExtensions.SetCost(CardExtensions.SetPortrait(CardManager.New("P03KCMXP3", "BigEffingThing", "Hivemind", 4, 4, (string)null), TextureHelper.GetImageAsTexture("portrait_big_blood_card.png", typeof(Cards).Assembly, (FilterMode)0), (FilterMode?)null), (int?)5, (int?)0, (int?)0, (List<GemType>)null))), (Ability[])(object)new Ability[1] { (Ability)(int)AllControl.AbilityID });
CardExtensions.AddAbilities(CustomCards.SetNeutralP03Card(CardExtensions.SetGemsCost(CardExtensions.SetPortrait(CardManager.New("P03KCMXP3", "Ramshackle", "Ramshackle", 1, 1, (string)null), TextureHelper.GetImageAsTexture("portrait_ramshackle.png", typeof(Cards).Assembly, (FilterMode)0), (FilterMode?)null), (GemType[])(object)new GemType[2]
{
default(GemType),
(GemType)1
})), (Ability[])(object)new Ability[2]
{
(Ability)41,
(Ability)(int)EmeraldShard.AbilityID
});
CardInfo obj25 = CardExtensions.SetPortrait(CardManager.New("P03KCMXP3", "Engine", "N-GINN", 1, 1, (string)null), TextureHelper.GetImageAsTexture("portrait_engine.png", typeof(Cards).Assembly, (FilterMode)0), (FilterMode?)null);
num = 2;
CardExtensions.AddAbilities(FuelExtensions.SetStartingFuel(CustomCards.SetNeutralP03Card(CardExtensions.SetCost(obj25, (int?)0, num, (int?)0, (List<GemType>)null)), 4), (Ability[])(object)new Ability[1] { (Ability)(int)ActivatedStrafe.AbilityID });
CardInfo obj26 = CustomCards.AddPart3Decal(CardExtensions.SetPortrait(CardManager.New("P03KCMXP3", "Iterator", "Iterator", 1, 1, (string)null), TextureHelper.GetImageAsTexture("portrait_iterator.png", typeof(Cards).Assembly, (FilterMode)0), (FilterMode?)null), TextureHelper.GetImageAsTexture("decal_iterator.png", typeof(Cards).Assembly, (FilterMode)0));
num = 3;
CardExtensions.AddAbilities(CustomCards.SetNeutralP03Card(CardExtensions.SetCost(obj26, (int?)0, (int?)0, num, (List<GemType>)null)), (Ability[])(object)new Ability[1] { (Ability)(int)DrawCopyAltCost.AbilityID });
CardInfo obj27 = CardExtensions.SetPortrait(CardManager.New("P03KCMXP3", "GasGenerator", "Gas Generator", 0, 3, (string)null), TextureHelper.GetImageAsTexture("portrait_gas_generator.png", typeof(Cards).Assembly, (FilterMode)0), (FilterMode?)null);
num = 2;
CardExtensions.AddAbilities(CustomCards.SetRegionalP03Card(FuelExtensions.SetStartingFuel(CardExtensions.SetCost(obj27, (int?)0, num, (int?)0, (List<GemType>)null), 3), (CardTemple[])(object)new CardTemple[1] { (CardTemple)2 }), (Ability[])(object)new Ability[1] { (Ability)(int)ConduitNeighborWhenFueled.AbilityID });
CardInfo obj28 = CardExtensions.SetPortrait(CardManager.New("P03KCMXP3", "GasGenerator_4", "Gas Generator", 0, 3, (string)null), TextureHelper.GetImageAsTexture("portrait_gas_generator.png", typeof(Cards).Assembly, (FilterMode)0), (FilterMode?)null);
num = 2;
CardExtensions.AddAbilities(FuelExtensions.SetStartingFuel(CardExtensions.SetCost(obj28, (int?)0, num, (int?)0, (List<GemType>)null), 4), (Ability[])(object)new Ability[1] { (Ability)(int)ConduitNeighborWhenFueled.AbilityID });
CardExtensions.AddAbilities(CardExtensions.AddSpecialAbilities(CardExtensions.SetPortrait(CardManager.New("P03KCMXP3", "Technicle", "544543484E49434C45", 0, 1, (string)null), TextureHelper.GetImageAsTexture("portrait_empty_tentacle.png", typeof(Cards).Assembly, (FilterMode)0), (FilterMode?)null), (SpecialTriggeredAbility[])(object)new SpecialTriggeredAbility[1] { (SpecialTriggeredAbility)(int)TrackKrakenDeaths.ID }), (Ability[])(object)new Ability[1] { (Ability)13 });
CardInfo obj29 = CardExtensions.SetPortrait(CardManager.New("P03KCMXP3", "UFO_Sniper", "Crypton", 2, 1, (string)null), TextureHelper.GetImageAsTexture("portrait_crypton_fighter.png", typeof(Cards).Assembly, (FilterMode)0), (FilterMode?)null);
num = 4;
CardExtensions.AddAbilities(CardExtensions.SetCost(obj29, (int?)0, (int?)0, num, (List<GemType>)null), (Ability[])(object)new Ability[1] { (Ability)53 });
CardInfo obj30 = CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetPortrait(CardExtensions.AddAppearances(CardManager.New("P03KCMXP3", "UFO_Hopper", "UFO", 1, 2, (string)null), (Appearance[])(object)new Appearance[1] { (Appearance)(int)OnboardDynamicHoloPortrait.ID }), TextureHelper.GetImageAsTexture("portrait_ufo.png", typeof(Cards).Assembly, (FilterMode)0), (FilterMode?)null), "HoloPortrait.PrefabKey", (object)"p03kcm/prefabs/UFO"), "HoloPortrait.Transform.LocalScale", (object)".1,.1,.1"), "HoloPortrait.Transform.LocalPosition", (object)"0,-1.5,0");
num = 4;
CardExtensions.AddAbilities(CardExtensions.SetCost(obj30, (int?)0, (int?)0, num, (List<GemType>)null), (Ability[])(object)new Ability[1] { (Ability)(int)Hopper.AbilityID });
AbilityManager.ModifyAbilityList += delegate(List<FullAbility> abilities)
{
if (!P03AscensionSaveData.IsP03Run)
{
return abilities;
}
AbilityExtensions.AddMetaCategories(AbilityExtensions.AbilityByID((IEnumerable<FullAbility>)abilities, (Ability)28).Info, (AbilityMetaCategory[])(object)new AbilityMetaCategory[1] { (AbilityMetaCategory)3 });
AbilityExtensions.AddMetaCategories(AbilityExtensions.AbilityByID((IEnumerable<FullAbility>)abilities, (Ability)12).Info, (AbilityMetaCategory[])(object)new AbilityMetaCategory[1] { (AbilityMetaCategory)3 });
AbilityExtensions.AddMetaCategories(AbilityExtensions.AbilityByID((IEnumerable<FullAbility>)abilities, (Ability)101).Info, (AbilityMetaCategory[])(object)new AbilityMetaCategory[1] { (AbilityMetaCategory)3 });
AbilityExtensions.AddMetaCategories(AbilityExtensions.AbilityByID((IEnumerable<FullAbility>)abilities, (Ability)40).Info, (AbilityMetaCategory[])(object)new AbilityMetaCategory[1] { (AbilityMetaCategory)2 });
return abilities;
};
}
}
public static class Pack3EncounterHelper
{
internal static EncounterBlueprintData UFOBattle;
internal static void BuildEncounters()
{
UFOBattle = EncounterManager.New("P03KCMXP3_UFOBattle", false);
EncounterExtensions.SetDifficulty<EncounterBlueprintData>(UFOBattle, 0, 6);
UFOBattle.turns = new List<List<CardBlueprint>>();
EncounterExtensions.AddTurn(UFOBattle.turns, new IEnumerable<CardBlueprint>[1] { EncounterHelper.Enemy("P03KCMXP3_UFO_Hopper", (string)null, 0, 0, 0, (Ability?)null) });
EncounterExtensions.AddTurn(UFOBattle.turns, Array.Empty<IEnumerable<CardBlueprint>>());
EncounterExtensions.AddTurn(UFOBattle.turns, new IEnumerable<CardBlueprint>[1] { EncounterHelper.Enemy("P03KCMXP3_UFO_Hopper", (string)null, 0, 0, 0, (Ability?)null) });
EncounterExtensions.AddTurn(UFOBattle.turns, new IEnumerable<CardBlueprint>[1] { EncounterHelper.Enemy("P03KCMXP3_UFO_Sniper", (string)null, 0, 0, 0, (Ability?)null) });
EncounterExtensions.AddTurn(UFOBattle.turns, new IEnumerable<CardBlueprint>[2]
{
EncounterHelper.Enemy("P03KCMXP3_UFO_Hopper", (string)null, 0, 0, 0, (Ability?)null),
EncounterHelper.Enemy("P03KCMXP3_UFO_Hopper", (string)null, 0, 0, 0, (Ability?)null)
});
EncounterExtensions.AddTurn(UFOBattle.turns, Array.Empty<IEnumerable<CardBlueprint>>());
EncounterExtensions.AddTurn(UFOBattle.turns, new IEnumerable<CardBlueprint>[2]
{
EncounterHelper.Enemy("P03KCMXP3_UFO_Hopper", (string)null, 0, 0, 0, (Ability?)null),
EncounterHelper.Enemy("P03KCMXP3_UFO_Sniper", (string)null, 0, 0, 0, (Ability?)null)
});
MultiverseEncounters.ContinueOn(UFOBattle, new string[3] { "P03KCMXP3_UFO_Hopper", "P03KCMXP3_UFO_Sniper", null });
EncounterBlueprintData val = EncounterManager.New("P03KCMXP3_Synths", true);
EncounterExtensions.SetP03Encounter(EncounterExtensions.SetDifficulty<EncounterBlueprintData>(val, 0, 6), (CardTemple?)(CardTemple)1);
val.turns = new List<List<CardBlueprint>>();
EncounterExtensions.AddTurn(val.turns, new IEnumerable<CardBlueprint>[2]
{
EncounterHelper.Enemy("Automaton", "P03KCMXP1_AmmoBot", 3, 0, 0, (Ability?)null),
EncounterHelper.Enemy("EmptyVessel_GreenGem", (string)null, 3, 0, 0, (Ability?)null)
});
EncounterExtensions.AddTurn(val.turns, new IEnumerable<CardBlueprint>[3]
{
EncounterHelper.Enemy((string)null, "EmptyVessel_GreenGem", 3, 0, 3, (Ability?)null),
EncounterHelper.Enemy("P03KCMXP1_ConveyorLatcher", (string)null, 0, 0, 0, (Ability?)null),
EncounterHelper.Enemy((string)null, "P03KCMXP1_ConveyorLatcher", 2, 0, 0, (Ability?)null)
});
EncounterExtensions.AddTurn(val.turns, new IEnumerable<CardBlueprint>[1] { EncounterHelper.Enemy("P03KCMXP3_Synthesioid", (string)null, 0, 0, 4, (Ability?)null) });
EncounterExtensions.AddTurn(val.turns, new IEnumerable<CardBlueprint>[2]
{
EncounterHelper.Enemy("EmptyVessel_GreenGem", (string)null, 0, 0, 0, (Ability?)null),
EncounterHelper.Enemy((string)null, "P03KCMXP1_CopyPasta", 5, 0, 0, (Ability?)null)
});
EncounterExtensions.AddTurn(val.turns, new IEnumerable<CardBlueprint>[3]
{
EncounterHelper.Enemy((string)null, "P03KCMXP2_EmeraldGuardian", 3, 0, 0, (Ability?)null),
EncounterHelper.Enemy("Automaton", "Insectodrone", 1, 0, 0, (Ability?)null),
EncounterHelper.Enemy("P03KCMXP1_FlyingLatcher", (string)null, 0, 0, 0, (Ability?)null)
});
EncounterExtensions.AddTurn(val.turns, new IEnumerable<CardBlueprint>[1] { EncounterHelper.Enemy("P03KCMXP3_Synthesioid", (string)null, 0, 0, 4, (Ability?)null) });
EncounterExtensions.AddTurn(val.turns, new IEnumerable<CardBlueprint>[2]
{
EncounterHelper.Enemy("EmptyVessel_GreenGem", (string)null, 0, 0, 0, (Ability?)null),
EncounterHelper.Enemy((string)null, "P03KCMXP1_CopyPasta", 6, 0, 0, (Ability?)null)
});
EncounterExtensions.AddTurn(val.turns, new IEnumerable<CardBlueprint>[3]
{
EncounterHelper.Enemy("Automaton", "Insectodrone", 2, 0, 0, (Ability?)null),
EncounterHelper.Enemy("P03KCMXP3_RotLatcher", (string)null, 0, 0, 0, (Ability?)null),
EncounterHelper.Enemy((string)null, "P03KCMXP3_RotLatcher", 3, 0, 0, (Ability?)null)
});
EncounterExtensions.AddTurn(val.turns, new IEnumerable<CardBlueprint>[1] { EncounterHelper.Enemy("P03KCMXP3_Synthesioid", (string)null, 0, 0, 4, (Ability?)null) });
EncounterExtensions.AddTurn(val.turns, new IEnumerable<CardBlueprint>[1] { EncounterHelper.Enemy("EmptyVessel_GreenGem", (string)null, 0, 0, 0, (Ability?)null) });
EncounterExtensions.AddTurn(val.turns, new IEnumerable<CardBlueprint>[3]
{
EncounterHelper.Enemy("Automaton", "Insectodrone", 1, 0, 0, (Ability?)null),
EncounterHelper.Enemy("P03KCMXP3_RotLatcher", (string)null, 0, 0, 0, (Ability?)null),
EncounterHelper.Enemy((string)null, "P03KCMXP3_RotLatcher", 2, 0, 0, (Ability?)null)
});
EncounterExtensions.AddTurn(val.turns, new IEnumerable<CardBlueprint>[1] { EncounterHelper.Enemy("P03KCMXP3_Synthesioid", (string)null, 0, 0, 3, (Ability?)null) });
EncounterBlueprintData val2 = EncounterManager.New("P03KCMXP3_Gems", true);
EncounterExtensions.SetP03Encounter(EncounterExtensions.SetDifficulty<EncounterBlueprintData>(val2, 0, 6), (CardTemple?)(CardTemple)3);
val2.turns = new List<List<CardBlueprint>>();
EncounterExtensions.AddTurn(val2.turns, new IEnumerable<CardBlueprint>[1] { EncounterHelper.Enemy("P03KCMXP3_Ramshackle", (string)null, 0, 0, 2, (Ability?)(Ability)40) });
EncounterExtensions.AddTurn(val2.turns, new IEnumerable<CardBlueprint>[2]
{
EncounterHelper.Enemy("P03KCMXP3_TimeLatcher", (string)null, 0, 0, 0, (Ability?)null),
EncounterHelper.Enemy((string)null, "EmptyVessel_OrangeGem", 1, 0, 0, (Ability?)null)
});
EncounterExtensions.AddTurn(val2.turns, new IEnumerable<CardBlueprint>[2]
{
EncounterHelper.Enemy("P03KCMXP3_GearShifter", (string)null, 0, 0, 4, (Ability?)null),
EncounterHelper.Enemy((string)null, "EmptyVessel_OrangeGem", 3, 0, 0, (Ability?)null)
});
EncounterExtensions.AddTurn(val2.turns, new IEnumerable<CardBlueprint>[2]
{
EncounterHelper.Enemy("P03KCMXP3_TimeLatcher", (string)null, 0, 0, 0, (Ability?)null),
EncounterHelper.Enemy((string)null, "P03KCMXP3_TimeLatcher", 2, 0, 0, (Ability?)null)
});
EncounterExtensions.AddTurn(val2.turns, new IEnumerable<CardBlueprint>[1] { EncounterHelper.Enemy("P03KCMXP3_Shrinker", "P03KCMXP3_MagnusGod", 6, 0, 0, (Ability?)null) });
EncounterExtensions.AddTurn(val2.turns, new IEnumerable<CardBlueprint>[2]
{
EncounterHelper.Enemy("P03KCMXP3_Ramshackle", (string)null, 0, 0, 2, (Ability?)(Ability)40),
EncounterHelper.Enemy((string)null, "EmptyVessel_OrangeGem", 1, 0, 0, (Ability?)null)
});
EncounterExtensions.AddTurn(val2.turns, new IEnumerable<CardBlueprint>[2]
{
EncounterHelper.Enemy("P03KCMXP3_Kiln", (string)null, 0, 0, 0, (Ability?)null),
EncounterHelper.Enemy((string)null, "EmptyVessel_OrangeGem", 4, 0, 0, (Ability?)null)
});
EncounterExtensions.AddTurn(val2.turns, new IEnumerable<CardBlueprint>[3]
{
EncounterHelper.Enemy("P03KCMXP3_TimeLatcher", "P03KCMXP3_GearShifter", 4, 0, 0, (Ability?)null),
EncounterHelper.Enemy((string)null, "P03KCMXP3_MagnusGod", 5, 0, 0, (Ability?)null),
EncounterHelper.Enemy((string)null, "EmptyVessel_OrangeGem", 3, 0, 0, (Ability?)null)
});
EncounterExtensions.AddTurn(val2.turns, new IEnumerable<CardBlueprint>[1] { EncounterHelper.Enemy("P03KCMXP3_Ramshackle", (string)null, 0, 0, 2, (Ability?)(Ability)40) });
EncounterExtensions.AddTurn(val2.turns, new IEnumerable<CardBlueprint>[2]
{
EncounterHelper.Enemy("P03KCMXP3_Kiln", (string)null, 0, 0, 0, (Ability?)null),
EncounterHelper.Enemy((string)null, "EmptyVessel_OrangeGem", 4, 0, 0, (Ability?)null)
});
EncounterExtensions.AddTurn(val2.turns, new IEnumerable<CardBlueprint>[2]
{
EncounterHelper.Enemy("P03KCMXP3_TimeLatcher", "P03KCMXP3_GearShifter", 3, 0, 0, (Ability?)null),
EncounterHelper.Enemy((string)null, "EmptyVessel_OrangeGem", 1, 0, 0, (Ability?)null)
});
EncounterExtensions.AddTurn(val2.turns, new IEnumerable<CardBlueprint>[1] { EncounterHelper.Enemy("P03KCMXP3_Ramshackle", (string)null, 0, 0, 2, (Ability?)(Ability)40) });
EncounterExtensions.AddTurn(val2.turns, new IEnumerable<CardBlueprint>[2]
{
EncounterHelper.Enemy("P03KCMXP3_Kiln", (string)null, 0, 0, 0, (Ability?)null),
EncounterHelper.Enemy((string)null, "EmptyVessel_OrangeGem", 4, 0, 0, (Ability?)null)
});
EncounterBlueprintData val3 = EncounterManager.New("P03KCMXP3_FuelConduits", true);
EncounterExtensions.SetP03Encounter(EncounterExtensions.SetDifficulty<EncounterBlueprintData>(val3, 0, 6), (CardTemple?)(CardTemple)2);
val3.turns = new List<List<CardBlueprint>>();
EncounterExtensions.AddTurn(val3.turns, new IEnumerable<CardBlueprint>[1] { EncounterHelper.Enemy("P03SIG_UrchinCell", "CellTri", 4, 0, 0, (Ability?)null) });
EncounterExtensions.AddTurn(val3.turns, new IEnumerable<CardBlueprint>[2]
{
EncounterHelper.Enemy("P03KCMXP3_GasGenerator", "P03KCMXP3_GasGenerator_4", 3, 0, 0, (Ability?)null),
EncounterHelper.Enemy((string)null, "P03KCMXP3_FuelAttendant", 2, 0, 0, (Ability?)null)
});
EncounterExtensions.AddTurn(val3.turns, new IEnumerable<CardBlueprint>[2]
{
EncounterHelper.Enemy((string)null, "P03SIG_UrchinCell", 1, 0, 0, (Ability?)null),
EncounterHelper.Enemy("P03KCMXP1_FrankenBot", "P03KCMXP1_FrankenBeast", 4, 0, 0, (Ability?)null)
});
EncounterExtensions.AddTurn(val3.turns, new IEnumerable<CardBlueprint>[1] { EncounterHelper.Enemy((string)null, "P03KCMXP3_FuelAttendant", 2, 0, 0, (Ability?)null) });
EncounterExtensions.AddTurn(val3.turns, new IEnumerable<CardBlueprint>[2]
{
EncounterHelper.Enemy("P03SIG_UrchinCell", "CellGift", 3, 0, 0, (Ability?)null),
EncounterHelper.Enemy((string)null, "P03KCMXP3_NitrousTanker", 6, 0, 0, (Ability?)null)
});
EncounterExtensions.AddTurn(val3.turns, new IEnumerable<CardBlueprint>[2]
{
EncounterHelper.Enemy((string)null, "P03KCMXP3_NitrousTanker", 5, 0, 0, (Ability?)null),
EncounterHelper.Enemy("CellBuff", (string)null, 0, 0, 0, (Ability?)null)
});
EncounterExtensions.AddTurn(val3.turns, new IEnumerable<CardBlueprint>[1] { EncounterHelper.Enemy((string)null, "P03KCMXP3_GasGenerator_4", 2, 0, 0, (Ability?)null) });
EncounterExtensions.AddTurn(val3.turns, new IEnumerable<CardBlueprint>[1] { EncounterHelper.Enemy("P03KCMXP1_FrankenBot", "P03KCMXP1_FrankenBeast", 4, 0, 0, (Ability?)null) });
EncounterExtensions.AddTurn(val3.turns, new IEnumerable<CardBlueprint>[1] { EncounterHelper.Enemy("CellTri", (string)null, 0, 0, 0, (Ability?)null) });
EncounterExtensions.AddTurn(val3.turns, new IEnumerable<CardBlueprint>[1] { EncounterHelper.Enemy((string)null, "CellGift", 3, 0, 0, (Ability?)null) });
EncounterExtensions.AddTurn(val3.turns, new IEnumerable<CardBlueprint>[1] { EncounterHelper.Enemy("P03KCMXP1_FrankenBot", "P03KCMXP1_FrankenBeast", 5, 0, 0, (Ability?)null) });
EncounterExtensions.AddTurn(val3.turns, new IEnumerable<CardBlueprint>[1] { EncounterHelper.Enemy("CellTri", (string)null, 0, 0, 0, (Ability?)null) });
EncounterBlueprintData val4 = EncounterManager.New("P03KCMXP3_Slime", true);
EncounterExtensions.SetP03Encounter(EncounterExtensions.SetDifficulty<EncounterBlueprintData>(val4, 0, 6), (CardTemple?)(CardTemple)0);
val4.turns = new List<List<CardBlueprint>>();
EncounterExtensions.AddTurn(val4.turns, new IEnumerable<CardBlueprint>[1] { EncounterHelper.Enemy("P03KCMXP3_MucusLauncher", (string)null, 0, 0, 4, (Ability?)(Ability)83) });
EncounterExtensions.AddTurn(val4.turns, new IEnumerable<CardBlueprint>[1] { EncounterHelper.Enemy("LeapBot", "P03KCM_FIREWALL", 3, 0, 0, (Ability?)null) });
EncounterExtensions.AddTurn(val4.turns, new IEnumerable<CardBlueprint>[1] { EncounterHelper.Enemy("LeapBot", "Insectodrone", 1, 0, 0, (Ability?)null) });
EncounterExtensions.AddTurn(val4.turns, new IEnumerable<CardBlueprint>[1] { EncounterHelper.Enemy((string)null, "P03KCMXP3_MysteryMachine", 6, 0, 0, (Ability?)null) });
EncounterExtensions.AddTurn(val4.turns, new IEnumerable<CardBlueprint>[2]
{
EncounterHelper.Enemy((string)null, "P03KCMXP3_MucusLauncher", 3, 0, 4, (Ability?)(Ability)83),
EncounterHelper.Enemy("LeapBot", "P03KCMXP2_RobotRam", 1, 0, 0, (Ability?)null)
});
EncounterExtensions.AddTurn(val4.turns, new IEnumerable<CardBlueprint>[2]
{
EncounterHelper.Enemy("P03KCMXP3_MucusLauncher", (string)null, 3, 0, 0, (Ability?)null),
EncounterHelper.Enemy((string)null, "P03KCMXP3_MysteryMachine", 5, 0, 0, (Ability?)null)
});
EncounterExtensions.AddTurn(val4.turns, new IEnumerable<CardBlueprint>[1] { EncounterHelper.Enemy((string)null, "P03KCMXP2_RobotRam", 2, 0, 0, (Ability?)null) });
EncounterExtensions.AddTurn(val4.turns, Array.Empty<IEnumerable<CardBlueprint>>());
EncounterExtensions.AddTurn(val4.turns, new IEnumerable<CardBlueprint>[1] { EncounterHelper.Enemy("P03KCMXP3_MucusLauncher", (string)null, 0, 0, 0, (Ability?)null) });
}
}
[BepInPlugin("zorro.inscryption.infiniscryption.p03expansionpack3", "Infiniscryption P03 in Kaycee's Mod - Expansion Pack 3", "1.0")]
[BepInDependency(/*Could not decode attribute arguments.*/)]
[BepInDependency(/*Could not decode attribute arguments.*/)]
public class P03Pack3Plugin : BaseUnityPlugin
{
public const string PluginGuid = "zorro.inscryption.infiniscryption.p03expansionpack3";
public const string PluginName = "Infiniscryption P03 in Kaycee's Mod - Expansion Pack 3";
public const string PluginVersion = "1.0";
public const string CardPrefix = "P03KCMXP3";
internal static P03Pack3Plugin Instance;
internal static ManualLogSource Log;
internal static bool Initialized;
private void Awake()
{
//IL_0017: Unknown result type (might be due to invalid IL or missing references)
//IL_001d: Expected O, but got Unknown
Instance = this;
Log = ((BaseUnityPlugin)this).Logger;
Harmony val = new Harmony("zorro.inscryption.infiniscryption.p03expansionpack3");
val.PatchAll();
Type[] types = typeof(P03Pack3Plugin).Assembly.GetTypes();
foreach (Type type in types)
{
try
{
RuntimeHelpers.RunClassConstructor(type.TypeHandle);
}
catch (TypeLoadException ex)
{
Log.LogWarning((object)"Failed to force load static constructor!");
Log.LogWarning((object)ex);
}
}
DialogueManagement.AddSequenceDialogue(DataHelper.GetResourceString("dialogue_database", "csv", typeof(P03Pack3Plugin).Assembly));
Pack3EncounterHelper.BuildEncounters();
Pack3Quests.CreatePack3Quests();
PackInfo packInfo = PackManager.GetPackInfo("P03KCMXP3");
((PackInfoBase)packInfo).Title = "Kaycee's P03 Expansion Pack #3";
((PackInfoBase)packInfo).Description = "They said it would never happen, but it's here! The third official expansion pack breaks all of the rules, with [count] new cards that bring bones, blood, and gems to Botopia!";
((PackInfoBase)packInfo).ValidFor.Clear();
((PackInfoBase)packInfo).ValidFor.Add((PackMetacategory)1);
((PackInfoBase)packInfo).SetTexture(TextureHelper.GetImageAsTexture("pack.png", typeof(P03Pack3Plugin).Assembly, (FilterMode)0));
EncounterPackInfo packInfo2 = PackManager.GetPackInfo<EncounterPackInfo>("P03KCMXP3");
((PackInfoBase)packInfo2).Title = "Kaycee's P03 Encounter Expansion #3";
((PackInfoBase)packInfo2).Description = "[count] additional encounters that feature cards from the third official P03 expansion pack.";
((PackInfoBase)packInfo2).ValidFor.Clear();
((PackInfoBase)packInfo2).ValidFor.Add((PackMetacategory)1);
((PackInfoBase)packInfo2).SetTexture(TextureHelper.GetImageAsTexture("encounters.png", typeof(P03Pack3Plugin).Assembly, (FilterMode)0));
Initialized = true;
((BaseUnityPlugin)this).Logger.LogInfo((object)"Plugin Infiniscryption P03 in Kaycee's Mod - Expansion Pack 3 is loaded!");
}
private void OnDestroy()
{
}
public void OnSceneLoaded(Scene scene, LoadSceneMode mode)
{
CardManager.SyncCardList();
AbilityManager.SyncAbilityList();
EncounterManager.SyncEncounterList();
}
}
[HarmonyPatch]
internal static class Pack3Quests
{
public class UFOBossOpponent : Part3BossOpponent
{
public override string PreIntroDialogueId => string.Empty;
public override string PostDefeatedDialogueId => string.Empty;
public override IEnumerator DefeatedPlayerSequence()
{
UfoQuest.CurrentState.Status = (QuestStateStatus)3;
yield break;
}
public override IEnumerator PreDefeatedSequence()
{
UfoQuest.CurrentState.Status = (QuestStateStatus)2;
yield break;
}
}
public class UfoBattleSequencer : BossBattleSequencer
{
public override Type BossType => BossManagement.DredgerOpponent;
public override StoryEvent DefeatedStoryEvent => GuidManager.GetEnumValue<StoryEvent>("zorro.inscryption.infiniscryption.p03expansionpack3", "DefeatedUFO");
public override EncounterData BuildCustomEncounter(CardBattleNodeData nodeData)
{
//IL_0001: Unknown result type (might be due to invalid IL or missing references)
//IL_0006: Unknown result type (might be due to invalid IL or missing references)
//IL_0007: Unknown result type (might be due to invalid IL or missing references)
//IL_000c: Unknown result type (might be due to invalid IL or missing references)
//IL_0011: Unknown result type (might be due to invalid IL or missing references)
//IL_0024: Expected O, but got Unknown
return new EncounterData
{
opponentType = UfoOpponent,
opponentTurnPlan = EncounterBuilder.BuildOpponentTurnPlan(Pack3EncounterHelper.UFOBattle, 1, false)
};
}
}
internal static QuestDefinition KrakenLord { get; private set; }
internal static QuestDefinition UfoQuest { get; private set; }
internal static Type UfoOpponent { get; private set; }
internal static bool Pack3QuestsActive()
{
return PackManager.GetActivePacks<PackInfo>().Any((PackInfo pi) => pi != null && !string.IsNullOrEmpty(((PackInfoBase)pi).ModPrefix) && ((PackInfoBase)pi).ModPrefix.Equals("P03KCMXP3"));
}
[HarmonyPatch(/*Could not decode attribute arguments.*/)]
[HarmonyPrefix]
private static bool StartingLivesForUFO(Part3BossOpponent __instance, ref int __result)
{
if (__instance is UFOBossOpponent)
{
__result = 1;
return false;
}
return true;
}
internal static void CreatePack3Quests()
{
//IL_00c4: Unknown result type (might be due to invalid IL or missing references)
//IL_00cf: Unknown result type (might be due to invalid IL or missing references)
//IL_00d4: Unknown result type (might be due to invalid IL or missing references)
//IL_00d5: Unknown result type (might be due to invalid IL or missing references)
//IL_00e4: Unknown result type (might be due to invalid IL or missing references)
//IL_00eb: Unknown result type (might be due to invalid IL or missing references)
//IL_00f7: Expected O, but got Unknown
KrakenLord = QuestExtensions.SetGenerateCondition(QuestManager.Add("zorro.inscryption.infiniscryption.p03expansionpack3", "KrakenQuest"), (Func<bool>)Pack3QuestsActive);
QuestExtensions.AddGainCardReward(QuestExtensions.AddDialogueState(QuestExtensions.AddDefaultActiveState(QuestExtensions.AddDialogueState(QuestExtensions.AddDialogueState(KrakenLord, "GLUG GLUG GLUG", "KrakenTransformerQuestIntro"), "FIGHT THE TENTACLES", "KrakenTransformerQuestStart", (QuestStateStatus)2, (string)null), "FIGHT THE TENTACLES", "KrakenTransformerQuestInProgress", 3), "DEATH TO THE TENTACLES", "KrakenTransformerQuestComplete", (QuestStateStatus)2, (string)null), "P03KCMXP3_Kraken");
UfoQuest = QuestManager.Add("zorro.inscryption.infiniscryption.p03expansionpack3", "UfoBattle");
UfoOpponent = EncounterExtensions.SetNewSequencer(OpponentManager.Add("zorro.inscryption.infiniscryption.p03expansionpack3", "UFOOpponent", string.Empty, typeof(UFOBossOpponent)), "zorro.inscryption.infiniscryption.p03expansionpack3", "UFOSequencer", typeof(UfoBattleSequencer)).Id;
CardBattleNodeData val = new CardBattleNodeData
{
specialBattleId = BossBattleSequencer.GetSequencerIdForBoss(UfoOpponent),
difficulty = 1,
blueprint = Pack3EncounterHelper.UFOBattle
};
QuestState val2 = QuestExtensions.AddSpecialNodeState(QuestExtensions.AddDialogueState(QuestExtensions.SetGenerateCondition(UfoQuest, (Func<bool>)Pack3QuestsActive), "WARNING!!!", "UfoQuestStart"), "HERE THEY COME!!!", (NodeData)(object)val);
QuestExtensions.AddGainItemReward(QuestExtensions.AddDialogueState(val2, "CONGRATULATIONS!!!", "UfoQuestBattleVictory", (QuestStateStatus)2, (string)null), ((Object)UfoItem.ItemData).name);
QuestExtensions.AddDialogueState(val2, "DISASTER!!!", "UfoQuestBattleLoss", (QuestStateStatus)3, (string)null);
}
[HarmonyPatch(typeof(BountyHunterGenerator), "TryAddBountyHunterToTurnPlan")]
[HarmonyPrefix]
[HarmonyPriority(700)]
private static bool AddBountyTargetInstead(List<List<CardInfo>> turnPlan, ref List<List<CardInfo>> __result)
{
if (!P03AscensionSaveData.IsP03Run)
{
return true;
}
if (!QuestExtensions.IsDefaultActive(KrakenLord) || (Part3SaveData.Data.battlesSinceBountyHunter >= 3 && Part3SaveData.Data.BountyTier >= 1))
{
return true;
}
if (turnPlan == null || turnPlan.Count < 2)
{
return true;
}
Part3SaveData data = Part3SaveData.Data;
data.battlesSinceBountyHunter++;
List<CardInfo> list = turnPlan[1];
if (list.Count > 0)
{
int minLevel = list.Min((CardInfo c) => c.PowerLevel);
list.Remove(list.First((CardInfo c) => c.PowerLevel == minLevel));
}
list.Add(CardLoader.GetCardByName("P03KCMXP3_Technicle"));
__result = turnPlan;
return false;
}
}
}
namespace Infiniscryption.P03ExpansionPack3.Sigils
{
public class GiveStickers : AbilityBehaviour
{
private int RandomSeed = P03AscensionSaveData.RandomSeed;
private static readonly Dictionary<Ability, bool> KnownValidAbilities;
public static Ability AbilityID { get; private set; }
public override Ability Ability => AbilityID;
static GiveStickers()
{
//IL_0085: Unknown result type (might be due to invalid IL or missing references)
KnownValidAbilities = new Dictionary<Ability, bool>();
AbilityInfo val = ScriptableObject.CreateInstance<AbilityInfo>();
val.rulebookName = "Sticker Lord";
val.rulebookDescription = "While [creature] is on the board, all friendly cards get a random sticker.";
val.canStack = false;
val.powerLevel = 2;
val.opponentUsable = true;
val.passive = false;
val.metaCategories = new List<AbilityMetaCategory> { (AbilityMetaCategory)2 };
AbilityID = AbilityManager.Add("zorro.inscryption.infiniscryption.p03expansionpack3", val, typeof(GiveStickers), (Texture)(object)TextureHelper.GetImageAsTexture("ability_all_randomability.png", typeof(GiveStickers).Assembly, (FilterMode)0)).Id;
}
private static bool IsValidAbility(Ability a)
{
//IL_0006: Unknown result type (might be due to invalid IL or missing references)
//IL_0026: Unknown result type (might be due to invalid IL or missing references)
//IL_0015: 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_00a5: Unknown result type (might be due to invalid IL or missing references)
if (KnownValidAbilities.ContainsKey(a))
{
return KnownValidAbilities[a];
}
FullAbility val = AbilityExtensions.AbilityByID((IEnumerable<FullAbility>)AbilityManager.AllAbilities, a);
if (val.Info.passive)
{
KnownValidAbilities[a] = true;
return true;
}
bool flag = val.AbilityBehavior.GetMethod("OnResolveOnBoard").DeclaringType == typeof(TriggerReceiver) && val.AbilityBehavior.GetMethod("OnPlayFromHand").DeclaringType == typeof(TriggerReceiver);
KnownValidAbilities[a] = flag;
return flag;
}
private Ability ChooseAbility(PlayableCard card)
{
//IL_00a2: Unknown result type (might be due to invalid IL or missing references)
//IL_00a7: Unknown result type (might be due to invalid IL or missing references)
//IL_00aa: Unknown result type (might be due to invalid IL or missing references)
List<Ability> learnedAbilities = AbilitiesUtil.GetLearnedAbilities(false, 0, 3, (AbilityMetaCategory)3);
learnedAbilities.RemoveAll((Ability x) => (int)x == 31 || x == TreeStrafe.AbilityID || card.HasAbility(x) || x == RotatingAlarm.AbilityID || (int)x == 54);
learnedAbilities.RemoveAll((Ability x) => !IsValidAbility(x));
learnedAbilities.RemoveAll((Ability x) => string.IsNullOrEmpty(AbilityExtensions.GetExtendedProperty(AbilitiesUtil.GetInfo(x), "AbilityManager.Sticker")));
return (Ability)((learnedAbilities.Count <= 0) ? 15 : ((int)learnedAbilities[SeededRandom.Range(0, learnedAbilities.Count, RandomSeed++)]));
}
private IEnumerator StickerUpCard(PlayableCard otherCard)
{
if (!otherCard.temporaryMods.Any((CardModificationInfo m) => !string.IsNullOrEmpty(m.singletonId) && m.singletonId.ToLowerInvariant().StartsWith("sticker")))
{
CardModificationInfo mod = new CardModificationInfo(ChooseAbility(otherCard));
string stickerName = AbilityExtensions.GetExtendedProperty(AbilitiesUtil.GetInfo(mod.abilities[0]), "AbilityManager.Sticker");
CardStickerData stickerData = new CardStickerData();
stickerData.Rotations[stickerName] = new Vector3(0f, 180f, 110f + SeededRandom.Value(RandomSeed++) * 20f);
stickerData.Positions[stickerName] = new Vector3(0.2301786f + SeededRandom.Value(RandomSeed++) / 10f, -0.2767847f + SeededRandom.Value(RandomSeed++) / 10f, 0f);
stickerData.Ability[stickerName] = mod.abilities[0];
mod.singletonId = ((object)stickerData).ToString();
otherCard.AddTemporaryMod(mod);
otherCard.Status.hiddenAbilities.Add(mod.abilities[0]);
((Card)otherCard).RenderCard();
yield return (object)new WaitForEndOfFrame();
}
}
public override bool RespondsToResolveOnBoard()
{
return true;
}
public override IEnumerator OnResolveOnBoard()
{
foreach (CardSlot slot in BoardManagerExtensions.GetSlotsCopy(Singleton<BoardManager>.Instance, CardExtensions.IsPlayerCard(((AbilityBehaviour)this).Card)))
{
if ((Object)(object)slot.Card != (Object)null)
{
yield return StickerUpCard(slot.Card);
}
}
}
public override bool RespondsToOtherCardAssignedToSlot(PlayableCard otherCard)
{
return CardExtensions.IsPlayerCard(otherCard) == CardExtensions.IsPlayerCard(((AbilityBehaviour)this).Card);
}
public override IEnumerator OnOtherCardAssignedToSlot(PlayableCard otherCard)
{
yield return StickerUpCard(otherCard);
}
}
public class SwapWithGunbot : SpecialCardBehaviour
{
public static readonly SpecialTriggeredAbility ID = SpecialTriggeredAbilityManager.Add("zorro.inscryption.infiniscryption.p03expansionpack3", "DannysSpecialAbility", typeof(SwapWithGunbot)).Id;
public override bool RespondsToCardGettingAttacked(PlayableCard source)
{
return (Object)(object)source == (Object)(object)((SpecialCardBehaviour)this).Card;
}
public override IEnumerator OnCardGettingAttacked(PlayableCard card)
{
List<CardSlot> slots = BoardManagerExtensions.GetSlotsCopy(Singleton<BoardManager>.Instance, CardExtensions.IsPlayerCard(((SpecialCardBehaviour)this).PlayableCard));
CardSlot gunbotSlot = ((IEnumerable<CardSlot>)slots).FirstOrDefault((Func<CardSlot, bool>)((CardSlot s) => (Object)(object)s.Card != (Object)null && CardExtensions.HasTrait(s.Card, Cards.GunbotSwapTrait)));
if ((Object)(object)gunbotSlot != (Object)null)
{
((SpecialCardBehaviour)this).Card.Anim.StrongNegationEffect();
float x = (((Component)gunbotSlot).transform.position.x + ((Component)((SpecialCardBehaviour)this).PlayableCard.Slot).transform.position.x) / 2f;
float y = ((Component)gunbotSlot.Card).transform.position.y + 0.35f;
float z = ((Component)gunbotSlot.Card).transform.position.z;
Tween.Position(((Component)gunbotSlot.Card).transform, new Vector3(x, y, z), 0.3f, 0f, Tween.EaseOut, (LoopType)0, (Action)null, (Action)null, true);
CardSlot oldSlot = ((SpecialCardBehaviour)this).PlayableCard.Slot;
yield return Singleton<BoardManager>.Instance.AssignCardToSlot(((SpecialCardBehaviour)this).PlayableCard, gunbotSlot, 0.1f, (Action)null, true);
yield return Singleton<BoardManager>.Instance.AssignCardToSlot(gunbotSlot.Card, oldSlot, 0.1f, (Action)null, true);
}
}
}
public class TrackKrakenDeaths : SpecialCardBehaviour
{
public static readonly SpecialTriggeredAbility ID = SpecialTriggeredAbilityManager.Add("zorro.inscryption.infiniscryption.p03expansionpack3", "TrackKrakenDeaths", typeof(TrackKrakenDeaths)).Id;
public override bool RespondsToDie(bool wasSacrifice, PlayableCard killer)
{
return QuestExtensions.IsDefaultActive(Pack3Quests.KrakenLord);
}
public override IEnumerator OnDie(bool wasSacrifice, PlayableCard killer)
{
QuestExtensions.IncrementQuestCounter(Pack3Quests.KrakenLord, 1, false);
yield break;
}
}
}