Decompiled source of AnglerFishingNode v2.0.0

plugins/GeckVolantMarin-AnglerFishingNode.dll

Decompiled a month ago
using System;
using System.Collections;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.Versioning;
using System.Security;
using System.Security.Permissions;
using BepInEx;
using BepInEx.Logging;
using DiskCardGame;
using InscryptionAPI.Boons;
using InscryptionAPI.Card;
using InscryptionAPI.Helpers;
using InscryptionAPI.Nodes;
using Microsoft.CodeAnalysis;
using UnityEngine;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
[assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")]
[assembly: AssemblyCompany("GeckVolantMarin-AnglerFishingNode")]
[assembly: AssemblyConfiguration("Debug")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyInformationalVersion("1.0.0")]
[assembly: AssemblyProduct("GeckVolantMarin-AnglerFishingNode")]
[assembly: AssemblyTitle("GeckVolantMarin-AnglerFishingNode")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("1.0.0.0")]
[module: UnverifiableCode]
[module: RefSafetyRules(11)]
namespace Microsoft.CodeAnalysis
{
	[CompilerGenerated]
	[Microsoft.CodeAnalysis.Embedded]
	internal sealed class EmbeddedAttribute : Attribute
	{
	}
}
namespace System.Runtime.CompilerServices
{
	[CompilerGenerated]
	[Microsoft.CodeAnalysis.Embedded]
	[AttributeUsage(AttributeTargets.Module, AllowMultiple = false, Inherited = false)]
	internal sealed class RefSafetyRulesAttribute : Attribute
	{
		public readonly int Version;

		public RefSafetyRulesAttribute(int P_0)
		{
			Version = P_0;
		}
	}
}
namespace GeckVolantMarin
{
	public static class NewMechanicsConcept
	{
		public static MechanicsConcept anglerFishing;

		public static void createMechanicsConcept()
		{
			//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_0009: Unknown result type (might be due to invalid IL or missing references)
			//IL_000a: Unknown result type (might be due to invalid IL or missing references)
			//IL_000b: 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)
			MechanicsConcept val = (MechanicsConcept)16777322;
			val = (anglerFishing = (MechanicsConcept)(val + 1));
		}
	}
}
namespace GeckVolantMarin.AnglerFishingNode
{
	public static class NewProperties
	{
		public static string baitAboutToDiveExamineDialogue = "GeckVolantMarin.AnglerFishingNode.NewProperties.baitAboutToDiveExamineDialogue";

		public static string baitLossProbability = "GeckVolantMarin.AnglerFishingNode.NewProperties.baitLossProbability";

		public static string baitLossDialogueMessage = "GeckVolantMarin.AnglerFishingNode.NewProperties.baitLossDialogueMessage";

		public static string baitDerivationProbability = "GeckVolantMarin.AnglerFishingNode.NewProperties.baitDerivationProbability";

		public static string baitDerivationDialogueMessage = "GeckVolantMarin.AnglerFishingNode.NewProperties.baitDerivationDialogueMessage";

		public static string baitCatch0Loot0Rescue0DialogueMessage = "GeckVolantMarin.AnglerFishingNode.NewProperties.baitCatch0Loot0Rescue0DialogueMessage";

		public static string baitCatch1DialogueMessage = "GeckVolantMarin.AnglerFishingNode.NewProperties.baitCatch1DialogueMessage";

		public static string baitCatchMoreThen1DialogueMessage = "GeckVolantMarin.AnglerFishingNode.NewProperties.baitCatchMoreThen1DialogueMessage";

		public static string baitRescue1DialogueMessage = "GeckVolantMarin.AnglerFishingNode.NewProperties.baitRescue1DialogueMessage";

		public static string baitRescueMoreThen1DialogueMessage = "GeckVolantMarin.AnglerFishingNode.NewProperties.baitRescueMoreThen1DialogueMessage";

		public static string baitAlsoRescue1DialogueMessage = "GeckVolantMarin.AnglerFishingNode.NewProperties.baitAlsoRescue1DialogueMessage";

		public static string baitAlsoRescueMoreThen1DialogueMessage = "GeckVolantMarin.AnglerFishingNode.NewProperties.baitAlsoRescueMoreThen1DialogueMessage";

		public static string baitLoot1DialogueMessage = "GeckVolantMarin.AnglerFishingNode.NewProperties.baitLoot1DialogueMessage";

		public static string baitLootMoreThen1DialogueMessage = "GeckVolantMarin.AnglerFishingNode.NewProperties.baitLootMoreThen1DialogueMessage";

		public static string baitAlsoLoot1DialogueMessage = "GeckVolantMarin.AnglerFishingNode.NewProperties.baitAlsoLoot1DialogueMessage";

		public static string baitAlsoLootMoreThen1DialogueMessage = "GeckVolantMarin.AnglerFishingNode.NewProperties.baitAlsoLootMoreThen1DialogueMessage";

		public static string baitKeepDialogueMessage = "GeckVolantMarin.AnglerFishingNode.NewProperties.baitKeepDialogueMessage";

		public static string baitCatchFishProbability = "GeckVolantMarin.AnglerFishingNode.NewProperties.baitCatchFishProbability";

		public static string baitCatchFishGlobalLuck = "GeckVolantMarin.AnglerFishingNode.NewProperties.baitCatchFishGlobalLuck";

		public static string baitCatchBonusFishProbabilities = "GeckVolantMarin.AnglerFishingNode.NewProperties.baitCatchBonusFishProbabilities";

		public static string baitCatchTinyFishProbabilityWeight = "GeckVolantMarin.AnglerFishingNode.NewProperties.baitCatchTinyFishProbabilityWeight";

		public static string baitCatchTinyFishLuck = "GeckVolantMarin.AnglerFishingNode.NewProperties.baitCatchTinyFishLuck";

		public static string baitCatchSmallFishProbabilityWeight = "GeckVolantMarin.AnglerFishingNode.NewProperties.baitCatchSmallFishProbabilityWeight";

		public static string baitCatchSmallFishLuck = "GeckVolantMarin.AnglerFishingNode.NewProperties.baitCatchSmallFishLuck";

		public static string baitCatchMediumFishProbabilityWeight = "GeckVolantMarin.AnglerFishingNode.NewProperties.baitCatchMediumFishProbabilityWeight";

		public static string baitCatchMediumFishLuck = "GeckVolantMarin.AnglerFishingNode.NewProperties.baitCatchMediumFishLuck";

		public static string baitCatchBigFishProbabilityWeight = "GeckVolantMarin.AnglerFishingNode.NewProperties.baitCatchBigFishProbabilityWeight";

		public static string baitCatchBigFishLuck = "GeckVolantMarin.AnglerFishingNode.NewProperties.baitCatchBigFishLuck";

		public static string baitCatchHugeFishProbabilityWeight = "GeckVolantMarin.AnglerFishingNode.NewProperties.baitCatchHugeFishProbabilityWeight";

		public static string baitCatchHugeFishLuck = "GeckVolantMarin.AnglerFishingNode.NewProperties.baitCatchHugeFishLuck";

		public static string baitCatchCustomFishProbabilityWeights = "GeckVolantMarin.AnglerFishingNode.NewProperties.baitCatchCustomFishProbabilityWeights";

		public static string baitFindLootProbability = "GeckVolantMarin.AnglerFishingNode.NewProperties.baitFindLootProbability";

		public static string baitFindLootGlobalLuck = "GeckVolantMarin.AnglerFishingNode.NewProperties.baitFindLootGlobalLuck";

		public static string baitFindBonusLootsProbabilities = "GeckVolantMarin.AnglerFishingNode.NewProperties.baitFindBonusLootsProbabilities";

		public static string baitFindCardLootProbabilityWeight = "GeckVolantMarin.AnglerFishingNode.NewProperties.baitFindCardLootProbabilityWeight";

		public static string baitFindCardLootLuck = "GeckVolantMarin.AnglerFishingNode.NewProperties.baitFindCardLootLuck";

		public static string baitFindBoonLootProbabilityWeight = "GeckVolantMarin.AnglerFishingNode.NewProperties.baitFindBoonLootProbabilityWeight";

		public static string baitFindBoonLootLuck = "GeckVolantMarin.AnglerFishingNode.NewProperties.baitFindBoonLootLuck";

		public static string baitFindCustomCardLootsProbabilityWeights = "GeckVolantMarin.AnglerFishingNode.NewProperties.baitFindCustomCardLootsProbabilityWeights";

		public static string baitFindCustomBoonLootsProbabilityWeights = "GeckVolantMarin.AnglerFishingNode.NewProperties.baitFindCustomBoonLootsProbabilityWeights";

		public static string baitRescueCreatureProbability = "GeckVolantMarin.AnglerFishingNode.NewProperties.baitRescueCreatureProbability";

		public static string baitRescueCreatureGlobalLuck = "GeckVolantMarin.AnglerFishingNode.NewProperties.baitRescueCreatureGlobalLuck";

		public static string baitRescueBonusCreaturesProbabilities = "GeckVolantMarin.AnglerFishingNode.NewProperties.baitRescueBonusCreaturesProbabilities";

		public static string baitRescueTinyCreatureProbabilityWeight = "GeckVolantMarin.AnglerFishingNode.NewProperties.baitRescueTinyCreatureProbabilityWeight";

		public static string baitRescueTinyCreatureLuck = "GeckVolantMarin.AnglerFishingNode.NewProperties.baitRescueTinyCreatureLuck";

		public static string baitRescueSmallCreatureProbabilityWeight = "GeckVolantMarin.AnglerFishingNode.NewProperties.baitRescueSmallCreatureProbabilityWeight";

		public static string baitRescueSmallCreatureLuck = "GeckVolantMarin.AnglerFishingNode.NewProperties.baitRescueSmallCreatureLuck";

		public static string baitRescueMediumCreatureProbabilityWeight = "GeckVolantMarin.AnglerFishingNode.NewProperties.baitRescueMediumCreatureProbabilityWeight";

		public static string baitRescueMediumCreatureLuck = "GeckVolantMarin.AnglerFishingNode.NewProperties.baitRescueMediumCreatureLuck";

		public static string baitRescueBigCreatureProbabilityWeight = "GeckVolantMarin.AnglerFishingNode.NewProperties.baitRescueBigCreatureProbabilityWeight";

		public static string baitRescueBigCreatureLuck = "GeckVolantMarin.AnglerFishingNode.NewProperties.baitRescueBigCreatureLuck";

		public static string baitRescueHugeCreatureProbabilityWeight = "GeckVolantMarin.AnglerFishingNode.NewProperties.baitRescueHugeCreatureProbabilityWeight";

		public static string baitRescueHugeCreatureLuck = "GeckVolantMarin.AnglerFishingNode.NewProperties.baitRescueHugeCreatureLuck";

		public static string baitRescueCustomCreaturesProbabilityWeights = "GeckVolantMarin.AnglerFishingNode.NewProperties.baitRescueCustomCreaturesProbabilityWeights";

		public static string fishCatchedExamineDialogue = "GeckVolantMarin.AnglerFishingNode.NewProperties.fishCatchedExamineDialogue";

		public static string tinyFishCatchProbabilityWeights = "GeckVolantMarin.AnglerFishingNode.NewProperties.tinyFishCatchProbabilityWeights";

		public static string smallFishCatchProbabilityWeights = "GeckVolantMarin.AnglerFishingNode.NewProperties.smallFishCatchProbabilityWeights";

		public static string mediumFishCatchProbabilityWeights = "GeckVolantMarin.AnglerFishingNode.NewProperties.mediumFishCatchProbabilityWeights";

		public static string bigFishCatchProbabilityWeights = "GeckVolantMarin.AnglerFishingNode.NewProperties.bigFishCatchProbabilityWeights";

		public static string hugeFishCatchProbabilityWeights = "GeckVolantMarin.AnglerFishingNode.NewProperties.hugeFishCatchProbabilityWeights";

		public static string lootFoundExamineDialogue = "GeckVolantMarin.AnglerFishingNode.NewProperties.lootFoundExamineDialogue";

		public static string lootCardFoundProbabilityWeights = "GeckVolantMarin.AnglerFishingNode.NewProperties.lootCardFoundProbabilityWeights";

		public static string lootBoonFoundProbabilityWeights = "GeckVolantMarin.AnglerFishingNode.NewProperties.lootBoonFoundProbabilityWeights";

		public static string creatureRescueExamineDialogue = "GeckVolantMarin.AnglerFishingNode.NewProperties.lootFoundExamineDialogue";

		public static string tinyCreatureRescueProbabilityWeights = "GeckVolantMarin.AnglerFishingNode.NewProperties.tinyCreatureRescueProbabilityWeights";

		public static string smallCreatureRescueProbabilityWeights = "GeckVolantMarin.AnglerFishingNode.NewProperties.smallCreatureRescueProbabilityWeights";

		public static string mediumCreatureRescueProbabilityWeights = "GeckVolantMarin.AnglerFishingNode.NewProperties.mediumCreatureRescueProbabilityWeights";

		public static string bigCreatureRescueProbabilityWeights = "GeckVolantMarin.AnglerFishingNode.NewProperties.bigCreatureRescueProbabilityWeights";

		public static string hugeCreatureRescueProbabilityWeights = "GeckVolantMarin.AnglerFishingNode.NewProperties.hugeCreatureRescueProbabilityWeights";
	}
	public class FishingResults
	{
		public bool lostBait;

		public List<SelectableCard> catchedFish;

		public List<SelectableCard> foundCardLoots;

		public List<SelectableCard> foundBoonLoots;

		public List<SelectableCard> rescuedCreature;
	}
	public class AnglerFishingNodeSequencer : CardChoicesSequencer, ICustomNodeSequencer
	{
		private class MoveFromToUntilOnSpot : MonoBehaviour
		{
			public float timeElapsed = 1f;

			private void Update()
			{
				//IL_008d: Unknown result type (might be due to invalid IL or missing references)
				//IL_0097: Unknown result type (might be due to invalid IL or missing references)
				//IL_00a1: Unknown result type (might be due to invalid IL or missing references)
				//IL_003d: Unknown result type (might be due to invalid IL or missing references)
				//IL_0047: Unknown result type (might be due to invalid IL or missing references)
				//IL_0051: Unknown result type (might be due to invalid IL or missing references)
				//IL_00ef: Unknown result type (might be due to invalid IL or missing references)
				//IL_010f: Unknown result type (might be due to invalid IL or missing references)
				if (timeElapsed < 1f)
				{
					if (timeElapsed < 0f)
					{
						((Component)this).transform.Translate(new Vector3(-0.1f, 11.6f, 2f) * Time.deltaTime * 10f);
						timeElapsed += Time.deltaTime * 0.1f;
					}
					else
					{
						((Component)this).transform.Translate(new Vector3(0.1f, -11.6f, -2f) * Time.deltaTime * 10f);
						timeElapsed += Time.deltaTime * 10f;
					}
					if (timeElapsed >= 1f)
					{
						((Component)this).transform.position = new Vector3(0.1f, -3.6f, 2f);
						((Component)this).transform.localPosition = new Vector3(0.1f, -3.6f, 2f);
					}
				}
			}
		}

		private class PloufLaCarte : MonoBehaviour
		{
			public float timeElapsed = 0f;

			public bool shouldRecenter = true;

			private void Update()
			{
				//IL_006c: Unknown result type (might be due to invalid IL or missing references)
				//IL_0076: Unknown result type (might be due to invalid IL or missing references)
				//IL_003d: Unknown result type (might be due to invalid IL or missing references)
				//IL_0047: Unknown result type (might be due to invalid IL or missing references)
				//IL_00c5: Unknown result type (might be due to invalid IL or missing references)
				//IL_00e5: Unknown result type (might be due to invalid IL or missing references)
				//IL_0105: Unknown result type (might be due to invalid IL or missing references)
				if (timeElapsed < 1f)
				{
					if (timeElapsed < 0f)
					{
						((Component)this).transform.Translate(new Vector3(0f, -2f, 0f) * Time.deltaTime, (Space)0);
					}
					else
					{
						((Component)this).transform.Translate(new Vector3(0f, 2f, 0f) * Time.deltaTime, (Space)0);
					}
					timeElapsed += Time.deltaTime;
					if (timeElapsed >= 0.75f && shouldRecenter)
					{
						((Component)this).transform.position = new Vector3(0.26f, 6.2218f, 1.2109f);
						((Component)this).transform.localPosition = new Vector3(0f, 0.1218f, 1.6109f);
						((Component)this).transform.localRotation = Quaternion.Euler(289.5936f, 0f, 0f);
					}
				}
			}
		}

		public static FullNode anglerFishingNode;

		[SerializeField]
		private Animator stoneCircleAnim;

		[SerializeField]
		private SelectCardFromDeckSlot fishBaitSlot;

		[SerializeField]
		private ConfirmStoneButton confirmStone;

		private GameObject pondGameObject;

		private GameObject cardHolder;

		private bool didIntroSequence = false;

		public override Vector3 CardExaminePosition => new Vector3(0f, 6.4f, -1f);

		public override Vector3 CardExamineEulers => new Vector3(125f, 178.5f, 180f);

		private void IntroSequence()
		{
			//IL_019a: Unknown result type (might be due to invalid IL or missing references)
			//IL_01d8: Unknown result type (might be due to invalid IL or missing references)
			//IL_020a: Unknown result type (might be due to invalid IL or missing references)
			//IL_023c: Unknown result type (might be due to invalid IL or missing references)
			GameObject val = Object.Instantiate<GameObject>(ResourceBank.Get<GameObject>("Prefabs/SpecialNodeSequences/CardRemoveSequencer"), ((Component)Singleton<SpecialNodeHandler>.Instance).transform);
			CardRemoveSequencer component = val.GetComponent<CardRemoveSequencer>();
			base.gamepadGrid = ((CardChoicesSequencer)component).gamepadGrid;
			stoneCircleAnim = component.stoneCircleAnim;
			Plugin.Logger.LogInfo((object)"This object have those Components:");
			((Component)val.transform.GetChild(2).GetChild(0).GetChild(1)).gameObject.SetActive(false);
			((Component)val.transform.GetChild(2).GetChild(0).GetChild(2)).gameObject.SetActive(false);
			((Component)val.transform.GetChild(2).GetChild(0).GetChild(3)).gameObject.SetActive(false);
			((Component)val.transform.GetChild(2).GetChild(1)).gameObject.SetActive(false);
			((Component)val.transform.GetChild(2).GetChild(2)).gameObject.SetActive(false);
			((Component)val.transform.GetChild(2).GetChild(3)).gameObject.SetActive(false);
			((Component)val.transform.GetChild(2).GetChild(4)).gameObject.SetActive(false);
			((Component)val.transform.GetChild(2).GetChild(5)).gameObject.SetActive(false);
			GameObject val2 = default(GameObject);
			if (AssetBundleHelper.TryGet<GameObject>(Path.Combine(Path.GetDirectoryName(Plugin.directory), "assets/Nodes/anglerFishing/customanglerfishing"), "Pond", ref val2))
			{
				pondGameObject = Object.Instantiate<GameObject>(val2);
				pondGameObject.transform.localScale = new Vector3(100f, 60f, 100f);
				pondGameObject.AddComponent<MoveFromToUntilOnSpot>();
				val.transform.GetChild(2).GetChild(0).GetChild(0)
					.position = new Vector3(0.26f, 6.2218f, 1.2109f);
				val.transform.GetChild(2).GetChild(0).GetChild(0)
					.localPosition = new Vector3(0f, 0.1218f, 1.6109f);
				val.transform.GetChild(2).GetChild(0).GetChild(0)
					.localRotation = Quaternion.Euler(289.5936f, 0f, 0f);
				cardHolder = ((Component)val.transform.GetChild(2).GetChild(0).GetChild(0)).gameObject;
				cardHolder.AddComponent<PloufLaCarte>();
				cardHolder.GetComponent<PloufLaCarte>().timeElapsed = 1f;
				Plugin.Logger.LogInfo((object)"Success in spawning pond");
			}
			confirmStone = component.confirmStone;
			fishBaitSlot = component.sacrificeSlot;
			base.deckPile = ((CardChoicesSequencer)component).deckPile;
			Object.Destroy((Object)(object)component);
			didIntroSequence = true;
		}

		public IEnumerator DoCustomSequence(CustomSpecialNodeData node)
		{
			if (!didIntroSequence)
			{
				IntroSequence();
			}
			pondGameObject.transform.position = new Vector3(0f, 8f, 4f);
			pondGameObject.transform.localPosition = new Vector3(0f, 0f, 0f);
			pondGameObject.GetComponent<MoveFromToUntilOnSpot>().timeElapsed = 0f;
			fishBaitSlot.Disable();
			pondGameObject.SetActive(true);
			Singleton<TableRuleBook>.Instance.SetOnBoard(true);
			Singleton<ViewManager>.Instance.Controller.SwitchToControlMode((ControlMode)5, false);
			Singleton<ViewManager>.Instance.Controller.LockState = (ViewLockState)1;
			yield return (object)new WaitForSeconds(0.3f);
			((Component)stoneCircleAnim).gameObject.SetActive(true);
			yield return (object)new WaitForSeconds(0.5f);
			if (!ProgressionData.LearnedMechanic(NewMechanicsConcept.anglerFishing))
			{
				yield return Singleton<TextDisplayer>.Instance.ShowUntilInput("You came across some familiar ponds. But there was something different...", -2.5f, 0.5f, (Emotion)0, (LetterAnimation)1, (Speaker)0, (string[])null, true);
				yield return Singleton<TextDisplayer>.Instance.ShowUntilInput("You see the angler, he seems disapointed...", -2.5f, 0.5f, (Emotion)0, (LetterAnimation)1, (Speaker)0, (string[])null, true);
				LeshyAnimationController.Instance.PutOnMask((Mask)2, false);
				yield return Singleton<TextDisplayer>.Instance.ShowUntilInput("No more bait, no more fish...", -2.5f, 0.5f, (Emotion)2, (LetterAnimation)1, (Speaker)0, (string[])null, true);
			}
			else
			{
				LeshyAnimationController.Instance.PutOnMask((Mask)2, false);
			}
			yield return base.deckPile.SpawnCards(RunState.DeckList.Count, 0.5f);
			Singleton<ViewManager>.Instance.SwitchToView((View)8, false, false);
			Singleton<ExplorableAreaManager>.Instance.TweenHangingLightColors(GameColors.Instance.glowSeafoam, GameColors.Instance.seafoam, 0.1f);
			yield return Singleton<TextDisplayer>.Instance.ShowUntilInput("Have-you bait?", -2.5f, 0.5f, (Emotion)5, (LetterAnimation)1, (Speaker)0, (string[])null, true);
			if (!ProgressionData.LearnedMechanic(NewMechanicsConcept.anglerFishing))
			{
				yield return (object)new WaitForSeconds(0.1f);
				yield return LeshyAnimationController.Instance.TakeOffMask();
				yield return Singleton<TextDisplayer>.Instance.ShowUntilInput("Will you take the risk and give him a bait?", -0.65f, 0.4f, (Emotion)0, (LetterAnimation)1, (Speaker)0, (string[])null, true);
				LeshyAnimationController.Instance.PutOnMask((Mask)2, true);
			}
			fishBaitSlot.RevealAndEnable();
			((InteractableBase)fishBaitSlot).ClearDelegates();
			SelectCardFromDeckSlot selectCardFromDeckSlot = fishBaitSlot;
			((MainInputInteractable)selectCardFromDeckSlot).CursorSelectStarted = (Action<MainInputInteractable>)Delegate.Combine(((MainInputInteractable)selectCardFromDeckSlot).CursorSelectStarted, new Action<MainInputInteractable>(OnSlotSelected));
			fishBaitSlot.backOutInputPressed = null;
			SelectCardFromDeckSlot selectCardFromDeckSlot2 = fishBaitSlot;
			selectCardFromDeckSlot2.backOutInputPressed = (Action)Delegate.Combine(selectCardFromDeckSlot2.backOutInputPressed, (Action)delegate
			{
				if (((InteractableBase)fishBaitSlot).Enabled)
				{
					OnSlotSelected((MainInputInteractable)(object)fishBaitSlot);
				}
			});
			((Behaviour)base.gamepadGrid).enabled = true;
			yield return confirmStone.WaitUntilConfirmation();
			string baitExamineDialogue = "";
			if (CardManager.GetCardExtensionTable(((Card)fishBaitSlot.Card).Info).TryGetValue(NewProperties.baitAboutToDiveExamineDialogue, out baitExamineDialogue))
			{
				yield return ((CardChoicesSequencer)this).ExamineCardWithDialogue(fishBaitSlot.Card, baitExamineDialogue);
			}
			fishBaitSlot.Disable();
			cardHolder.GetComponent<PloufLaCarte>().timeElapsed = -0.75f;
			((Component)fishBaitSlot.Card).gameObject.AddComponent<PloufLaCarte>();
			((Component)fishBaitSlot.Card).gameObject.GetComponent<PloufLaCarte>().timeElapsed = -0.75f;
			((Component)fishBaitSlot.Card).gameObject.GetComponent<PloufLaCarte>().shouldRecenter = false;
			Singleton<RuleBookController>.Instance.SetShown(false, true);
			yield return (object)new WaitForSeconds(0.25f);
			CardInfo baitInfo = ((Card)fishBaitSlot.Card).Info;
			((CardCollectionInfo)RunState.Run.playerDeck).RemoveCard(baitInfo);
			((Card)fishBaitSlot.Card).Anim.SetFaceDown(true, false);
			yield return (object)new WaitForSeconds(0.75f);
			FishingResults fishResults = OnBaitTransformIntoFish(baitInfo);
			if (fishResults.lostBait)
			{
				Object.Destroy((Object)(object)((Component)fishBaitSlot.Card).gameObject);
			}
			yield return (object)new WaitForSeconds(0.75f);
			if (!fishResults.lostBait)
			{
				((Card)fishBaitSlot.Card).Anim.SetFaceDown(false, false);
				base.gamepadGrid.Rows[0].interactables.Add((InteractableBase)(object)fishBaitSlot.Card);
			}
			yield return OnRevealFish(fishResults, baitInfo);
			if (!ProgressionData.LearnedMechanic(NewMechanicsConcept.anglerFishing) && fishResults.lostBait && fishResults.rescuedCreature.Count + fishResults.foundBoonLoots.Count + fishResults.foundCardLoots.Count > 0)
			{
				yield return Singleton<TextDisplayer>.Instance.ShowUntilInput("You take your new cards, and get back on track.", -0.65f, 0.4f, (Emotion)0, (LetterAnimation)1, (Speaker)0, (string[])null, true);
			}
			else if (!ProgressionData.LearnedMechanic(NewMechanicsConcept.anglerFishing) && fishResults.lostBait)
			{
				yield return Singleton<TextDisplayer>.Instance.ShowUntilInput("You rumble a little and get back on track.", -0.65f, 0.4f, (Emotion)0, (LetterAnimation)1, (Speaker)0, (string[])null, true);
			}
			else if (!ProgressionData.LearnedMechanic(NewMechanicsConcept.anglerFishing) && fishResults.catchedFish.Count == 0 && fishResults.rescuedCreature.Count + fishResults.foundBoonLoots.Count + fishResults.foundCardLoots.Count > 0)
			{
				yield return Singleton<TextDisplayer>.Instance.ShowUntilInput("You take back your card and get back on track.", -0.65f, 0.4f, (Emotion)0, (LetterAnimation)1, (Speaker)0, (string[])null, true);
			}
			else if (!ProgressionData.LearnedMechanic(NewMechanicsConcept.anglerFishing) && fishResults.catchedFish.Count == 0)
			{
				yield return Singleton<TextDisplayer>.Instance.ShowUntilInput("You take back your card and happily get back on the road.", -0.65f, 0.4f, (Emotion)0, (LetterAnimation)1, (Speaker)0, (string[])null, true);
			}
			else if (!ProgressionData.LearnedMechanic(NewMechanicsConcept.anglerFishing) && fishResults.rescuedCreature.Count + fishResults.foundBoonLoots.Count + fishResults.foundCardLoots.Count > 0)
			{
				yield return Singleton<TextDisplayer>.Instance.ShowUntilInput("You take your new cards and carrie onward.", -0.65f, 0.4f, (Emotion)0, (LetterAnimation)1, (Speaker)0, (string[])null, true);
			}
			else if (!ProgressionData.LearnedMechanic(NewMechanicsConcept.anglerFishing))
			{
				yield return Singleton<TextDisplayer>.Instance.ShowUntilInput("You take the new card and carrie onward.", -0.65f, 0.4f, (Emotion)0, (LetterAnimation)1, (Speaker)0, (string[])null, true);
			}
			yield return LeshyAnimationController.Instance.TakeOffMask();
			ProgressionData.SetMechanicLearned(NewMechanicsConcept.anglerFishing);
			yield return base.deckPile.DestroyCards(0.5f);
			stoneCircleAnim.SetTrigger("exit");
			Singleton<ExplorableAreaManager>.Instance.ResetHangingLightsToZoneColors(0.25f);
			pondGameObject.GetComponent<MoveFromToUntilOnSpot>().timeElapsed = -1f;
			yield return (object)new WaitForSeconds(0.25f);
			confirmStone.Exit();
			yield return (object)new WaitForSeconds(0.75f);
			((Component)stoneCircleAnim).gameObject.SetActive(false);
			pondGameObject.SetActive(false);
			confirmStone.SetStoneInactive();
			Singleton<GameFlowManager>.Instance.TransitionToGameState((GameState)1, (NodeData)null);
		}

		private void OnSlotSelected(MainInputInteractable slot)
		{
			((Behaviour)base.gamepadGrid).enabled = false;
			((InteractableBase)fishBaitSlot).SetEnabled(false);
			((HighlightedInteractable)fishBaitSlot).ShowState((State)1, false, 0.15f);
			confirmStone.Exit();
			((SelectCardFromDeckSlot)((slot is SelectCardFromDeckSlot) ? slot : null)).SelectFromCards(GetValidCards(), (Action)OnSelectionEnded, false);
		}

		private void OnSelectionEnded()
		{
			((Behaviour)base.gamepadGrid).enabled = true;
			((HighlightedInteractable)fishBaitSlot).SetShown(true, false);
			((HighlightedInteractable)fishBaitSlot).ShowState((State)2, false, 0.15f);
			Singleton<ViewManager>.Instance.SwitchToView((View)8, false, true);
			if ((Object)(object)fishBaitSlot.Card != (Object)null)
			{
				confirmStone.Enter();
			}
		}

		private List<CardInfo> GetValidCards()
		{
			return new List<CardInfo>(RunState.DeckList);
		}

		private double transformStringIntoDouble(string stringToTransform)
		{
			switch (stringToTransform)
			{
			case "lucky":
				return 10.0;
			case "unlucky":
				return -10.0;
			case "pi":
				return 3.141592;
			case "I like my pizza with extra sauce.":
				return 450.7534;
			case "What are the nuclear launch codes?":
				return 103551.546423275;
			default:
			{
				double num = 0.0;
				bool flag = false;
				int num2 = 0;
				bool flag2 = false;
				foreach (char c in stringToTransform)
				{
					if (c == '-')
					{
						flag2 = !flag2;
					}
					else if (c == '.')
					{
						flag = true;
					}
					else if (c >= '0' && c <= '9')
					{
						double num3 = c - 48;
						if (flag)
						{
							num2++;
							num += num3 * Math.Pow(10.0, -num2);
						}
						else
						{
							num *= 10.0;
							num += num3;
						}
					}
				}
				if (flag2)
				{
					num *= -1.0;
				}
				return num;
			}
			}
		}

		private string[] splitString(string stringToSplit, char separator)
		{
			List<string> list = new List<string>();
			string text = "";
			for (int i = 0; i < stringToSplit.Length; i++)
			{
				char c = stringToSplit[i];
				if (c == separator)
				{
					string item = text;
					list.Add(item);
					text = "";
				}
				else
				{
					text += c;
				}
			}
			if (text.Length > 0)
			{
				string item2 = text;
				list.Add(item2);
			}
			return list.ToArray();
		}

		private string[] splitString(string stringToSplit, char[] separator)
		{
			List<string> list = new List<string>();
			string text = "";
			for (int i = 0; i < stringToSplit.Length; i++)
			{
				char c = stringToSplit[i];
				bool flag = false;
				foreach (char c2 in separator)
				{
					if (c == c2)
					{
						string item = text;
						list.Add(item);
						text = "";
						flag = true;
					}
				}
				if (!flag)
				{
					text += c;
				}
			}
			if (text.Length > 0)
			{
				string item2 = text;
				list.Add(item2);
			}
			return list.ToArray();
		}

		private void loadCustomPropertyAsDouble(CardInfo baitInfo, string propertyId, ref double propertyValue)
		{
			if (CardManager.GetCardExtensionTable(baitInfo).ContainsKey(propertyId))
			{
				propertyValue = transformStringIntoDouble(CardExtensions.GetExtendedProperty(baitInfo, propertyId));
			}
		}

		private void loadCustomPropertyAsDoubleList(CardInfo baitInfo, string propertyId, ref List<double> propertyValue)
		{
			if (CardManager.GetCardExtensionTable(baitInfo).ContainsKey(propertyId))
			{
				string extendedProperty = CardExtensions.GetExtendedProperty(baitInfo, propertyId);
				string stringToSplit = extendedProperty.Replace("[", "").Replace("]", "").Replace("{", "")
					.Replace("}", "")
					.Replace("(", "")
					.Replace(")", "")
					.Replace(" ", "");
				string[] array = splitString(stringToSplit, ',');
				for (int i = 0; i < array.Count(); i++)
				{
					propertyValue.Add(transformStringIntoDouble(array[i]));
				}
			}
		}

		private void loadCustomPropertyAsCardInfoAndDoubleList(CardInfo baitInfo, string propertyId, ref List<CardInfo> propertyKey, ref List<double> propertyValue)
		{
			if (CardManager.GetCardExtensionTable(baitInfo).ContainsKey(propertyId))
			{
				string extendedProperty = CardExtensions.GetExtendedProperty(baitInfo, propertyId);
				string stringToSplit = extendedProperty.Replace("[", "").Replace("]", "").Replace("{", "")
					.Replace("}", "")
					.Replace("(", "")
					.Replace(")", "")
					.Replace(" ", "")
					.Replace("\"", "")
					.Replace("'", "");
				char[] separator = new char[2] { ':', ',' };
				string[] array = splitString(stringToSplit, separator);
				for (int i = 0; i < array.Count(); i += 2)
				{
					propertyKey.Add(CardLoader.GetCardByName(array[i]));
				}
				for (int j = 1; j < array.Count(); j += 2)
				{
					propertyValue.Add(transformStringIntoDouble(array[j]));
				}
			}
		}

		private void loadCustomPropertyAsBoonAndDoubleList(CardInfo baitInfo, string propertyId, ref List<CardInfo> propertyKey, ref List<double> propertyValue)
		{
			if (!CardManager.GetCardExtensionTable(baitInfo).ContainsKey(propertyId))
			{
				return;
			}
			string extendedProperty = CardExtensions.GetExtendedProperty(baitInfo, propertyId);
			string stringToSplit = extendedProperty.Replace("[", "").Replace("]", "").Replace("{", "")
				.Replace("}", "")
				.Replace("(", "")
				.Replace(")", "")
				.Replace(" ", "")
				.Replace("\"", "")
				.Replace("'", "");
			char[] separator = new char[2] { ':', ',' };
			string[] array = splitString(stringToSplit, separator);
			for (int i = 0; i < array.Count(); i += 2)
			{
				foreach (BoonData item in BoonManager.AllBoonsCopy)
				{
					if (((Object)item).name == array[i])
					{
						propertyKey.Add(BoonsUtil.CreateCardForBoon(item));
					}
				}
			}
			for (int j = 1; j < array.Count(); j += 2)
			{
				propertyValue.Add(transformStringIntoDouble(array[j]));
			}
		}

		private FishingResults OnBaitTransformIntoFish(CardInfo baitInfo)
		{
			//IL_0799: Unknown result type (might be due to invalid IL or missing references)
			//IL_07bb: Unknown result type (might be due to invalid IL or missing references)
			//IL_07dd: Unknown result type (might be due to invalid IL or missing references)
			//IL_07ff: Unknown result type (might be due to invalid IL or missing references)
			//IL_0820: Unknown result type (might be due to invalid IL or missing references)
			//IL_0841: Unknown result type (might be due to invalid IL or missing references)
			//IL_0867: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f60: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f82: Unknown result type (might be due to invalid IL or missing references)
			//IL_0fa4: Unknown result type (might be due to invalid IL or missing references)
			//IL_0fc6: Unknown result type (might be due to invalid IL or missing references)
			//IL_0fe7: Unknown result type (might be due to invalid IL or missing references)
			//IL_1008: Unknown result type (might be due to invalid IL or missing references)
			//IL_102e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b1d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b3f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b61: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b83: Unknown result type (might be due to invalid IL or missing references)
			//IL_0ba4: Unknown result type (might be due to invalid IL or missing references)
			//IL_0bc5: Unknown result type (might be due to invalid IL or missing references)
			//IL_0beb: Unknown result type (might be due to invalid IL or missing references)
			FishingResults fishingResults = new FishingResults();
			fishingResults.catchedFish = new List<SelectableCard>();
			fishingResults.foundCardLoots = new List<SelectableCard>();
			fishingResults.foundBoonLoots = new List<SelectableCard>();
			fishingResults.rescuedCreature = new List<SelectableCard>();
			double propertyValue = 0.0;
			loadCustomPropertyAsDouble(baitInfo, NewProperties.baitLossProbability, ref propertyValue);
			double propertyValue2 = 0.0;
			loadCustomPropertyAsDouble(baitInfo, NewProperties.baitDerivationProbability, ref propertyValue2);
			double propertyValue3 = 0.0;
			loadCustomPropertyAsDouble(baitInfo, NewProperties.baitCatchFishProbability, ref propertyValue3);
			double propertyValue4 = 0.0;
			loadCustomPropertyAsDouble(baitInfo, NewProperties.baitCatchFishGlobalLuck, ref propertyValue4);
			List<double> propertyValue5 = new List<double>();
			loadCustomPropertyAsDoubleList(baitInfo, NewProperties.baitCatchBonusFishProbabilities, ref propertyValue5);
			double propertyValue6 = 1.0;
			loadCustomPropertyAsDouble(baitInfo, NewProperties.baitCatchTinyFishProbabilityWeight, ref propertyValue6);
			double propertyValue7 = 0.0;
			loadCustomPropertyAsDouble(baitInfo, NewProperties.baitCatchTinyFishLuck, ref propertyValue7);
			double propertyValue8 = 1.0;
			loadCustomPropertyAsDouble(baitInfo, NewProperties.baitCatchSmallFishProbabilityWeight, ref propertyValue8);
			double propertyValue9 = 0.0;
			loadCustomPropertyAsDouble(baitInfo, NewProperties.baitCatchSmallFishLuck, ref propertyValue9);
			double propertyValue10 = 1.0;
			loadCustomPropertyAsDouble(baitInfo, NewProperties.baitCatchMediumFishProbabilityWeight, ref propertyValue10);
			double propertyValue11 = 0.0;
			loadCustomPropertyAsDouble(baitInfo, NewProperties.baitCatchMediumFishLuck, ref propertyValue11);
			double propertyValue12 = 1.0;
			loadCustomPropertyAsDouble(baitInfo, NewProperties.baitCatchBigFishProbabilityWeight, ref propertyValue12);
			double propertyValue13 = 0.0;
			loadCustomPropertyAsDouble(baitInfo, NewProperties.baitCatchBigFishLuck, ref propertyValue13);
			double propertyValue14 = 1.0;
			loadCustomPropertyAsDouble(baitInfo, NewProperties.baitCatchHugeFishProbabilityWeight, ref propertyValue14);
			double propertyValue15 = 0.0;
			loadCustomPropertyAsDouble(baitInfo, NewProperties.baitCatchHugeFishLuck, ref propertyValue15);
			List<CardInfo> propertyKey = new List<CardInfo>();
			List<double> propertyValue16 = new List<double>();
			loadCustomPropertyAsCardInfoAndDoubleList(baitInfo, NewProperties.baitCatchCustomFishProbabilityWeights, ref propertyKey, ref propertyValue16);
			double propertyValue17 = 0.0;
			loadCustomPropertyAsDouble(baitInfo, NewProperties.baitFindLootProbability, ref propertyValue17);
			double propertyValue18 = 0.0;
			loadCustomPropertyAsDouble(baitInfo, NewProperties.baitFindLootGlobalLuck, ref propertyValue18);
			List<double> propertyValue19 = new List<double>();
			loadCustomPropertyAsDoubleList(baitInfo, NewProperties.baitFindBonusLootsProbabilities, ref propertyValue19);
			double propertyValue20 = 1.0;
			loadCustomPropertyAsDouble(baitInfo, NewProperties.baitFindCardLootProbabilityWeight, ref propertyValue20);
			double propertyValue21 = 0.0;
			loadCustomPropertyAsDouble(baitInfo, NewProperties.baitFindCardLootLuck, ref propertyValue21);
			double propertyValue22 = 1.0;
			loadCustomPropertyAsDouble(baitInfo, NewProperties.baitFindBoonLootProbabilityWeight, ref propertyValue22);
			double propertyValue23 = 0.0;
			loadCustomPropertyAsDouble(baitInfo, NewProperties.baitFindBoonLootLuck, ref propertyValue23);
			List<CardInfo> propertyKey2 = new List<CardInfo>();
			List<double> propertyValue24 = new List<double>();
			loadCustomPropertyAsCardInfoAndDoubleList(baitInfo, NewProperties.baitFindCustomCardLootsProbabilityWeights, ref propertyKey2, ref propertyValue24);
			List<CardInfo> propertyKey3 = new List<CardInfo>();
			List<double> propertyValue25 = new List<double>();
			loadCustomPropertyAsBoonAndDoubleList(baitInfo, NewProperties.baitFindCustomBoonLootsProbabilityWeights, ref propertyKey3, ref propertyValue25);
			double propertyValue26 = 0.0;
			loadCustomPropertyAsDouble(baitInfo, NewProperties.baitRescueCreatureProbability, ref propertyValue26);
			double propertyValue27 = 0.0;
			loadCustomPropertyAsDouble(baitInfo, NewProperties.baitRescueCreatureGlobalLuck, ref propertyValue27);
			List<double> propertyValue28 = new List<double>();
			loadCustomPropertyAsDoubleList(baitInfo, NewProperties.baitRescueBonusCreaturesProbabilities, ref propertyValue28);
			double propertyValue29 = 1.0;
			loadCustomPropertyAsDouble(baitInfo, NewProperties.baitRescueTinyCreatureProbabilityWeight, ref propertyValue29);
			double propertyValue30 = 0.0;
			loadCustomPropertyAsDouble(baitInfo, NewProperties.baitRescueTinyCreatureLuck, ref propertyValue30);
			double propertyValue31 = 1.0;
			loadCustomPropertyAsDouble(baitInfo, NewProperties.baitRescueSmallCreatureProbabilityWeight, ref propertyValue31);
			double propertyValue32 = 0.0;
			loadCustomPropertyAsDouble(baitInfo, NewProperties.baitRescueSmallCreatureLuck, ref propertyValue32);
			double propertyValue33 = 1.0;
			loadCustomPropertyAsDouble(baitInfo, NewProperties.baitRescueMediumCreatureProbabilityWeight, ref propertyValue33);
			double propertyValue34 = 0.0;
			loadCustomPropertyAsDouble(baitInfo, NewProperties.baitRescueMediumCreatureLuck, ref propertyValue34);
			double propertyValue35 = 1.0;
			loadCustomPropertyAsDouble(baitInfo, NewProperties.baitRescueBigCreatureProbabilityWeight, ref propertyValue35);
			double propertyValue36 = 0.0;
			loadCustomPropertyAsDouble(baitInfo, NewProperties.baitRescueBigCreatureLuck, ref propertyValue36);
			double propertyValue37 = 1.0;
			loadCustomPropertyAsDouble(baitInfo, NewProperties.baitRescueHugeCreatureProbabilityWeight, ref propertyValue37);
			double propertyValue38 = 0.0;
			loadCustomPropertyAsDouble(baitInfo, NewProperties.baitRescueHugeCreatureLuck, ref propertyValue38);
			List<CardInfo> propertyKey4 = new List<CardInfo>();
			List<double> propertyValue39 = new List<double>();
			loadCustomPropertyAsCardInfoAndDoubleList(baitInfo, NewProperties.baitRescueCustomCreaturesProbabilityWeights, ref propertyKey4, ref propertyValue39);
			if (RNG.getRandomBool_FromFraction(propertyValue, 1.0, 0.0))
			{
				fishingResults.lostBait = true;
			}
			else
			{
				if (RNG.getRandomBool_FromFraction(propertyValue2, 1.0, 0.0))
				{
					fishingResults.lostBait = true;
				}
				else if (RNG.getRandomBool_FromFraction(propertyValue3, 1.0, 0.0))
				{
					string[] array = new string[5] { "tiny", "small", "medium", "big", "huge" };
					double[] array2 = new double[5] { propertyValue6, propertyValue8, propertyValue10, propertyValue12, propertyValue14 };
					int num = -1;
					do
					{
						string text = "";
						List<CardInfo> list = new List<CardInfo>();
						List<double> list2 = new List<double>();
						if (array2[0] + array2[1] + array2[2] + array2[3] + array2[4] > 0.0)
						{
							text = RNG.getRandomThings_FromArray<string>(array, array2, 0.0);
							string propertyId = "GeckVolantMarin.AnglerFishingNode.NewProperties." + text + "FishCatchProbabilityWeights";
							foreach (CardInfo item in CardManager.AllCardsCopy)
							{
								double propertyValue40 = 0.0;
								loadCustomPropertyAsDouble(item, propertyId, ref propertyValue40);
								if (propertyValue40 > 0.0)
								{
									list.Add(item);
									list2.Add(propertyValue40);
								}
							}
						}
						for (int i = 0; i < propertyKey.Count(); i++)
						{
							list.Add(propertyKey[i]);
							list2.Add(propertyValue16[i]);
						}
						double num2 = propertyValue4;
						if (array2[0] + array2[1] + array2[2] + array2[3] + array2[4] > 0.0)
						{
							switch (text)
							{
							case "tiny":
								num2 += propertyValue7;
								break;
							case "small":
								num2 += propertyValue9;
								break;
							case "medium":
								num2 += propertyValue11;
								break;
							case "big":
								num2 += propertyValue13;
								break;
							case "huge":
								num2 += propertyValue15;
								break;
							}
						}
						CardInfo randomThings_FromArray = RNG.getRandomThings_FromArray<CardInfo>(list.ToArray(), list2.ToArray(), num2);
						if (num == -1)
						{
							((Card)fishBaitSlot.Card).SetInfo(randomThings_FromArray);
							fishingResults.catchedFish.Add(fishBaitSlot.Card);
						}
						else
						{
							GameObject val = Object.Instantiate<GameObject>(ResourceBank.Get<GameObject>("Prefabs/SpecialNodeSequences/CardRemoveSequencer"), ((Component)Singleton<SpecialNodeHandler>.Instance).transform);
							CardRemoveSequencer component = val.GetComponent<CardRemoveSequencer>();
							SelectableCard val2 = ((CardChoicesSequencer)component).SpawnCard(pondGameObject.transform);
							((Card)val2).SetInfo(randomThings_FromArray);
							((Component)val2).gameObject.SetActive(true);
							((InteractableBase)val2).SetEnabled(true);
							((Component)val2).gameObject.transform.position = cardHolder.transform.position;
							((Component)val2).gameObject.transform.localPosition = cardHolder.transform.localPosition;
							((Component)val2).gameObject.transform.rotation = cardHolder.transform.rotation;
							((Component)val2).gameObject.transform.localRotation = cardHolder.transform.localRotation;
							((Component)val2).transform.position = new Vector3(0.26f, 6.2218f, 1.2109f);
							((Component)val2).transform.localRotation = Quaternion.Euler(289.5936f, 0f, 0f);
							((Component)val2).gameObject.transform.Translate(new Vector3(0f, -4.2f, 0.1f));
							Object.Destroy((Object)(object)component);
							Object.Destroy((Object)(object)val);
							fishingResults.catchedFish.Add(val2);
						}
						num++;
					}
					while (num < propertyValue5.Count() && RNG.getRandomBool_FromFraction(propertyValue5[num], 1.0, 0.0));
				}
				if (RNG.getRandomBool_FromFraction(propertyValue17, 1.0, 0.0))
				{
					string[] array3 = new string[2] { "Card", "Boon" };
					double[] array4 = new double[2] { propertyValue20, propertyValue22 };
					int num3 = -1;
					do
					{
						string text2 = "";
						string text3 = "";
						List<CardInfo> list3 = new List<CardInfo>();
						List<double> list4 = new List<double>();
						text2 = RNG.getRandomThings_FromArray<string>(array3, array4, 0.0);
						text3 = "GeckVolantMarin.AnglerFishingNode.NewProperties.loot" + text2 + "FoundProbabilityWeights";
						foreach (CardInfo item2 in CardManager.AllCardsCopy)
						{
							double propertyValue41 = 0.0;
							loadCustomPropertyAsDouble(item2, text3, ref propertyValue41);
							if (propertyValue41 > 0.0)
							{
								list3.Add(item2);
								list4.Add(propertyValue41);
							}
						}
						double num4 = propertyValue18;
						if (text2 == "Card")
						{
							for (int j = 0; j < propertyKey2.Count(); j++)
							{
								list3.Add(propertyKey2[j]);
								list4.Add(propertyValue24[j]);
							}
							num4 += propertyValue21;
						}
						else if (text2 == "Boon")
						{
							for (int k = 0; k < propertyKey3.Count(); k++)
							{
								list3.Add(propertyKey3[k]);
								list4.Add(propertyValue25[k]);
							}
							num4 += propertyValue23;
						}
						CardInfo randomThings_FromArray2 = RNG.getRandomThings_FromArray<CardInfo>(list3.ToArray(), list4.ToArray(), num4);
						GameObject val3 = Object.Instantiate<GameObject>(ResourceBank.Get<GameObject>("Prefabs/SpecialNodeSequences/CardRemoveSequencer"), ((Component)Singleton<SpecialNodeHandler>.Instance).transform);
						CardRemoveSequencer component2 = val3.GetComponent<CardRemoveSequencer>();
						SelectableCard val4 = ((CardChoicesSequencer)component2).SpawnCard(pondGameObject.transform);
						((Card)val4).SetInfo(randomThings_FromArray2);
						((Component)val4).gameObject.SetActive(true);
						((InteractableBase)val4).SetEnabled(true);
						((Component)val4).gameObject.transform.position = cardHolder.transform.position;
						((Component)val4).gameObject.transform.localPosition = cardHolder.transform.localPosition;
						((Component)val4).gameObject.transform.rotation = cardHolder.transform.rotation;
						((Component)val4).gameObject.transform.localRotation = cardHolder.transform.localRotation;
						((Component)val4).transform.position = new Vector3(0.26f, 6.2218f, 1.2109f);
						((Component)val4).transform.localRotation = Quaternion.Euler(289.5936f, 0f, 0f);
						((Component)val4).gameObject.transform.Translate(new Vector3(0f, -4.2f, 0.1f));
						Object.Destroy((Object)(object)component2);
						Object.Destroy((Object)(object)val3);
						if (text2 == "Card")
						{
							fishingResults.foundCardLoots.Add(val4);
						}
						else if (text2 == "Boon")
						{
							fishingResults.foundBoonLoots.Add(val4);
						}
						num3++;
					}
					while (num3 < propertyValue5.Count() && RNG.getRandomBool_FromFraction(propertyValue5[num3], 1.0, 0.0));
				}
				if (RNG.getRandomBool_FromFraction(propertyValue26, 1.0, 0.0))
				{
					string[] array5 = new string[5] { "tiny", "small", "medium", "big", "huge" };
					double[] array6 = new double[5] { propertyValue29, propertyValue31, propertyValue33, propertyValue35, propertyValue37 };
					int num5 = -1;
					do
					{
						string text4 = "";
						List<CardInfo> list5 = new List<CardInfo>();
						List<double> list6 = new List<double>();
						if (array6[0] + array6[1] + array6[2] + array6[3] + array6[4] > 0.0)
						{
							text4 = RNG.getRandomThings_FromArray<string>(array5, array6, 0.0);
							string propertyId2 = "GeckVolantMarin.AnglerFishingNode.NewProperties." + text4 + "CreatureRescueProbabilityWeights";
							foreach (CardInfo item3 in CardManager.AllCardsCopy)
							{
								double propertyValue42 = 0.0;
								loadCustomPropertyAsDouble(item3, propertyId2, ref propertyValue42);
								if (propertyValue42 > 0.0)
								{
									list5.Add(item3);
									list6.Add(propertyValue42);
								}
							}
						}
						for (int l = 0; l < propertyKey4.Count(); l++)
						{
							list5.Add(propertyKey4[l]);
							list6.Add(propertyValue39[l]);
						}
						double num6 = propertyValue4;
						if (array6[0] + array6[1] + array6[2] + array6[3] + array6[4] > 0.0)
						{
							switch (text4)
							{
							case "tiny":
								num6 += propertyValue30;
								break;
							case "small":
								num6 += propertyValue32;
								break;
							case "medium":
								num6 += propertyValue34;
								break;
							case "big":
								num6 += propertyValue36;
								break;
							case "huge":
								num6 += propertyValue38;
								break;
							}
						}
						CardInfo randomThings_FromArray3 = RNG.getRandomThings_FromArray<CardInfo>(list5.ToArray(), list6.ToArray(), num6);
						GameObject val5 = Object.Instantiate<GameObject>(ResourceBank.Get<GameObject>("Prefabs/SpecialNodeSequences/CardRemoveSequencer"), ((Component)Singleton<SpecialNodeHandler>.Instance).transform);
						CardRemoveSequencer component3 = val5.GetComponent<CardRemoveSequencer>();
						SelectableCard val6 = ((CardChoicesSequencer)component3).SpawnCard(pondGameObject.transform);
						((Card)val6).SetInfo(randomThings_FromArray3);
						((Component)val6).gameObject.SetActive(true);
						((InteractableBase)val6).SetEnabled(true);
						((Component)val6).gameObject.transform.position = cardHolder.transform.position;
						((Component)val6).gameObject.transform.localPosition = cardHolder.transform.localPosition;
						((Component)val6).gameObject.transform.rotation = cardHolder.transform.rotation;
						((Component)val6).gameObject.transform.localRotation = cardHolder.transform.localRotation;
						((Component)val6).transform.position = new Vector3(0.26f, 6.2218f, 1.2109f);
						((Component)val6).transform.localRotation = Quaternion.Euler(289.5936f, 0f, 0f);
						((Component)val6).gameObject.transform.Translate(new Vector3(0f, -4.2f, 0.1f));
						Object.Destroy((Object)(object)component3);
						Object.Destroy((Object)(object)val5);
						fishingResults.rescuedCreature.Add(val6);
						num5++;
					}
					while (num5 < propertyValue28.Count() && RNG.getRandomBool_FromFraction(propertyValue28[num5], 1.0, 0.0));
				}
			}
			return fishingResults;
		}

		private IEnumerator OnRevealFish(FishingResults fishResults, CardInfo baitInfo)
		{
			if (fishResults.lostBait)
			{
				string baitLossDialogueMessage;
				if (fishResults.foundBoonLoots.Count > 0 || fishResults.foundCardLoots.Count > 0 || fishResults.rescuedCreature.Count > 0)
				{
					if (CardManager.GetCardExtensionTable(baitInfo).TryGetValue(NewProperties.baitDerivationDialogueMessage, out var baitDerivationDialogueMessage))
					{
						yield return Singleton<TextDisplayer>.Instance.ShowUntilInput(baitDerivationDialogueMessage, -0.65f, 0.4f, (Emotion)0, (LetterAnimation)1, (Speaker)0, (string[])null, true);
					}
					else
					{
						yield return Singleton<TextDisplayer>.Instance.ShowUntilInput(baitInfo.displayedName + " swam away... but left gift.", -0.65f, 0.4f, (Emotion)5, (LetterAnimation)1, (Speaker)0, (string[])null, true);
					}
					foreach (SelectableCard card4 in fishResults.rescuedCreature)
					{
						((Card)card4).Anim.PlayQuickRiffleSound();
						if (CardManager.GetCardExtensionTable(((Card)card4).Info).TryGetValue(NewProperties.creatureRescueExamineDialogue, out var creatureRescueExamineDialogue2))
						{
							yield return ((CardChoicesSequencer)this).ExamineCardWithDialogue(card4, creatureRescueExamineDialogue2);
						}
						else
						{
							yield return ((CardChoicesSequencer)this).ExamineCardWithDialogue(card4, "It rescued a " + ((Card)card4).Info.displayedName + ": " + ((Card)card4).Info.description);
						}
						((CardCollectionInfo)RunState.Run.playerDeck).AddCard(((Card)card4).Info);
						Object.Destroy((Object)(object)card4);
						creatureRescueExamineDialogue2 = null;
					}
					foreach (SelectableCard card3 in fishResults.foundCardLoots)
					{
						((Card)card3).Anim.PlayQuickRiffleSound();
						if (CardManager.GetCardExtensionTable(((Card)card3).Info).TryGetValue(NewProperties.lootFoundExamineDialogue, out var lootFoundExamineDialogue4))
						{
							yield return ((CardChoicesSequencer)this).ExamineCardWithDialogue(card3, lootFoundExamineDialogue4);
						}
						else
						{
							yield return ((CardChoicesSequencer)this).ExamineCardWithDialogue(card3, "It found you a " + ((Card)card3).Info.displayedName + ": " + ((Card)card3).Info.description);
						}
						((CardCollectionInfo)RunState.Run.playerDeck).AddCard(((Card)card3).Info);
						Object.Destroy((Object)(object)card3);
						lootFoundExamineDialogue4 = null;
					}
					foreach (SelectableCard card2 in fishResults.foundBoonLoots)
					{
						((Card)card2).Anim.PlayQuickRiffleSound();
						if (CardManager.GetCardExtensionTable(((Card)card2).Info).TryGetValue(NewProperties.lootFoundExamineDialogue, out var lootFoundExamineDialogue3))
						{
							yield return ((CardChoicesSequencer)this).ExamineCardWithDialogue(card2, lootFoundExamineDialogue3);
						}
						else
						{
							yield return ((CardChoicesSequencer)this).ExamineCardWithDialogue(card2, "It found you a " + BoonManager.GetFullBoon(((Card)card2).Info.boon).boon.displayedName + ": " + BoonManager.GetFullBoon(((Card)card2).Info.boon).boon.description);
						}
						RunState.Run.playerDeck.AddBoon(((Card)card2).Info.boon);
						Object.Destroy((Object)(object)card2);
						lootFoundExamineDialogue3 = null;
					}
				}
				else if (CardManager.GetCardExtensionTable(baitInfo).TryGetValue(NewProperties.baitLossDialogueMessage, out baitLossDialogueMessage))
				{
					yield return Singleton<TextDisplayer>.Instance.ShowUntilInput(baitLossDialogueMessage, -0.65f, 0.4f, (Emotion)0, (LetterAnimation)1, (Speaker)0, (string[])null, true);
				}
				else
				{
					yield return Singleton<TextDisplayer>.Instance.ShowUntilInput("Lost bait... No fish...", -0.65f, 0.4f, (Emotion)2, (LetterAnimation)1, (Speaker)0, (string[])null, true);
				}
				yield break;
			}
			string baitCatchMoreThen1DialogueMessage;
			if (fishResults.catchedFish.Count == 0)
			{
				string baitRescueMoreThen1DialogueMessage;
				if (fishResults.rescuedCreature.Count == 0)
				{
					string baitLootMoreThen1DialogueMessage;
					if (fishResults.foundBoonLoots.Count + fishResults.foundCardLoots.Count == 0)
					{
						if (CardManager.GetCardExtensionTable(baitInfo).TryGetValue(NewProperties.baitCatch0Loot0Rescue0DialogueMessage, out var baitCatch0Loot0Rescue0DialogueMessage))
						{
							yield return Singleton<TextDisplayer>.Instance.ShowUntilInput(baitCatch0Loot0Rescue0DialogueMessage, -0.65f, 0.4f, (Emotion)0, (LetterAnimation)1, (Speaker)0, (string[])null, true);
						}
						else
						{
							yield return Singleton<TextDisplayer>.Instance.ShowUntilInput("No fish...", -0.65f, 0.4f, (Emotion)3, (LetterAnimation)1, (Speaker)0, (string[])null, true);
						}
					}
					else if (fishResults.foundBoonLoots.Count + fishResults.foundCardLoots.Count == 1)
					{
						if (CardManager.GetCardExtensionTable(baitInfo).TryGetValue(NewProperties.baitLoot1DialogueMessage, out var baitLoot1DialogueMessage))
						{
							yield return Singleton<TextDisplayer>.Instance.ShowUntilInput(baitLoot1DialogueMessage, -0.65f, 0.4f, (Emotion)0, (LetterAnimation)1, (Speaker)0, (string[])null, true);
						}
						else
						{
							yield return Singleton<TextDisplayer>.Instance.ShowUntilInput("No fish... but bait found something.", -0.65f, 0.4f, (Emotion)5, (LetterAnimation)1, (Speaker)0, (string[])null, true);
						}
					}
					else if (CardManager.GetCardExtensionTable(baitInfo).TryGetValue(NewProperties.baitLootMoreThen1DialogueMessage, out baitLootMoreThen1DialogueMessage))
					{
						yield return Singleton<TextDisplayer>.Instance.ShowUntilInput(baitLootMoreThen1DialogueMessage, -0.65f, 0.4f, (Emotion)0, (LetterAnimation)1, (Speaker)0, (string[])null, true);
					}
					else
					{
						yield return Singleton<TextDisplayer>.Instance.ShowUntilInput("No fish... but bait found many things.", -0.65f, 0.4f, (Emotion)4, (LetterAnimation)1, (Speaker)0, (string[])null, true);
					}
				}
				else if (fishResults.rescuedCreature.Count == 1)
				{
					if (CardManager.GetCardExtensionTable(baitInfo).TryGetValue(NewProperties.baitRescue1DialogueMessage, out var baitRescue1DialogueMessage))
					{
						yield return Singleton<TextDisplayer>.Instance.ShowUntilInput(baitRescue1DialogueMessage, -0.65f, 0.4f, (Emotion)0, (LetterAnimation)1, (Speaker)0, (string[])null, true);
					}
					else
					{
						yield return Singleton<TextDisplayer>.Instance.ShowUntilInput("No fish... but bait rescued creature.", -0.65f, 0.4f, (Emotion)4, (LetterAnimation)1, (Speaker)0, (string[])null, true);
					}
				}
				else if (CardManager.GetCardExtensionTable(baitInfo).TryGetValue(NewProperties.baitRescueMoreThen1DialogueMessage, out baitRescueMoreThen1DialogueMessage))
				{
					yield return Singleton<TextDisplayer>.Instance.ShowUntilInput(baitRescueMoreThen1DialogueMessage, -0.65f, 0.4f, (Emotion)0, (LetterAnimation)1, (Speaker)0, (string[])null, true);
				}
				else
				{
					yield return Singleton<TextDisplayer>.Instance.ShowUntilInput("Bait rescued many creatures.", -0.65f, 0.4f, (Emotion)4, (LetterAnimation)1, (Speaker)0, (string[])null, true);
				}
			}
			else if (fishResults.catchedFish.Count == 1)
			{
				if (CardManager.GetCardExtensionTable(baitInfo).TryGetValue(NewProperties.baitCatch1DialogueMessage, out var baitCatch1DialogueMessage))
				{
					yield return Singleton<TextDisplayer>.Instance.ShowUntilInput(baitCatch1DialogueMessage, -0.65f, 0.4f, (Emotion)0, (LetterAnimation)1, (Speaker)0, (string[])null, true);
				}
				else
				{
					yield return Singleton<TextDisplayer>.Instance.ShowUntilInput("Got fish.", -0.65f, 0.4f, (Emotion)5, (LetterAnimation)1, (Speaker)0, (string[])null, true);
				}
			}
			else if (CardManager.GetCardExtensionTable(baitInfo).TryGetValue(NewProperties.baitCatchMoreThen1DialogueMessage, out baitCatchMoreThen1DialogueMessage))
			{
				yield return Singleton<TextDisplayer>.Instance.ShowUntilInput(baitCatchMoreThen1DialogueMessage, -0.65f, 0.4f, (Emotion)0, (LetterAnimation)1, (Speaker)0, (string[])null, true);
			}
			else
			{
				yield return Singleton<TextDisplayer>.Instance.ShowUntilInput("Lucky you! Got many fish.", -0.65f, 0.4f, (Emotion)4, (LetterAnimation)1, (Speaker)0, (string[])null, true);
			}
			if (fishResults.catchedFish.Count > 0)
			{
				foreach (SelectableCard fish in fishResults.catchedFish)
				{
					((Card)fish).Anim.PlayQuickRiffleSound();
					if (CardManager.GetCardExtensionTable(((Card)fish).Info).TryGetValue(NewProperties.fishCatchedExamineDialogue, out var fishCatchedExamineDialogue))
					{
						yield return ((CardChoicesSequencer)this).ExamineCardWithDialogue(fish, fishCatchedExamineDialogue);
					}
					else
					{
						yield return ((CardChoicesSequencer)this).ExamineCardWithDialogue(fish, "Catched " + ((Card)fish).Info.displayedName + ": " + ((Card)fish).Info.description);
					}
					((CardCollectionInfo)RunState.Run.playerDeck).AddCard(((Card)fish).Info);
					((InteractableBase)fish).SetEnabled(false);
					((Component)fish).gameObject.SetActive(false);
					Object.Destroy((Object)(object)fish);
					fishCatchedExamineDialogue = null;
				}
				string baitAlsoRescueMoreThen1DialogueMessage;
				if (fishResults.rescuedCreature.Count == 0)
				{
					if (fishResults.foundBoonLoots.Count + fishResults.foundCardLoots.Count != 0)
					{
						string baitAlsoLootMoreThen1DialogueMessage2;
						if (fishResults.foundBoonLoots.Count + fishResults.foundCardLoots.Count == 1)
						{
							if (CardManager.GetCardExtensionTable(baitInfo).TryGetValue(NewProperties.baitAlsoLoot1DialogueMessage, out var baitAlsoLoot1DialogueMessage2))
							{
								yield return Singleton<TextDisplayer>.Instance.ShowUntilInput(baitAlsoLoot1DialogueMessage2, -0.65f, 0.4f, (Emotion)0, (LetterAnimation)1, (Speaker)0, (string[])null, true);
							}
							else
							{
								yield return Singleton<TextDisplayer>.Instance.ShowUntilInput("Also, bait found something.", -0.65f, 0.4f, (Emotion)5, (LetterAnimation)1, (Speaker)0, (string[])null, true);
							}
						}
						else if (CardManager.GetCardExtensionTable(baitInfo).TryGetValue(NewProperties.baitAlsoLootMoreThen1DialogueMessage, out baitAlsoLootMoreThen1DialogueMessage2))
						{
							yield return Singleton<TextDisplayer>.Instance.ShowUntilInput(baitAlsoLootMoreThen1DialogueMessage2, -0.65f, 0.4f, (Emotion)0, (LetterAnimation)1, (Speaker)0, (string[])null, true);
						}
						else
						{
							yield return Singleton<TextDisplayer>.Instance.ShowUntilInput("Also, bait found many things.", -0.65f, 0.4f, (Emotion)4, (LetterAnimation)1, (Speaker)0, (string[])null, true);
						}
					}
				}
				else if (fishResults.rescuedCreature.Count == 1)
				{
					if (CardManager.GetCardExtensionTable(baitInfo).TryGetValue(NewProperties.baitAlsoRescue1DialogueMessage, out var baitAlsoRescue1DialogueMessage))
					{
						yield return Singleton<TextDisplayer>.Instance.ShowUntilInput(baitAlsoRescue1DialogueMessage, -0.65f, 0.4f, (Emotion)0, (LetterAnimation)1, (Speaker)0, (string[])null, true);
					}
					else
					{
						yield return Singleton<TextDisplayer>.Instance.ShowUntilInput("No fish... but bait rescued creature.", -0.65f, 0.4f, (Emotion)4, (LetterAnimation)1, (Speaker)0, (string[])null, true);
					}
				}
				else if (CardManager.GetCardExtensionTable(baitInfo).TryGetValue(NewProperties.baitAlsoRescueMoreThen1DialogueMessage, out baitAlsoRescueMoreThen1DialogueMessage))
				{
					yield return Singleton<TextDisplayer>.Instance.ShowUntilInput(baitAlsoRescueMoreThen1DialogueMessage, -0.65f, 0.4f, (Emotion)0, (LetterAnimation)1, (Speaker)0, (string[])null, true);
				}
				else
				{
					yield return Singleton<TextDisplayer>.Instance.ShowUntilInput("Bait rescued many creatures.", -0.65f, 0.4f, (Emotion)4, (LetterAnimation)1, (Speaker)0, (string[])null, true);
				}
			}
			if (fishResults.rescuedCreature.Count > 0)
			{
				foreach (SelectableCard rescue in fishResults.rescuedCreature)
				{
					((Card)rescue).Anim.PlayQuickRiffleSound();
					if (CardManager.GetCardExtensionTable(((Card)rescue).Info).TryGetValue(NewProperties.creatureRescueExamineDialogue, out var creatureRescueExamineDialogue))
					{
						yield return ((CardChoicesSequencer)this).ExamineCardWithDialogue(rescue, creatureRescueExamineDialogue);
					}
					else
					{
						yield return ((CardChoicesSequencer)this).ExamineCardWithDialogue(rescue, ((Card)rescue).Info.displayedName + " was rescued: " + ((Card)rescue).Info.description);
					}
					((CardCollectionInfo)RunState.Run.playerDeck).AddCard(((Card)rescue).Info);
					((InteractableBase)rescue).SetEnabled(false);
					((Component)rescue).gameObject.SetActive(false);
					Object.Destroy((Object)(object)rescue);
					creatureRescueExamineDialogue = null;
				}
				if (fishResults.foundBoonLoots.Count + fishResults.foundCardLoots.Count != 0)
				{
					string baitAlsoLootMoreThen1DialogueMessage;
					if (fishResults.foundBoonLoots.Count + fishResults.foundCardLoots.Count == 1)
					{
						if (CardManager.GetCardExtensionTable(baitInfo).TryGetValue(NewProperties.baitAlsoLoot1DialogueMessage, out var baitAlsoLoot1DialogueMessage))
						{
							yield return Singleton<TextDisplayer>.Instance.ShowUntilInput(baitAlsoLoot1DialogueMessage, -0.65f, 0.4f, (Emotion)0, (LetterAnimation)1, (Speaker)0, (string[])null, true);
						}
						else
						{
							yield return Singleton<TextDisplayer>.Instance.ShowUntilInput("Also, bait found something.", -0.65f, 0.4f, (Emotion)5, (LetterAnimation)1, (Speaker)0, (string[])null, true);
						}
					}
					else if (CardManager.GetCardExtensionTable(baitInfo).TryGetValue(NewProperties.baitAlsoLootMoreThen1DialogueMessage, out baitAlsoLootMoreThen1DialogueMessage))
					{
						yield return Singleton<TextDisplayer>.Instance.ShowUntilInput(baitAlsoLootMoreThen1DialogueMessage, -0.65f, 0.4f, (Emotion)0, (LetterAnimation)1, (Speaker)0, (string[])null, true);
					}
					else
					{
						yield return Singleton<TextDisplayer>.Instance.ShowUntilInput("Also, bait found many things.", -0.65f, 0.4f, (Emotion)4, (LetterAnimation)1, (Speaker)0, (string[])null, true);
					}
				}
			}
			if (fishResults.foundBoonLoots.Count + fishResults.foundCardLoots.Count > 0)
			{
				foreach (SelectableCard card in fishResults.foundCardLoots)
				{
					((Card)card).Anim.PlayQuickRiffleSound();
					if (CardManager.GetCardExtensionTable(((Card)card).Info).TryGetValue(NewProperties.lootFoundExamineDialogue, out var lootFoundExamineDialogue2))
					{
						yield return ((CardChoicesSequencer)this).ExamineCardWithDialogue(card, lootFoundExamineDialogue2);
					}
					else
					{
						yield return ((CardChoicesSequencer)this).ExamineCardWithDialogue(card, "Bait found " + ((Card)card).Info.displayedName + ": " + ((Card)card).Info.description);
					}
					((CardCollectionInfo)RunState.Run.playerDeck).AddCard(((Card)card).Info);
					((InteractableBase)card).SetEnabled(false);
					((Component)card).gameObject.SetActive(false);
					Object.Destroy((Object)(object)card);
					lootFoundExamineDialogue2 = null;
				}
				foreach (SelectableCard boon in fishResults.foundBoonLoots)
				{
					((Card)boon).Anim.PlayQuickRiffleSound();
					if (CardManager.GetCardExtensionTable(((Card)boon).Info).TryGetValue(NewProperties.lootFoundExamineDialogue, out var lootFoundExamineDialogue))
					{
						yield return ((CardChoicesSequencer)this).ExamineCardWithDialogue(boon, lootFoundExamineDialogue);
					}
					else
					{
						yield return ((CardChoicesSequencer)this).ExamineCardWithDialogue(boon, "Bait found " + BoonManager.GetFullBoon(((Card)boon).Info.boon).boon.displayedName + ": " + BoonManager.GetFullBoon(((Card)boon).Info.boon).boon.description);
					}
					RunState.Run.playerDeck.AddBoon(((Card)boon).Info.boon);
					((InteractableBase)boon).SetEnabled(false);
					((Component)boon).gameObject.SetActive(false);
					Object.Destroy((Object)(object)boon);
					lootFoundExamineDialogue = null;
				}
			}
			if (fishResults.catchedFish.Count == 0)
			{
				((Card)fishBaitSlot.Card).Anim.PlayQuickRiffleSound();
				if (CardManager.GetCardExtensionTable(((Card)fishBaitSlot.Card).Info).TryGetValue(NewProperties.baitKeepDialogueMessage, out var baitKeepDialogueMessage))
				{
					yield return ((CardChoicesSequencer)this).ExamineCardWithDialogue(fishBaitSlot.Card, baitKeepDialogueMessage);
				}
				else
				{
					yield return ((CardChoicesSequencer)this).ExamineCardWithDialogue(fishBaitSlot.Card, "Keep bait.");
				}
				((CardCollectionInfo)RunState.Run.playerDeck).AddCard(baitInfo);
				Object.Destroy((Object)(object)fishBaitSlot.Card);
			}
			if (Object.op_Implicit((Object)(object)fishBaitSlot.Card))
			{
				((InteractableBase)fishBaitSlot.Card).SetEnabled(false);
				((Component)fishBaitSlot.Card).gameObject.SetActive(false);
				Object.Destroy((Object)(object)fishBaitSlot.Card);
			}
		}

		private static void addTinyRescue()
		{
			CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardLoader.GetCardByName("Lice"), NewProperties.tinyCreatureRescueProbabilityWeights, (object)"1.0"), NewProperties.creatureRescueExamineDialogue, (object)"Looks like bait brang back parasite.");
		}

		private static void addSmallRescue()
		{
			CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardLoader.GetCardByName("AquaSquirrel"), NewProperties.smallCreatureRescueProbabilityWeights, (object)"1.0"), NewProperties.creatureRescueExamineDialogue, (object)"You \"rescued\" an AquaSquirrel from drowning.");
			CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardLoader.GetCardByName("Geck"), NewProperties.smallCreatureRescueProbabilityWeights, (object)"1.0"), NewProperties.creatureRescueExamineDialogue, (object)"Poor geck tried to swim, now he's safe.");
			CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardLoader.GetCardByName("RavenEgg"), NewProperties.smallCreatureRescueProbabilityWeights, (object)"1.0"), NewProperties.creatureRescueExamineDialogue, (object)"A Raven Egg, must have fallen from its nest.");
			CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardLoader.GetCardByName("Bullfrog"), NewProperties.smallCreatureRescueProbabilityWeights, (object)"1.0"), NewProperties.creatureRescueExamineDialogue, (object)"You \"rescued\" a Bullfrog from drowning.");
			CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardLoader.GetCardByName("Stoat"), NewProperties.smallCreatureRescueProbabilityWeights, (object)"1.0"), NewProperties.creatureRescueExamineDialogue, (object)"Stoat didn't know how to swim.");
			CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardLoader.GetCardByName("Opossum"), NewProperties.smallCreatureRescueProbabilityWeights, (object)"1.0"), NewProperties.creatureRescueExamineDialogue, (object)"Saved a little possum");
		}

		private static void addMediumRescue()
		{
			CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardLoader.GetCardByName("Adder"), NewProperties.mediumCreatureRescueProbabilityWeights, (object)"1.0"), NewProperties.creatureRescueExamineDialogue, (object)"Adder swimed by, now it's with you.");
			CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardLoader.GetCardByName("Cat"), NewProperties.mediumCreatureRescueProbabilityWeights, (object)"1.0"), NewProperties.creatureRescueExamineDialogue, (object)"Cat did not like water, now happy.");
			CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardLoader.GetCardByName("WolfCub"), NewProperties.mediumCreatureRescueProbabilityWeights, (object)"1.0"), NewProperties.creatureRescueExamineDialogue, (object)"Little cub did not know how to swim.");
			CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardLoader.GetCardByName("Otter"), NewProperties.mediumCreatureRescueProbabilityWeights, (object)"1.0"), NewProperties.creatureRescueExamineDialogue, (object)"You \"rescued\" an Otter.");
			CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardLoader.GetCardByName("Kingfisher"), NewProperties.mediumCreatureRescueProbabilityWeights, (object)"1.0"), NewProperties.creatureRescueExamineDialogue, (object)"A Kingfisher decided that it was following you.");
		}

		private static void addBigRescue()
		{
			CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardLoader.GetCardByName("Coyote"), NewProperties.bigCreatureRescueProbabilityWeights, (object)"1.0"), NewProperties.creatureRescueExamineDialogue, (object)"Coyote had fallen into the water.");
			CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardLoader.GetCardByName("ElkCub"), NewProperties.bigCreatureRescueProbabilityWeights, (object)"1.0"), NewProperties.creatureRescueExamineDialogue, (object)"Poor cub did not know how to swim");
			CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardLoader.GetCardByName("SkeletonPirate"), NewProperties.bigCreatureRescueProbabilityWeights, (object)"0.5"), NewProperties.creatureRescueExamineDialogue, (object)"Skeleton Pirate has joined the party");
			CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardLoader.GetCardByName("Snapper"), NewProperties.bigCreatureRescueProbabilityWeights, (object)"1.0"), NewProperties.creatureRescueExamineDialogue, (object)"You \"rescued\" a River Snapper.");
		}

		private static void addHugeRescue()
		{
			CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardLoader.GetCardByName("MoleSeaman"), NewProperties.hugeCreatureRescueProbabilityWeights, (object)"1.0"), NewProperties.creatureRescueExamineDialogue, (object)"MoleSeaman joined the party.");
			CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardLoader.GetCardByName("Grizzly"), NewProperties.hugeCreatureRescueProbabilityWeights, (object)"1.0"), NewProperties.creatureRescueExamineDialogue, (object)"Poor grizz, did not know swim.");
		}

		private static void addTinyFish()
		{
			CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardLoader.GetCardByName("Tadpole"), NewProperties.tinyFishCatchProbabilityWeights, (object)"1.0"), NewProperties.fishCatchedExamineDialogue, (object)"A tiny Tadpole ate your bait.");
		}

		private static void addSmallFish()
		{
			CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardLoader.GetCardByName("AquaSquirrel"), NewProperties.smallFishCatchProbabilityWeights, (object)"1.0"), NewProperties.fishCatchedExamineDialogue, (object)"AquaSquirrel was hungry.");
			CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardLoader.GetCardByName("Geck"), NewProperties.smallFishCatchProbabilityWeights, (object)"1.0"), NewProperties.fishCatchedExamineDialogue, (object)"Geck bit on your bait");
			CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardLoader.GetCardByName("Bullfrog"), NewProperties.smallFishCatchProbabilityWeights, (object)"1.0"), NewProperties.fishCatchedExamineDialogue, (object)"A Bullfrog took the bait.");
		}

		private static void addMediumFish()
		{
			CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardLoader.GetCardByName("Kingfisher"), NewProperties.mediumFishCatchProbabilityWeights, (object)"1.0"), NewProperties.fishCatchedExamineDialogue, (object)"Kingfisher flew right at your bait.");
			CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardLoader.GetCardByName("MudTurtle"), NewProperties.mediumFishCatchProbabilityWeights, (object)"1.0"), NewProperties.fishCatchedExamineDialogue, (object)"MudTurtle was hungry.");
			CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardLoader.GetCardByName("Beaver"), NewProperties.mediumFishCatchProbabilityWeights, (object)"1.0"), NewProperties.fishCatchedExamineDialogue, (object)"You catched a Beaver, he was building a dam nearby.");
			CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardLoader.GetCardByName("Otter"), NewProperties.mediumFishCatchProbabilityWeights, (object)"1.0"), NewProperties.fishCatchedExamineDialogue, (object)"An Otter took the bait.");
		}

		private static void addBigFish()
		{
			CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardLoader.GetCardByName("Snapper"), NewProperties.bigFishCatchProbabilityWeights, (object)"1.0"), NewProperties.fishCatchedExamineDialogue, (object)"River Snapper was hungry.");
			CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardLoader.GetCardByName("SquidBell"), NewProperties.bigFishCatchProbabilityWeights, (object)"1.0"), NewProperties.fishCatchedExamineDialogue, (object)"A tentacle emerged.");
			CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardLoader.GetCardByName("SquidCards"), NewProperties.bigFishCatchProbabilityWeights, (object)"1.0"), NewProperties.fishCatchedExamineDialogue, (object)"A tentacle emerged.");
			CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardLoader.GetCardByName("SquidMirror"), NewProperties.bigFishCatchProbabilityWeights, (object)"1.0"), NewProperties.fishCatchedExamineDialogue, (object)"A tentacle emerged.");
		}

		private static void addHugeFish()
		{
			CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardLoader.GetCardByName("Kraken"), NewProperties.hugeFishCatchProbabilityWeights, (object)"1.0"), NewProperties.fishCatchedExamineDialogue, (object)"A tentacle emerged, and a Kraken appeard.");
			CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardLoader.GetCardByName("Hydra"), NewProperties.hugeFishCatchProbabilityWeights, (object)"1.0"), NewProperties.fishCatchedExamineDialogue, (object)"You catched an Hydra!");
			CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardLoader.GetCardByName("MoleSeaman"), NewProperties.hugeFishCatchProbabilityWeights, (object)"1.0"), NewProperties.fishCatchedExamineDialogue, (object)"MoleSeaman joined your party.");
			CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardLoader.GetCardByName("Grizzly"), NewProperties.hugeFishCatchProbabilityWeights, (object)"1.0"), NewProperties.fishCatchedExamineDialogue, (object)"A huge Grizz emerged from the water.");
			CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardLoader.GetCardByName("Shark"), NewProperties.hugeFishCatchProbabilityWeights, (object)"1.0"), NewProperties.fishCatchedExamineDialogue, (object)"Good fish.");
		}

		private static void addCardLoot()
		{
			CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardLoader.GetCardByName("Amoeba"), NewProperties.lootCardFoundProbabilityWeights, (object)"2.0"), NewProperties.lootFoundExamineDialogue, (object)"Some goo got stuck to your rod.");
			CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardLoader.GetCardByName("Boulder"), NewProperties.lootCardFoundProbabilityWeights, (object)"6.0"), NewProperties.lootFoundExamineDialogue, (object)"You found a Boulder.");
			CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardLoader.GetCardByName("BrokenEgg"), NewProperties.lootCardFoundProbabilityWeights, (object)"5.0"), NewProperties.lootFoundExamineDialogue, (object)"A Broken Egg, must have fell from its nest.");
			CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardLoader.GetCardByName("Dam"), NewProperties.lootCardFoundProbabilityWeights, (object)"6.0"), NewProperties.lootFoundExamineDialogue, (object)"You found a Dam, a Beaver must be nearby.");
			CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardLoader.GetCardByName("DefaultTail"), NewProperties.lootCardFoundProbabilityWeights, (object)"3.0"), NewProperties.lootFoundExamineDialogue, (object)"You reeled back a tail.");
			CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardLoader.GetCardByName("FrozenOpossum"), NewProperties.lootCardFoundProbabilityWeights, (object)"2.0"), NewProperties.lootFoundExamineDialogue, (object)"A Frozen Possum was floating, wonder how it got there.");
			CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardLoader.GetCardByName("SkinkTail"), NewProperties.lootCardFoundProbabilityWeights, (object)"3.0"), NewProperties.lootFoundExamineDialogue, (object)"You reeled back a tail.");
			CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardLoader.GetCardByName("Snelk_Neck"), NewProperties.lootCardFoundProbabilityWeights, (object)"1.0"), NewProperties.lootFoundExamineDialogue, (object)"You found some bones.");
			CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardLoader.GetCardByName("Stump"), NewProperties.lootCardFoundProbabilityWeights, (object)"6.0"), NewProperties.lootFoundExamineDialogue, (object)"After much effort, you reeled back a Stump.");
			CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardLoader.GetCardByName("Tail_Bird"), NewProperties.lootCardFoundProbabilityWeights, (object)"3.0"), NewProperties.lootFoundExamineDialogue, (object)"You reeled back some feathers.");
			CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardLoader.GetCardByName("Tail_Furry"), NewProperties.lootCardFoundProbabilityWeights, (object)"3.0"), NewProperties.lootFoundExamineDialogue, (object)"You reeled back a tail.");
			CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardLoader.GetCardByName("Tail_Insect"), NewProperties.lootCardFoundProbabilityWeights, (object)"3.0"), NewProperties.lootFoundExamineDialogue, (object)"You reeled back a tail.");
			CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardLoader.GetCardByName("Tree"), NewProperties.lootCardFoundProbabilityWeights, (object)"5.0"), NewProperties.lootFoundExamineDialogue, (object)"After much effort, you reeled back a Stump.");
			CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardLoader.GetCardByName("!STATIC!GLITCH"), NewProperties.lootCardFoundProbabilityWeights, (object)"1.0"), NewProperties.lootFoundExamineDialogue, (object)"01100110 01101111 01110101 01101110 01100100 01101001 01110100 01100001 01100111 01100001 01101001 01101110");
			CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardLoader.GetCardByName("BaitBucket"), NewProperties.lootCardFoundProbabilityWeights, (object)"1.0"), NewProperties.lootFoundExamineDialogue, (object)"My baits! Keep some, my treat");
			CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardLoader.GetCardByName("DausBell"), NewProperties.lootCardFoundProbabilityWeights, (object)"1.5"), NewProperties.lootFoundExamineDialogue, (object)"A Daus Bell got stuck to your line.");
			CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardLoader.GetCardByName("GoldNugget"), NewProperties.lootCardFoundProbabilityWeights, (object)"0.5"), NewProperties.lootFoundExamineDialogue, (object)"A Gold Nugget, the Prospector would be jealous.");
			CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardLoader.GetCardByName("PeltGolden"), NewProperties.lootCardFoundProbabilityWeights, (object)"0.5"), NewProperties.lootFoundExamineDialogue, (object)"I bet the tradder would want some.");
			CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardLoader.GetCardByName("PeltHare"), NewProperties.lootCardFoundProbabilityWeights, (object)"1.5"), NewProperties.lootFoundExamineDialogue, (object)"I bet the tradder would want some.");
			CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardLoader.GetCardByName("PeltWolf"), NewProperties.lootCardFoundProbabilityWeights, (object)"1.0"), NewProperties.lootFoundExamineDialogue, (object)"I bet the tradder would want some.");
			CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardLoader.GetCardByName("Trap"), NewProperties.lootCardFoundProbabilityWeights, (object)"1.0"), NewProperties.lootFoundExamineDialogue, (object)"Must be from the trad-- I mean the trapper.");
		}

		private static void addBoonLoot()
		{
			CardInfo val = CardExtensions.SetExtendedProperty(BoonsUtil.CreateCardForBoon((Type)1), NewProperties.lootBoonFoundProbabilityWeights, (object)"1.0");
			((Object)val).name = "DoubleDraw";
			CardManager.Add("Boon", val);
			val = CardExtensions.SetExtendedProperty(BoonsUtil.CreateCardForBoon((Type)7), NewProperties.lootBoonFoundProbabilityWeights, (object)"10.0");
			((Object)val).name = "MinorStartingBones";
			CardExtensions.SetExtendedProperty(val, NewProperties.lootFoundExamineDialogue, (object)"You got Bone boon, start battle with 1 more bones.");
			CardManager.Add("Boon", val);
			val = CardExtensions.SetExtendedProperty(BoonsUtil.CreateCardForBoon((Type)6), NewProperties.lootBoonFoundProbabilityWeights, (object)"1.0");
			((Object)val).name = "StartingBones";
			CardExtensions.SetExtendedProperty(val, NewProperties.lootFoundExamineDialogue, (object)"You got minor bone boon, start battle with 8 more bone.");
			CardManager.Add("Boon", val);
			val = CardExtensions.SetExtendedProperty(BoonsUtil.CreateCardForBoon((Type)4), NewProperties.lootBoonFoundProbabilityWeights, (object)"1.0");
			((Object)val).name = "StartingGoat";
			CardManager.Add("Boon", val);
			val = CardExtensions.SetExtendedProperty(BoonsUtil.CreateCardForBoon((Type)5), NewProperties.lootBoonFoundProbabilityWeights, (object)"1.0");
			((Object)val).name = "StartingTrees";
			CardManager.Add("Boon", val);
			val = CardExtensions.SetExtendedProperty(BoonsUtil.CreateCardForBoon((Type)2), NewProperties.lootBoonFoundProbabilityWeights, (object)"1.0");
			((Object)val).name = "TutorDraw";
			CardManager.Add("Boon", val);
		}

		private static void addBait()
		{
			CardLoader.GetCardByName("!GIANTCARD_SHIP");
			CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardLoader.GetCardByName("MoleSeaman"), NewProperties.baitAboutToDiveExamineDialogue, (object)"MoleSeaman will try and find you stuff."), NewProperties.baitKeepDialogueMessage, (object)"You can keep MoleSeaman."), NewProperties.baitCatch0Loot0Rescue0DialogueMessage, (object)"If you see this dialogue in-game, please report to @Heartslot with a screenshot."), NewProperties.baitRescueCreatureProbability, (object)"0.7"), NewProperties.baitRescueBonusCreaturesProbabilities, (object)"[0.6, 0.4, 0.2]"), NewProperties.baitRescueCreatureGlobalLuck, (object)"0.0"), NewProperties.baitRescueTinyCreatureProbabilityWeight, (object)"3.0"), NewProperties.baitRescueTinyCreatureLuck, (object)"0.0"), NewProperties.baitRescueSmallCreatureProbabilityWeight, (object)"4.0"), NewProperties.baitRescueSmallCreatureLuck, (object)"0.0"), NewProperties.baitRescueMediumCreatureProbabilityWeight, (object)"5.0"), NewProperties.baitRescueMediumCreatureLuck, (object)"0.0"), NewProperties.baitRescueBigCreatureProbabilityWeight, (object)"5.0"), NewProperties.baitRescueBigCreatureLuck, (object)"0.0"), NewProperties.baitRescueHugeCreatureProbabilityWeight, (object)"3.0"), NewProperties.baitRescueHugeCreatureLuck, (object)"0.0"), NewProperties.baitRescue1DialogueMessage, (object)"MoleSeaman saved a creature."), NewProperties.baitRescueMoreThen1DialogueMessage, (object)"MoleSeaman saved some creatures."), NewProperties.baitFindLootProbability, (object)"1.0"), NewProperties.baitFindBonusLootsProbabilities, (object)"[1.0, 0.8, 0.6, 0.4, 0.2]"), NewProperties.baitFindLootGlobalLuck, (object)"0.0"), NewProperties.baitFindBoonLootProbabilityWeight, (object)"0.0"), NewProperties.baitFindBoonLootLuck, (object)"0.0"), NewProperties.baitFindCardLootProbabilityWeight, (object)"1.0"), NewProperties.baitFindCardLootLuck, (object)"1.8"), NewProperties.baitLootMoreThen1DialogueMessage, (object)"MoleSeaman found some treasures."), NewProperties.baitAlsoLootMoreThen1DialogueMessage, (object)"MoleSeaman also found some other treasures.");
			CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardLoader.GetCardByName("SkeletonParrot"), NewProperties.baitLossDialogueMessage, (object)"No fish..."), NewProperties.baitCatch0Loot0Rescue0DialogueMessage, (object)"No fish..."), NewProperties.baitLossProbability, (object)"0.4");
			CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardLoader.GetCardByName("SkeletonPirate"), NewProperties.baitAboutToDiveExamineDialogue, (object)"Skeleton Pirate will try and find you some treasures."), NewProperties.baitKeepDialogueMessage, (object)"You can keep your Pirate."), NewProperties.baitCatch0Loot0Rescue0DialogueMessage, (object)"Skeleton Pirate failed."), NewProperties.baitLossProbability, (object)"0.05"), NewProperties.baitLossDialogueMessage, (object)"Skeleton Pirate have didn't know how to swim."), NewProperties.baitRescueCreatureProbability, (object)"0.7"), NewProperties.baitRescueBonusCreaturesProbabilities, (object)"[0.4, 0.2]"), NewProperties.baitRescueCreatureGlobalLuck, (object)"3.0"), NewProperties.baitRescueTinyCreatureProbabilityWeight, (object)"6.0"), NewProperties.baitRescueTinyCreatureLuck, (object)"0.0"), NewProperties.baitRescueSmallCreatureProbabilityWeight, (object)"8.0"), NewProperties.baitRescueSmallCreatureLuck, (object)"0.0"), NewProperties.baitRescueMediumCreatureProbabilityWeight, (object)"7.0"), NewProperties.baitRescueMediumCreatureLuck, (object)"0.0"), NewProperties.baitRescueBigCreatureProbabilityWeight, (object)"4.0"), NewProperties.baitRescueBigCreatureLuck, (object)"0.0"), NewProperties.baitRescueHugeCreatureProbabilityWeight, (object)"1.0"), NewProperties.baitRescueHugeCreatureLuck, (object)"0.0"), NewProperties.baitRescue1DialogueMessage, (object)"Skeleton Pirate rescued a creature."), NewProperties.baitRescueMoreThen1DialogueMessage, (object)"Skeleton Pirate rescued some creatures."), NewProperties.baitFindLootProbability, (object)"0.7"), NewProperties.baitFindBonusLootsProbabilities, (object)"[0.4, 0.1, 0.1]"), NewProperties.baitFindLootGlobalLuck, (object)"0.0"), NewProperties.baitFindBoonLootProbabilityWeight, (object)"0.0"), NewProperties.baitFindBoonLootLuck, (object)"0.0"), NewProperties.baitFindCardLootProbabilityWeight, (object)"1.0"), NewProperties.baitFindCardLootLuck, (object)"3.2"), NewProperties.baitLoot1DialogueMessage, (object)"Skeleton Pirate succeeded."), NewProperties.baitLootMoreThen1DialogueMessage, (object)"Skeleton Pirate succeeded."), NewProperties.baitAlsoLoot1DialogueMessage, (object)"Also, Skeleton Pirate found a treasure."), NewProperties.baitAlsoLootMoreThen1DialogueMessage, (object)"Also, Skeleton Pirate found some treasure.");
			CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardLoader.GetCardByName("AntFlying"), NewProperties.baitCatch0Loot0Rescue0DialogueMessage, (object)"No fish..."), NewProperties.baitLossProbability, (object)"0.2"), NewProperties.baitLossDialogueMessage, (object)"No fish..."), NewProperties.baitDerivationProbability, (object)"0.2"), NewProperties.baitDerivationDialogueMessage, (object)"Got trash."), NewProperties.baitCatchFishProbability, (object)"0.95"), NewProperties.baitCatchBonusFishProbabilities, (object)"[0.1]"), NewProperties.baitCatchFishGlobalLuck, (object)"0.0"), NewProperties.baitCatchTinyFishProbabilityWeight, (object)"1.0"), NewProperties.baitCatchTinyFishLuck, (object)"0.0"), NewProperties.baitCatchSmallFishProbabilityWeight, (object)"3.0"), NewProperties.baitCatchSmallFishLuck, (object)"0.0"), NewProperties.baitCatchMediumFishProbabilityWeight, (object)"1.5"), NewProperties.baitCatchMediumFishLuck, (object)"0.0"), NewProperties.baitCatchBigFishProbabilityWeight, (object)"0.4"), NewProperties.baitCatchBigFishLuck, (object)"0.0"), NewProperties.baitCatchHugeFishProbabilityWeight, (object)"0.0"), NewProperties.baitCatchHugeFishLuck, (object)"0.0"), NewProperties.baitCatch1DialogueMessage, (object)"Flying Ant was eaten, got fish."), NewProperties.baitCatchMoreThen1DialogueMessage, (object)"One ant two fish."), NewProperties.baitFindLootProbability, (object)"0.1"), NewProperties.baitFindBonusLootsProbabilities, (object)"[0.1]"), NewProperties.baitFindLootGlobalLuck, (object)"0.0"), NewProperties.baitFindBoonLootProbabilityWeight, (object)"0.0"), NewProperties.baitFindBoonLootLuck, (object)"0.0"), NewProperties.baitFindCardLootProbabilityWeight, (object)"1.0"), NewProperties.baitFindCardLootLuck, (object)"-0.6"), NewProperties.baitLoot1DialogueMessage, (object)"No fish... got trash too."), NewProperties.baitLootMoreThen1DialogueMessage, (object)"No fish... got two trash."), NewProperties.baitAlsoLoot1DialogueMessage, (object)"Also got trash."), NewProperties.baitAlsoLootMoreThen1DialogueMessage, (object)"Also got two trash.");
			CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardLoader.GetCardByName("AquaSquirrel"), NewProperties.baitAboutToDiveExamineDialogue, (object)"AquaSquirrel will try and find you some loots."), NewProperties.baitKeepDialogueMessage, (object)"You can keep your little friend."), NewProperties.baitCatch0Loot0Rescue0DialogueMessage, (object)"If you see this dialogue in-game, please report to @Heartslot with a screenshot."), NewProperties.baitLossProbability, (object)"0.05"), NewProperties.baitLossDialogueMessage, (object)"AquaSquirrel have fled."), NewProperties.baitDerivationProbability, (object)"0.7"), NewProperties.baitDerivationDialogueMessage, (object)"AquaSquirrel left you with gift."), NewProperties.baitCatchFishProbability, (object)"0.4"), NewProperties.baitCatchBonusFishProbabilities, (object)"[0.1]"), NewProperties.baitCatchFishGlobalLuck, (object)"3.0"), NewProperties.baitCatchTinyFishProbabilityWeight, (object)"0.0"), NewProperties.baitCatchTinyFishLuck, (object)"0.0"), NewProperties.baitCatchSmallFishProbabilityWeight, (object)"1.0"), NewProperties.baitCatchSmallFishLuck, (object)"0.0"), NewProperties.baitCatchMediumFishProbabilityWeight, (object)"5.0"), NewProperties.baitCatchMediumFishLuck, (object)"0.0"), NewProperties.baitCatchBigFishProbabilityWeight, (object)"3.0"), NewProperties.baitCatchBigFishLuck, (object)"0.0"), NewProperties.baitCatchHugeFishProbabilityWeight, (object)"0.4"), NewProperties.baitCatchHugeFishLuck, (object)"0.0"), NewProperties.baitCatch1DialogueMessage, (object)"Oh oh, AquaSquirrel was eaten."), NewProperties.baitCatchMoreThen1DialogueMessage, (object)"Fish have feast on your AquaSquirrel..."), NewProperties.baitRescueCreatureProbability, (object)"0.7"), NewProperties.baitRescueBonusCreaturesProbabilities, (object)"[0.4, 0.2]"), NewProperties.baitRescueCreatureGlobalLuck, (object)"3.0"), NewProperties.baitRescueTinyCreatureProbabilityWeight, (object)"10.0"), NewProperties.baitRescueTinyCreatureLuck, (object)"0.0"), NewProperties.baitRescueSmallCreatureProbabilityWeight, (object)"8.0"), NewProperties.baitRescueSmallCreatureLuck, (object)"0.0"), NewProperties.baitRescueMediumCreatureProbabilityWeight, (object)"4.0"), NewProperties.baitRescueMediumCreatureLuck, (object)"0.0"), NewProperties.baitRescueBigCreatureProbabilityWeight, (object)"0.8"), NewProperties.baitRescueBigCreatureLuck, (object)"0.0"), NewProperties.baitRescueHugeCreatureProbabilityWeight, (object)"0.3"), NewProperties.baitRescueHugeCreatureLuck, (object)"0.0"), NewProperties.baitRescue1DialogueMessage, (object)"AquaSquirrel rescued a creature."), NewProperties.baitRescueMoreThen1DialogueMessage, (object)"AquaSquirrel rescued some creatures."), NewProperties.baitAlsoRescue1DialogueMessage, (object)"Before eaten, AquaSquirrel saved a creature."), NewProperties.baitAlsoRescueMoreThen1DialogueMessage, (object)"Before eaten, AquaSquirrel saved some creatures."), NewProperties.baitFindLootProbability, (object)"1.0"), NewProperties.baitFindBonusLootsProbabilities, (object)"[0.8, 0.4, 0.1, 0.1]"), NewProperties.baitFindLootGlobalLuck, (object)"6.0"), NewProperties.baitFindBoonLootProbabilityWeight, (object)"0.1"), NewProperties.baitFindBoonLootLuck, (object)"-6.0"), NewProperties.baitFindCardLootProbabilityWeight, (object)"10.0"), NewProperties.baitFindCardLootLuck, (object)"0.0"), NewProperties.baitLoot1DialogueMessage, (object)"AquaSquirrel succeeded."), NewProperties.baitLootMoreThen1DialogueMessage, (object)"AquaSquirrel succeeded."), NewProperties.baitAlsoLoot1DialogueMessage, (object)"Also, AquaSquirrel found a treasure."), NewProperties.baitAlsoLootMoreThen1DialogueMessage, (object)"Also, AquaSquirrel found some treasures.");
			CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardExtensions.SetExtendedProperty(CardLoader.GetCardByName("Bull"), NewProperties.baitCatch0Loot0Rescue0DialogueMessage, (object)"Would have guessed that result..."), NewProperties.baitLossProbability, (object)"0.0"), NewProperties.baitLossDialogueMessage, (object)"Bull did not know how to swim..."), NewProperties.baitDerivationProbability, (object)"0.35"), NewProperties.baitDerivationDialogueMessage, (object)"Bull drowned, but left you gift."), NewProperties.baitCatchFishProbability, (object)"0.1"), NewProperties.baitCatchBonusFishProbabilities, (object)"[0.0]"), NewProperties.baitCatchFishGlobalLuck, (object)"0.0"), NewProperties.baitCatchTinyFishProbabilityWeight, (object)"0.0"), NewProperties.baitCatchTinyFishLuck, (object)"0.0"), NewProperties.baitCatchSmallFishProbabilityWeight, (object)"0.0"), NewProperties.baitCatchSmallFishLuck, (object)"0.0"), NewProperties.baitCatchMediumFishProbabilityWeight, (object)"0.0"), NewProperties.baitCatchMediumFishLuck, (object)"0.0"), NewProperties.baitCatchBigFishProbabilityWeight, (object)"1.0"), NewProperties.baitCatchBigFishLuck, (object)"0.0"), NewProperties.baitCatchHugeFishProbabilityWeight, (object)"6.0"), NewProperties.baitCatchHugeFishLuck, (object)"0.0"), NewProperties.baitCatch1DialogueMessage, (object)"Uh, fish?"), NewProperties.baitCatchMoreThen1DialogueMessage, (object)"Report to @Heartslot if showned this dialogue."), NewProperties.baitFindLootProbability, (object)"0.05"), NewProperties.baitFindBonusLootsProbabilities, (objec