Decompiled source of BaalTribeMod v2.6.4

totemtop.dll

Decompiled a year ago
using System;
using System.Collections;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Runtime.Versioning;
using BepInEx;
using DiskCardGame;
using InscryptionAPI.Ascension;
using InscryptionAPI.Card;
using InscryptionAPI.Encounters;
using InscryptionAPI.Guid;
using InscryptionAPI.Helpers;
using InscryptionAPI.Sound;
using InscryptionAPI.Totems;
using UnityEngine;
using totemtop;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
[assembly: AssemblyTitle("totemtop")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("totemtop")]
[assembly: AssemblyCopyright("Copyright ©  2023")]
[assembly: AssemblyTrademark("")]
[assembly: ComVisible(false)]
[assembly: Guid("5b9e837f-6c31-4dc8-a32e-f49bef561dc3")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: TargetFramework(".NETFramework,Version=v4.8", FrameworkDisplayName = ".NET Framework 4.8")]
[assembly: AssemblyVersion("1.0.0.0")]
[BepInPlugin("Zonks.inscryption.baaltotemtop", "Baal Totem Top Mod", "1.2.3.0")]
[BepInDependency(/*Could not decode attribute arguments.*/)]
public class Plugin : BaseUnityPlugin
{
	public const string PluginGuid = "zonks.inscryption.baaltotemtop";

	public const string PluginName = "Baal Totem Top Mod";

	public const string PluginVersion = "1.2.3.0";

	public static string PluginDirectory;

	public static Tribe BaalTribe;

	public static readonly CardTemple Resha = GuidManager.GetEnumValue<CardTemple>("zonks.inscryption.baaltotemtop", "Resha");

	public static readonly CardTemple Pious = GuidManager.GetEnumValue<CardTemple>("zonks.inscryption.baaltotemtop", "Pious");

	private void RegisterModElements()
	{
		AddDrawAltar();
		AddLeaveStone();
	}

	private void Awake()
	{
		//IL_0055: Unknown result type (might be due to invalid IL or missing references)
		//IL_005a: Unknown result type (might be due to invalid IL or missing references)
		//IL_010c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0112: Expected I4, but got Unknown
		//IL_012f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0135: Expected I4, but got Unknown
		//IL_01da: Unknown result type (might be due to invalid IL or missing references)
		//IL_01df: Unknown result type (might be due to invalid IL or missing references)
		//IL_0262: Unknown result type (might be due to invalid IL or missing references)
		//IL_0267: Unknown result type (might be due to invalid IL or missing references)
		//IL_0319: Unknown result type (might be due to invalid IL or missing references)
		//IL_031f: Expected I4, but got Unknown
		//IL_0328: Unknown result type (might be due to invalid IL or missing references)
		//IL_032d: Unknown result type (might be due to invalid IL or missing references)
		//IL_03c8: Unknown result type (might be due to invalid IL or missing references)
		//IL_03ce: Expected I4, but got Unknown
		//IL_03d7: Unknown result type (might be due to invalid IL or missing references)
		//IL_03dc: Unknown result type (might be due to invalid IL or missing references)
		//IL_045a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0460: Expected I4, but got Unknown
		//IL_0469: Unknown result type (might be due to invalid IL or missing references)
		//IL_046e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0555: Unknown result type (might be due to invalid IL or missing references)
		//IL_055b: Expected I4, but got Unknown
		//IL_05dc: Unknown result type (might be due to invalid IL or missing references)
		//IL_05e2: Expected I4, but got Unknown
		//IL_0656: Unknown result type (might be due to invalid IL or missing references)
		//IL_065c: Expected I4, but got Unknown
		//IL_06df: Unknown result type (might be due to invalid IL or missing references)
		//IL_06e5: Expected I4, but got Unknown
		//IL_0777: Unknown result type (might be due to invalid IL or missing references)
		//IL_077d: Expected I4, but got Unknown
		//IL_0871: Unknown result type (might be due to invalid IL or missing references)
		//IL_0876: Unknown result type (might be due to invalid IL or missing references)
		//IL_08d5: Unknown result type (might be due to invalid IL or missing references)
		//IL_08da: Unknown result type (might be due to invalid IL or missing references)
		//IL_0939: Unknown result type (might be due to invalid IL or missing references)
		//IL_093e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0990: Unknown result type (might be due to invalid IL or missing references)
		//IL_0995: Unknown result type (might be due to invalid IL or missing references)
		//IL_099c: Unknown result type (might be due to invalid IL or missing references)
		//IL_09a1: Unknown result type (might be due to invalid IL or missing references)
		//IL_09b6: Expected O, but got Unknown
		//IL_09b8: Unknown result type (might be due to invalid IL or missing references)
		//IL_09bd: Unknown result type (might be due to invalid IL or missing references)
		//IL_09d2: Expected O, but got Unknown
		//IL_009e: Unknown result type (might be due to invalid IL or missing references)
		PluginDirectory = ((BaseUnityPlugin)this).Info.Location.Replace("totemtop.dll", "");
		BaalTribe = TribeManager.Add(" ", "Baal", TextureHelper.GetImageAsTexture(Path.Combine(PluginDirectory, "baalicon_custom1.png"), (FilterMode)0), true, TextureHelper.GetImageAsTexture(Path.Combine(PluginDirectory, "baal_reward_pic.png"), (FilterMode)0));
		((BaseUnityPlugin)this).Logger.LogInfo((object)"Loading Baal Totem Top Mod...");
		string text = Path.Combine(PluginDirectory, "baaltopbundle");
		GameObject val = default(GameObject);
		if (AssetBundleHelper.TryGet<GameObject>(text, "baaltop", ref val))
		{
			TotemManager.NewTopPiece<CustomIconTotemTopPiece>("Baal Totem", "zonks.inscryption.baaltotemtop", BaalTribe, val);
			GameObject val2 = Object.Instantiate<GameObject>(val);
		}
		RegisterModElements();
		CardInfo obj = CardExtensions.SetBloodCost(CardExtensions.SetPortrait(CardExtensions.SetDefaultPart1Card(CardManager.New("BaalMod", "Altar", "The Altar", 0, 6, "Carry the Weight")), Path.Combine(PluginDirectory, "altarart.png")), (int?)4);
		Ability[] array = new Ability[4];
		RuntimeHelpers.InitializeArray(array, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
		array[3] = (Ability)(int)totemtop_DrawAltar.ability;
		CardInfo obj2 = CardExtensions.SetRare(CardExtensions.SetOnePerDeck(CardExtensions.AddTribes(CardExtensions.SetSpecialAbilities(CardExtensions.AddAbilities(obj, (Ability[])(object)array), (SpecialTriggeredAbility[])(object)new SpecialTriggeredAbility[1] { (SpecialTriggeredAbility)26 }), (Tribe[])(object)new Tribe[1] { (Tribe)(int)BaalTribe }), true));
		Trait[] array2 = new Trait[3];
		RuntimeHelpers.InitializeArray(array2, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
		CardInfo val3 = CardExtensions.AddTraits(obj2, (Trait[])(object)array2);
		CardInfo obj3 = CardExtensions.SetPortrait(CardExtensions.SetDefaultPart1Card(CardManager.New("BaalMod", "Wrath", "Wrath", 0, 8, "Now look what you've done")), Path.Combine(PluginDirectory, "wrath.png"));
		Ability[] array3 = new Ability[3];
		RuntimeHelpers.InitializeArray(array3, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
		CardInfo val4 = CardExtensions.SetRare(CardExtensions.AddTraits(CardExtensions.SetBloodCost(CardExtensions.SetBonesCost(CardExtensions.AddAbilities(obj3, (Ability[])(object)array3), (int?)0), (int?)0), (Trait[])(object)new Trait[2]
		{
			(Trait)12,
			(Trait)14
		}));
		val4.temple = Resha;
		CardInfo obj4 = CardExtensions.SetPortrait(CardExtensions.SetDefaultPart1Card(CardManager.New("BaalMod", "WrathofBaal", "WrathofBaal", 0, 8, "Now look what you've done")), Path.Combine(PluginDirectory, "wrath.png"));
		Ability[] array4 = new Ability[3];
		RuntimeHelpers.InitializeArray(array4, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
		CardInfo val5 = CardExtensions.SetRare(CardExtensions.AddTraits(CardExtensions.SetBloodCost(CardExtensions.SetBonesCost(CardExtensions.AddAbilities(obj4, (Ability[])(object)array4), (int?)0), (int?)0), (Trait[])(object)new Trait[2]
		{
			(Trait)12,
			(Trait)14
		}));
		val4.temple = Resha;
		GramophoneManager.AddTrack("zonks.inscryption.baaltotemtop", "ICLMBHATMP.wav", 0.5f);
		GramophoneManager.AddTrack("zonks.inscryption.baaltotemtop", "acidintheriverstyx.wav", 0.5f);
		GramophoneManager.AddTrack("zonks.inscryption.baaltotemtop", "Leshy's_Reprise.wav", 0.5f);
		CardInfo obj5 = CardExtensions.SetEvolve(CardExtensions.AddTraits(CardExtensions.SetPortrait(CardExtensions.SetDefaultPart1Card(CardManager.New("BaalMod", "NFaun", "Not so Timid Fawn", 5, 2, "Ahh, they didn't write about this.")), Path.Combine(PluginDirectory, "faun.png")), (Trait[])(object)new Trait[1] { (Trait)12 }), "BaalMod_NFaun", 1, (IEnumerable<CardModificationInfo>)null);
		Ability[] array5 = new Ability[3];
		RuntimeHelpers.InitializeArray(array5, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
		CardInfo val6 = CardExtensions.AddTribes(CardExtensions.AddAbilities(obj5, (Ability[])(object)array5), (Tribe[])(object)new Tribe[1] { (Tribe)(int)BaalTribe });
		val6.temple = Resha;
		((BaseUnityPlugin)this).Logger.LogInfo((object)("Temple to Fawn: " + ((object)(CardTemple)(ref val6.temple)).ToString()));
		CardInfo obj6 = CardExtensions.SetEvolve(CardExtensions.AddTraits(CardExtensions.SetPortrait(CardExtensions.SetDefaultPart1Card(CardManager.New("BaalMod", "ATree", "Angry Tree", 0, 2, "Ahh, they didn't write about this.")), Path.Combine(PluginDirectory, "AngryTree.png")), (Trait[])(object)new Trait[1] { (Trait)12 }), "BaalMod_NFaun", 1, (IEnumerable<CardModificationInfo>)null);
		Ability[] array6 = new Ability[4];
		RuntimeHelpers.InitializeArray(array6, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
		CardInfo val7 = CardExtensions.AddTribes(CardExtensions.AddAbilities(obj6, (Ability[])(object)array6), (Tribe[])(object)new Tribe[1] { (Tribe)(int)BaalTribe });
		val7.temple = Resha;
		CardManager.Add("BaalMod", val7);
		CardInfo val8 = CardExtensions.AddTribes(CardExtensions.AddAbilities(CardExtensions.SetEvolve(CardExtensions.AddTraits(CardExtensions.SetPortrait(CardExtensions.SetDefaultPart1Card(CardManager.New("BaalMod", "STree", "Snow Laden Tree", 0, 3, "I don't understand how this helps.")), Path.Combine(PluginDirectory, "snowytree.png")), (Trait[])(object)new Trait[1] { (Trait)12 }), "BaalMod_ATree", 1, (IEnumerable<CardModificationInfo>)null), (Ability[])(object)new Ability[2]
		{
			(Ability)5,
			(Ability)23
		}), (Tribe[])(object)new Tribe[1] { (Tribe)(int)BaalTribe });
		val8.temple = Resha;
		CardInfo val9 = CardExtensions.AddTraits(CardExtensions.AddAbilities(CardExtensions.SetEvolve(CardExtensions.SetBonesCost(CardExtensions.SetPortrait(CardExtensions.SetDefaultPart1Card(CardManager.New("BaalMod", "Resha", "Resha", 0, 1, "Hmm")), Path.Combine(PluginDirectory, "daphneimage.png")), (int?)3), "BaalMod_STree", 2, (IEnumerable<CardModificationInfo>)null), (Ability[])(object)new Ability[2]
		{
			(Ability)5,
			(Ability)105
		}), (Trait[])(object)new Trait[2]
		{
			(Trait)12,
			(Trait)14
		});
		CardInfo val10 = CardExtensions.AddTribes(CardExtensions.SetSpecialAbilities(CardExtensions.AddAbilities(CardExtensions.SetBloodCost(CardExtensions.SetPortrait(CardExtensions.SetDefaultPart1Card(CardManager.New("BaalMod", "Human", "Human", 0, 1, "Industrious, unpredictable and greedy")), Path.Combine(PluginDirectory, "human.png")), (int?)1), (Ability[])(object)new Ability[1] { (Ability)78 }), (SpecialTriggeredAbility[])(object)new SpecialTriggeredAbility[2]
		{
			(SpecialTriggeredAbility)23,
			(SpecialTriggeredAbility)14
		}), (Tribe[])(object)new Tribe[1] { (Tribe)(int)BaalTribe });
		CardInfo val11 = CardExtensions.AddTribes(CardExtensions.SetSpecialAbilities(CardExtensions.AddAbilities(CardExtensions.AddTraits(CardExtensions.SetBloodCost(CardExtensions.SetPortrait(CardExtensions.SetDefaultPart1Card(CardManager.New("BaalMod", "Baalite", "Baalite", 0, 1, "A seeker perhaps?")), Path.Combine(PluginDirectory, "baalite.png")), (int?)1), (Trait[])(object)new Trait[1] { (Trait)22 }), (Ability[])(object)new Ability[2]
		{
			(Ability)11,
			(Ability)1
		}), (SpecialTriggeredAbility[])(object)new SpecialTriggeredAbility[1] { (SpecialTriggeredAbility)8 }), (Tribe[])(object)new Tribe[1] { (Tribe)(int)BaalTribe });
		CardInfo obj7 = CardExtensions.AddTraits(CardExtensions.SetBloodCost(CardExtensions.SetPortrait(CardExtensions.SetDefaultPart1Card(CardManager.New("BaalMod", "BaalWisp", "Baal Wisp", 1, 1, "...")), Path.Combine(PluginDirectory, "baal_wisp.png")), (int?)1), (Trait[])(object)new Trait[1] { (Trait)14 });
		Ability[] array7 = new Ability[3];
		RuntimeHelpers.InitializeArray(array7, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
		CardInfo val12 = CardExtensions.AddTribes(CardExtensions.AddAbilities(obj7, (Ability[])(object)array7), (Tribe[])(object)new Tribe[1] { (Tribe)(int)BaalTribe });
		CardManager.Add("BaalMod", val12);
		CardInfo val13 = CardExtensions.AddTribes(CardExtensions.SetIceCube(CardExtensions.AddTraits(CardExtensions.AddAbilities(CardExtensions.SetBonesCost(CardExtensions.SetPortrait(CardExtensions.SetDefaultPart1Card(CardManager.New("BaalMod", "Acolyte", "Acolyte", 0, 1, "A Resource")), Path.Combine(PluginDirectory, "Acolyte.png")), (int?)2), (Ability[])(object)new Ability[1] { (Ability)26 }), (Trait[])(object)new Trait[1] { (Trait)20 }), val12, (IEnumerable<CardModificationInfo>)null), (Tribe[])(object)new Tribe[1] { (Tribe)(int)BaalTribe });
		CardInfo val14 = CardExtensions.AddTribes(CardExtensions.AddSpecialAbilities(CardExtensions.AddTraits(CardExtensions.SetBloodCost(CardExtensions.SetBonesCost(CardExtensions.AddAbilities(CardExtensions.SetPortrait(CardExtensions.SetDefaultPart1Card(CardManager.New("BaalMod", "Penance", "Penance", 0, 3, "There is no Priest, find your own introspection.")), Path.Combine(PluginDirectory, "penance.png")), (Ability[])(object)new Ability[2]
		{
			(Ability)7,
			(Ability)19
		}), (int?)1), (int?)2), (Trait[])(object)new Trait[1] { (Trait)20 }), (SpecialTriggeredAbility[])(object)new SpecialTriggeredAbility[2]
		{
			(SpecialTriggeredAbility)11,
			(SpecialTriggeredAbility)26
		}), (Tribe[])(object)new Tribe[1] { (Tribe)(int)BaalTribe });
		CardManager.Add("BaalMod", val5);
		CardManager.Add("BaalMod", val4);
		CardManager.Add("BaalMod", val3);
		CardManager.Add("BaalMod", val9);
		CardManager.Add("BaalMod", val10);
		CardManager.Add("BaalMod", val11);
		CardManager.Add("BaalMod", val13);
		CardManager.Add("BaalMod", val14);
		StarterDeckManager.New("zonks.inscryption.baaltotemtop", "Baal", Path.Combine(PluginDirectory, "baalicon_custom1.png"), new string[3] { "BaalMod_Baalite", "BaalMod_Altar", "BaalMod_Human" }, 0);
		CardInfo val15 = CardExtensions.AddAbilities(CardExtensions.SetPortrait(CardExtensions.SetDefaultPart1Card(CardManager.New("BaalMod", "crusader", "crusader", 2, 3, "")), Path.Combine(PluginDirectory, "crusader.png")), (Ability[])(object)new Ability[1] { (Ability)54 });
		val15.temple = Pious;
		CardManager.Add("BaalMod", val15);
		CardInfo val16 = CardExtensions.AddAbilities(CardExtensions.SetPortrait(CardExtensions.SetDefaultPart1Card(CardManager.New("BaalMod", "pitchfork", "Pitchforker", 1, 2, "")), Path.Combine(PluginDirectory, "AngryTree.png")), (Ability[])(object)new Ability[2]
		{
			(Ability)100,
			(Ability)34
		});
		val16.temple = Pious;
		CardManager.Add("BaalMod", val16);
		CardInfo val17 = CardExtensions.AddAbilities(CardExtensions.SetPortrait(CardExtensions.SetDefaultPart1Card(CardManager.New("BaalMod", "lawman", "lawman", 1, 2, "")), Path.Combine(PluginDirectory, "lawman.png")), (Ability[])(object)new Ability[2]
		{
			(Ability)18,
			(Ability)53
		});
		val17.temple = Pious;
		CardInfo val18 = CardExtensions.AddAbilities(CardExtensions.SetPortrait(CardExtensions.SetDefaultPart1Card(CardManager.New("BaalMod", "kevin", "Kevin", 1, 1, "")), Path.Combine(PluginDirectory, "AngryTree.png")), (Ability[])(object)new Ability[2]
		{
			(Ability)35,
			(Ability)57
		});
		val18.temple = Pious;
		CardBlueprint bp_pitchfork = new CardBlueprint
		{
			card = CardLoader.GetCardByName("BaalMod_pitchfork")
		};
		CardBlueprint bp_crusader = new CardBlueprint
		{
			card = CardLoader.GetCardByName("BaalMod_crusader")
		};
		((BaseUnityPlugin)this).Logger.LogInfo((object)"This is the begining of the _ <3");
		EncounterManager.SyncEncounterList();
		EncounterManager.Add(PiousE());
		EncounterBlueprintData PiousE()
		{
			EncounterBlueprintData val19 = ScriptableObject.CreateInstance<EncounterBlueprintData>();
			((Object)val19).name = "TurnPlan_2";
			val19.turns = new List<List<CardBlueprint>>
			{
				new List<CardBlueprint> { bp_crusader, bp_crusader },
				new List<CardBlueprint>(),
				new List<CardBlueprint>(),
				new List<CardBlueprint> { bp_pitchfork },
				new List<CardBlueprint> { bp_pitchfork },
				new List<CardBlueprint>(),
				new List<CardBlueprint> { bp_pitchfork }
			};
			return val19;
		}
	}

	private void Start()
	{
		EncounterManager.SyncEncounterList();
	}

	private void AddDrawAltar()
	{
		//IL_004d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0052: Unknown result type (might be due to invalid IL or missing references)
		//IL_005e: Expected O, but got Unknown
		//IL_0068: Unknown result type (might be due to invalid IL or missing references)
		//IL_0072: Expected O, but got Unknown
		//IL_0073: Unknown result type (might be due to invalid IL or missing references)
		//IL_0078: Unknown result type (might be due to invalid IL or missing references)
		AbilityInfo val = AbilityManager.New("zonksisawake.inscryption.baaltribemod.drawaltar", "Altar", "Carry the Weight", typeof(totemtop_DrawAltar), "altarart.png");
		val.powerLevel = 2;
		val.metaCategories = new List<AbilityMetaCategory>
		{
			(AbilityMetaCategory)0,
			(AbilityMetaCategory)1
		};
		List<Line> list = new List<Line>();
		Line item = new Line
		{
			text = "Broken."
		};
		list.Add(item);
		val.abilityLearnedDialogue = new LineSet(list);
		totemtop_DrawAltar.ability = val.ability;
	}

	private void AddLeaveStone()
	{
		//IL_004d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0052: Unknown result type (might be due to invalid IL or missing references)
		//IL_005e: Expected O, but got Unknown
		//IL_0068: Unknown result type (might be due to invalid IL or missing references)
		//IL_0072: Expected O, but got Unknown
		//IL_0073: Unknown result type (might be due to invalid IL or missing references)
		//IL_0078: Unknown result type (might be due to invalid IL or missing references)
		AbilityInfo val = AbilityManager.New("zonksisawake.inscryption.baaltribemod.drawaltar", "ST0NE", "0", typeof(totemtop_leaveStone), "altarart.png");
		val.powerLevel = 2;
		val.metaCategories = new List<AbilityMetaCategory>
		{
			(AbilityMetaCategory)0,
			(AbilityMetaCategory)1
		};
		List<Line> list = new List<Line>();
		Line item = new Line
		{
			text = "Oh deer."
		};
		list.Add(item);
		val.abilityLearnedDialogue = new LineSet(list);
		totemtop_leaveStone.ability = val.ability;
	}
}
namespace totemtop;

public class totemtop_leaveStone : AbilityBehaviour
{
	private Type cardtochoose;

	public static Ability ability;

	public override Ability Ability => ability;

	public override bool RespondsToDie(bool wasSacrifice, PlayableCard killer)
	{
		return true;
	}

	public override bool RespondsToResolveOnBoard()
	{
		return true;
	}

	public override IEnumerator OnResolveOnBoard()
	{
		Singleton<ViewManager>.Instance.SwitchToView((View)4, false, false);
		yield return (object)new WaitForSeconds(0.1f);
		CardSlot opposingSlot = ((AbilityBehaviour)this).Card.Slot.opposingSlot;
		if ((Object)(object)opposingSlot.Card == (Object)null)
		{
			List<string> myList = new List<string> { "BaalMod_crusader", "BaalMod_pitchfork", "BaalMod_lawman" };
			Random random = new Random();
			int randomIndex = random.Next(myList.Count);
			string cardId = myList[randomIndex];
			yield return ((AbilityBehaviour)this).PreSuccessfulTriggerSequence();
			yield return Singleton<BoardManager>.Instance.CreateCardInSlot(CardLoader.GetCardByName(cardId), opposingSlot, 0.15f, true);
		}
		else
		{
			((Card)((AbilityBehaviour)this).Card).Anim.StrongNegationEffect();
			yield return ((AbilityBehaviour)this).LearnAbility(0f);
		}
	}
}
public class totemtop_DrawAltar : DrawCreatedCard
{
	public static Ability ability;

	public override Ability Ability => ability;

	protected override CardInfo CardToDraw
	{
		get
		{
			List<CardInfo> list = ScriptableObjectLoader<CardInfo>.AllData.FindAll((CardInfo x) => ((Object)x).name.Contains("BaalMod_W"));
			return list[SeededRandom.Range(0, list.Count, ((TriggerReceiver)this).GetRandomSeed())];
		}
	}

	public override bool RespondsToDie(bool wasSacrifice, PlayableCard killer)
	{
		return true;
	}

	public override bool RespondsToResolveOnBoard()
	{
		return true;
	}

	public override IEnumerator OnDie(bool wasSacrifice, PlayableCard killer)
	{
		yield return ((AbilityBehaviour)this).PreSuccessfulTriggerSequence();
		yield return ((DrawCreatedCard)this).CreateDrawnCard();
		yield return ((AbilityBehaviour)this).LearnAbility(0.5f);
		CardInfo edit1 = CardLoader.GetCardByName("BaalMod_Human");
		CardInfo edit2 = CardLoader.GetCardByName("BaalMod_Baalite");
		CardInfo edit3 = CardLoader.GetCardByName("BaalMod_Baal_Wisp");
		CardInfo edit4 = CardLoader.GetCardByName("BaalMod_Acolyte");
		CardInfo edit5 = CardLoader.GetCardByName("BaalMod_Penance");
		yield return CardExtensions.AddAbilities(edit1, (Ability[])(object)new Ability[1] { (Ability)(int)totemtop_leaveStone.ability });
		yield return CardExtensions.AddAbilities(edit1, (Ability[])(object)new Ability[1] { (Ability)(int)totemtop_leaveStone.ability });
		yield return CardExtensions.AddAbilities(edit2, (Ability[])(object)new Ability[1] { (Ability)(int)totemtop_leaveStone.ability });
		yield return CardExtensions.AddAbilities(edit3, (Ability[])(object)new Ability[1] { (Ability)(int)totemtop_leaveStone.ability });
		yield return CardExtensions.AddAbilities(edit4, (Ability[])(object)new Ability[1] { (Ability)(int)totemtop_leaveStone.ability });
		yield return CardExtensions.AddAbilities(edit5, (Ability[])(object)new Ability[1] { (Ability)(int)totemtop_leaveStone.ability });
	}
}