Decompiled source of Monster Train 2 More Stones v1.6.2

plugins/Monster_Train_2_More_Stones.Plugin.dll

Decompiled a month ago
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.Versioning;
using BepInEx;
using BepInEx.Configuration;
using BepInEx.Logging;
using HarmonyLib;
using Microsoft.CodeAnalysis;
using Microsoft.Extensions.Configuration;
using TrainworksReloaded.Core;
using TrainworksReloaded.Core.Extensions;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)]
[assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")]
[assembly: AssemblyCompany("Monster_Train_2_More_Stones.Plugin")]
[assembly: AssemblyConfiguration("Release")]
[assembly: AssemblyFileVersion("1.6.2.0")]
[assembly: AssemblyInformationalVersion("1.6.2+fb671f21cf67e175d77d07cdad896c459002bf37")]
[assembly: AssemblyProduct("Monster_Train_2_More_Stones.Plugin")]
[assembly: AssemblyTitle("Monster_Train_2_More_Stones.Plugin")]
[assembly: AssemblyVersion("1.6.2.0")]
[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.Class | AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Event | AttributeTargets.Parameter | AttributeTargets.ReturnValue | AttributeTargets.GenericParameter, AllowMultiple = false, Inherited = false)]
	internal sealed class NullableAttribute : Attribute
	{
		public readonly byte[] NullableFlags;

		public NullableAttribute(byte P_0)
		{
			NullableFlags = new byte[1] { P_0 };
		}

		public NullableAttribute(byte[] P_0)
		{
			NullableFlags = P_0;
		}
	}
	[CompilerGenerated]
	[Microsoft.CodeAnalysis.Embedded]
	[AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Method | AttributeTargets.Interface | AttributeTargets.Delegate, AllowMultiple = false, Inherited = false)]
	internal sealed class NullableContextAttribute : Attribute
	{
		public readonly byte Flag;

		public NullableContextAttribute(byte P_0)
		{
			Flag = P_0;
		}
	}
	[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 Monster_Train_2_More_Stones.Plugin
{
	[BepInPlugin("Monster_Train_2_More_Stones.Plugin", "Monster_Train_2_More_Stones.Plugin", "1.6.2")]
	public class Plugin : BaseUnityPlugin
	{
		public static ConfigEntry<bool>? addBloomstone;

		public static ConfigEntry<bool>? addHealstone;

		public static ConfigEntry<bool>? addSunstone;

		public static ConfigEntry<bool>? addVinestone;

		public static ConfigEntry<bool>? addBackstone;

		public static ConfigEntry<bool>? addCloudstone;

		public static ConfigEntry<bool>? addWeakstone;

		public static ConfigEntry<bool>? addWingstone;

		public static ConfigEntry<bool>? addBannerstone;

		public static ConfigEntry<bool>? addBoomstone;

		public static ConfigEntry<bool>? addCurestone;

		public static ConfigEntry<bool>? addExtremestone;

		public static ConfigEntry<bool>? addShellstone;

		public static ConfigEntry<bool>? addTramplestone;

		public static ConfigEntry<bool>? addSwipestone;

		public static ConfigEntry<bool>? addTrainstone;

		public static ConfigEntry<bool>? addPiercestone;

		public static ConfigEntry<bool>? addAttunestone;

		public static ConfigEntry<bool>? addValuestone;

		public static ConfigEntry<bool>? addVilestone;

		public static ConfigEntry<bool>? addApexstone;

		public static ConfigEntry<bool>? addArmorstone;

		public static ConfigEntry<bool>? addImpstone;

		public static ConfigEntry<bool>? addUpstone;

		public static ConfigEntry<bool>? addFlaskstone;

		public static ConfigEntry<bool>? addArtistone;

		public static ConfigEntry<bool>? addWeirdstone;

		public static ConfigEntry<bool>? addRadiostone;

		public static ConfigEntry<bool>? addBladestone;

		public static ConfigEntry<bool>? addCyclestone;

		public static ConfigEntry<bool>? addFeeblestone;

		public static ConfigEntry<bool>? addLunestone;

		public static ConfigEntry<bool>? addDazestone;

		public static ConfigEntry<bool>? addReformstone;

		public static ConfigEntry<bool>? addScourstone;

		public static ConfigEntry<bool>? addSmokestone;

		public static ConfigEntry<bool>? addBrimstone;

		public static ConfigEntry<bool>? addHoardstone;

		public static ConfigEntry<bool>? addLootstone;

		public static ConfigEntry<bool>? addPyrestone;

		public static ConfigEntry<bool>? addFroststone;

		public static ConfigEntry<bool>? addMeekstone;

		public static ConfigEntry<bool>? addMutestone;

		public static ConfigEntry<bool>? addOfferstone;

		public static ConfigEntry<bool>? addDownstone;

		public static ConfigEntry<bool>? addGorgestone;

		public static ConfigEntry<bool>? addLeechstone;

		public static ConfigEntry<bool>? addMorselstone;

		public static ConfigEntry<bool>? addFrontstone;

		public static ConfigEntry<bool>? addGrowstone;

		public static ConfigEntry<bool>? addPlaguestone;

		public static ConfigEntry<bool>? addSpawnstone;

		public static ConfigEntry<bool>? addSteelstone;

		public static ConfigEntry<bool>? addForgestone;

		public static ConfigEntry<bool>? addSmeltstone;

		public static ConfigEntry<bool>? addHearthstone;

		public static ConfigEntry<bool>? addFusionstone;

		public static ConfigEntry<bool>? addReapstone;

		public static ConfigEntry<bool>? addInspirestone;

		public static ConfigEntry<bool>? addEtchstone;

		public static ConfigEntry<bool>? addSnipestone;

		public static ConfigEntry<bool>? addStrikestone;

		public static ConfigEntry<bool>? addHungerstone;

		public static ConfigEntry<bool>? addRevengestone;

		public static ConfigEntry<bool>? addRallystone;

		public static ConfigEntry<bool>? addGravestone;

		internal static ManualLogSource Logger = new ManualLogSource("Monster_Train_2_More_Stones.Plugin");

		public void Awake()
		{
			//IL_16d9: Unknown result type (might be due to invalid IL or missing references)
			Logger = ((BaseUnityPlugin)this).Logger;
			addBloomstone = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "Bloomstone", true, "Enable Bloomstone. (Add Rejuvenate: +4 Attack, +4 Health)\n启用盛开石(单位获得'复原: +4/8 攻击力,+4/8 生命值。')");
			addHealstone = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "Healstone", true, "Enable Healstone. (Restore 5 HP to all allies.)\n启用回血石(法术获得'使本层所有友方单位恢复 5/10 点生命值。')");
			addSunstone = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "Sunstone", true, "Enable Sunstone. (Draw +1 next turn.)\n启用太阳石(法术获得'下个回合抽 +1/2 张牌。')");
			addVinestone = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "Vinestone", true, "Enable Vinestone. (Apply Rooted 1 to all enemies.)\n启用藤蔓石(法术获得'对本层所有敌方单位施加缠绕 1/2。')");
			addBackstone = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "Backstone", true, "Enable Backstone. (Add Retreat. (Targeted spells only.))\n启用后移石(指定目标法术获得'后退'/'后退',费用 -1 余烬。)");
			addCloudstone = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "Cloudstone", true, "Enable Cloudstone. (Add Shift: +2 Attack, +2 Armor)\n启用腾云石(单位获得'转移: +2/4 攻击力,护甲 2/4。')");
			addWeakstone = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "Weakstone", true, "Enable Weakstone. (Apply Melee Weakness 1 to all enemies.)\n启用破防石(法术获得'对本层所有敌方单位施加近战易伤 1/2。')");
			addWingstone = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "Wingstone", true, "Enable Wingstone. (Add Ability: Flight)\n启用添翼石(单位获得能力: 飞行/能力: 飞行,+30 生命值。)");
			addBannerstone = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "Bannerstone", true, "Enable Bannerstone. (Add Deployable. Attack +10.)\n启用战旗石(单位获得可部署,+10/30 攻击力。)");
			addBoomstone = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "Boomstone", true, "Enable Boomstone. (Add Explosive. Spell Power +20.)\n启用爆破石(法术获得爆炸,+20/40 魔法强度。)");
			addCurestone = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "Curestone", true, "Enable Curestone. (Remove all debuff effects from friendly units.)\n启用洗涤石(法术获得'移除本层所有友方单位身上的所有减益效果。')");
			addExtremestone = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "Extremestone", true, "Enable Extremestone. (Spell Power +30.)\n启用极限石(法术获得 +30/60 魔法强度。)");
			addShellstone = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "Shellstone", true, "Enable Shellstone. (Add Titanskin 3.)\n启用甲壳石(单位获得泰坦皮肤 3/7。)");
			addTramplestone = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "Tramplestone", true, "Enable Stompstone. (Add Trample.)\n启用蹂躏石(单位获得践踏/践踏,+20 攻击力。)");
			addSwipestone = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "Swipestone", true, "Enable Swipestone. (Add Sweep. Attack -20.)\n启用拍击石(单位获得横扫,-20/0 攻击力。)");
			addTrainstone = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "Trainstone", true, "Enable Trainstone. (Ember cost is 0.)\n启用火车石(单位费用变成 0 余烬/获得 +20 攻击力,费用变成 0 余烬。)");
			addPiercestone = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "Piercestone", true, "Enable Truestone. (Add Piercing. Spell Power +10.)\n启用真言石(法术获得穿刺,+10/30 魔法强度。)");
			addAttunestone = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "Attunestone", true, "Enable Tunestone. (Add Attuned.)\n启用调音石(法术获得调和/调和,+5 魔法强度。)");
			addValuestone = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "Valuestone", true, "Enable Valuestone. (Ember cost -3.)\n启用价值石(法术费用 -3/6 余烬。)");
			addVilestone = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "Vilestone", true, "Enable Vilestone. (Apply Corruption 20 to all enemies.)\n启用腐败石(法术获得'对本层所有敌方单位施加腐化 20/40。')");
			addApexstone = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "Apexstone", true, "Enable Apexstone. (Add Armored: +4 Attack.)\n启用巅峰石(单位获得'带甲: +4/8 攻击力。')");
			addArmorstone = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "Armorstone", true, "Enable Armorstone. (Add Armor 25.)\n启用护甲石(单位获得护甲 25/50。)");
			addImpstone = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "Impstone", true, "Enable Impstone. (Add a common or uncommon Imp unit to your hand.)\n启用碎尾石(法术获得'将一个普通或高级/任意稀有度小鬼单位加入你的手牌。')");
			addUpstone = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "Upstone", true, "Enable Upstone. (Add Ascend. (Targeted spells only.))\n启用上移石(指定目标法术获得'上升'/'上升',费用 -1 余烬。)");
			addFlaskstone = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "Flaskstone", true, "Enable Flaskstone. (Add Mix.)\n启用试剂石(法术获得'调配。'/'调配两次。')");
			addArtistone = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "Artistone", true, "Enable Artistone. (Add Artificer: +8 Attack, +8 Armor)\n启用巧艺石(单位获得'巧匠: +8/12 攻击力,护甲 8/12。'");
			addWeirdstone = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "Weirdstone", true, "Enable Madstone. (Add Unstable 20.)\n启用癫狂石(单位获得不稳定 20/40。)");
			addRadiostone = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "Radiostone", true, "Enable Radstone. (Apply Unstable 10 to all enemies.)\n启用辐射石(法术获得'对本层所有敌方单位施加不稳定 10/20。')");
			addBladestone = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "Bladestone", true, "Enable Bladestone. (Add Mageblade 2.)\n启用刀刃石(单位获得魔刃 2/4。)");
			addCyclestone = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "Cyclestone", true, "Enable Cyclestone. (Add Mooncycle: +2 Attack, +2 Health)\n启用朔望石(单位获得'月相循环: +2/4 攻击力,+2/4 生命值。')");
			addFeeblestone = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "Feeblestone", true, "Enable Feeblestone. (Apply Spell Weakness 1 to all enemies.)\n启用破魔石(法术获得'对本层所有敌方单位施加法术易伤 1/2。')");
			addLunestone = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "Lunestone", true, "Enable Lunestone. (Add Phase. Ember cost -1.)\n启用月相石(法术获得'月相变化',费用 -1/2 余烬。)");
			addDazestone = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "Dazestone", true, "Enable Dazestone. (Apply Dazed 1 to all enemies.)\n启用眩晕石(法术获得'对本层所有敌方单位施加眩晕 1/2。')");
			addReformstone = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "Reformstone", true, "Enable Formstone. (Reform a random unit.)\n启用塑造石(法术获得'随机改造 1/2 个单位。')");
			addScourstone = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "Scourstone", true, "Enable Scourstone. (Remove all buff effects from enemy units.)\n启用冲刷石(法术获得'移除本层所有敌方单位身上的所有增益效果。')");
			addSmokestone = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "Smokestone", true, "Enable Smokestone. (Add Stealth 2. +10 attack.)\n启用烟雾石(单位获得潜行 2/4,+10/30 攻击力。)");
			addBrimstone = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "Brimstone", true, "Enable Brimstone. (Deal 3 Damage to all enemies.)\n启用硫黄石(法术获得'对本层所有敌方单位造成 3/6 点伤害。')");
			addHoardstone = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "Hoardstone", true, "Enable Hoardstone. (Gain 1 Dragon's Hoard.)\n启用龙藏石(法术获得'获得 1/2 龙族宝藏。')");
			addLootstone = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "Lootstone", true, "Enable Lootstone. (Gain 10 Gold.)\n启用财宝石(法术获得'获得 10/20 金币。')");
			addPyrestone = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "Pyrestone", true, "Enable Pyrestone. (Apply Pyregel 5 to all enemies.)\n启用(法术获得'对本层所有敌方单位施加薪火熔胶 5/10。')");
			addFroststone = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "Froststone", true, "Enable Froststone. (Apply Frostbite 10  to all enemies.)\n启用霜冻石(法术获得'对本层所有敌方单位施加霜冻 10/20。')");
			addMeekstone = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "Meekstone", true, "Enable Meekstone. (Apply Sap 2 to all enemies.)\n启用驯化石(法术获得'对本层所有敌方单位施加弱化 2/4。')");
			addMutestone = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "Mutestone", true, "Enable Mutestone. (Apply Mute 1 to all enemies.)\n启用静默石(法术获得'对本层所有敌方单位施加静默 1/2。')");
			addOfferstone = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "Offerstone", true, "Enable Offerstone. (Add Offering. Ember cost -1. (Targetless spells only.))\n启用献祭石(非指定目标法术获得献祭,费用 -1/2 余烬。)");
			addDownstone = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "Downstone", true, "Enable Downstone. (Add Descend. (Targeted spells only.))\n启用下移石(指定目标法术获得'下降'/'下降',费用 -1 余烬。)");
			addGorgestone = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "Gorgestone", true, "Enable Gorgestone. (Add Gorge: +2 Attack, +2 Health)\n启用暴食石(单位获得'暴食: +2/4 攻击力,+2/4 生命值。')");
			addLeechstone = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "Leechstone", true, "Enable Leechstone. (Add Lifesteal 2. +10 Attack.)\n启用水蛭石(单位获得吸血 2/4,+10/30 攻击力。)");
			addMorselstone = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "Morselstone", true, "Enable Morselstone. (Add a common or uncommon Morsel unit to your hand.)\n启用影裔石(法术获得'将一个普通或高级/任意稀有度影裔单位加入你的手牌。')");
			addFrontstone = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "Frontstone", true, "Enable Frontstone. (Add Advance. (Targeted spells only.))\n启用前移石(指定目标法术获得'前进'/'前进',费用 -1 余烬。)");
			addGrowstone = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "Growstone", true, "Enable Growstone. (Propagate 1 on all units.)\n启用生长石(法术获得'使本层所有单位散播 1/2。')");
			addPlaguestone = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "Plaguestone", true, "Enable Plaguestone. (Apply Decay 4 to all enemies.)\n启用瘟疫石(法术获得'对本层所有敌方单位施加腐朽 4/8。')");
			addSpawnstone = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "Spawnstone", true, "Enable Spawnstone. (Add Spawn 1.)\n启用孢子石(法术获得'生成 1/2。')");
			addSteelstone = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "Steelstone", true, "Enable Steelstone. (Add Steelguard and Armor 50.)\n启用钢铁石(单位获得护甲 50/75 和钢铁护卫。)");
			addForgestone = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "Forgestone", true, "Enable Forgestone. (Add Forge 5.)\n启用锻造石(法术获得'锻造 5/10。')");
			addSmeltstone = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "Smeltstone", true, "Enable Smeltstone. (Smelt a card in hand.)\n启用熔炼石(法术获得'熔炼一张手牌/抽 1 张牌。熔炼一张手牌。')");
			addHearthstone = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "Hearthstone", true, "Enable Hearthstone. (Add Refined 3.)\n启用炉底石(法术获得精炼 3/6。)");
			addFusionstone = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "Fusionstone", true, "Enable Fusionstone. (Gain 1 Charged Echo.)\n启用注能石(法术获得'获得 1/2 充能的回响水晶。')");
			addReapstone = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "Reapstone", true, "Enable Reapstone. (Apply Reap 5 to all enemies.)\n启用晶爆石(法术获得'对本层所有敌方单位施加晶爆 5/10。')");
			addInspirestone = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "Inspirestone", true, "Enable Inspirestone. (Add Inspire: +2 Attack, +2 Health)\n启用激励石(单位获得'激励: +2/4 攻击力,+2/4 生命值。')");
			addEtchstone = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "Etchstone", true, "Enable Etchstone. (Add Etch: +4 Attack, +4 Health)\n启用蚀刻石(单位获得'蚀刻: +4/8 攻击力,+4/8 生命值。')");
			addSnipestone = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "Snipestone", true, "Enable Snipestone. (Add Sniper. Attack +10.)\n启用狙击石(单位获得狙击手,+10/30 攻击力。)");
			addStrikestone = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "Strikestone", true, "Enable Strikestone. (Add Strike: +4 Attack, +4 Armor)\n启用攻击石(单位获得'攻击: +4/8 攻击力,护甲 4/8。')");
			addHungerstone = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "Hungerstone", true, "Enable Hungerstone. (Add Hunger.)\n启用饥饿石(单位获得'饥饿:吞食带有被吞食的单位'/'饥饿:吞食带有被吞食的单位',+30 生命值。)");
			addRevengestone = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "Revengestone", true, "Enable Revengestone. (Add Revenge: +4 Attack, +4 Armor)\n启用复仇石(单位获得'复仇: +4/8 攻击力,护甲 4/8。')");
			addRallystone = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "Rallystone", true, "Enable Rallystone. (Add Rally: +2 Attack, +2 Health)\n启用集结石(单位获得'集结: +2/4 攻击力,+2/4 生命值。')");
			addGravestone = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "Gravestone", true, "Enable Gravestone. (Add Harvest: +2 Attack, +2 Health)\n启用墓碑石(单位获得'收割: +2/4 攻击力,+2/4 生命值。')");
			List<string> paths = new List<string> { "json/plugin.json", "json/global.json" };
			if (addBloomstone.Value)
			{
				paths.Add("json/enhancers/bloomstone.json");
			}
			if (addHealstone.Value)
			{
				paths.Add("json/enhancers/healstone.json");
			}
			if (addSunstone.Value)
			{
				paths.Add("json/enhancers/sunstone.json");
			}
			if (addVinestone.Value)
			{
				paths.Add("json/enhancers/vinestone.json");
			}
			if (addBackstone.Value)
			{
				paths.Add("json/enhancers/backstone.json");
			}
			if (addCloudstone.Value)
			{
				paths.Add("json/enhancers/cloudstone.json");
			}
			if (addWeakstone.Value)
			{
				paths.Add("json/enhancers/weakstone.json");
			}
			if (addWingstone.Value)
			{
				paths.Add("json/enhancers/wingstone.json");
			}
			if (addBannerstone.Value)
			{
				paths.Add("json/enhancers/bannerstone.json");
			}
			if (addBoomstone.Value)
			{
				paths.Add("json/enhancers/boomstone.json");
			}
			if (addCurestone.Value)
			{
				paths.Add("json/enhancers/curestone.json");
			}
			if (addExtremestone.Value)
			{
				paths.Add("json/enhancers/extremestone.json");
			}
			if (addShellstone.Value)
			{
				paths.Add("json/enhancers/shellstone.json");
			}
			if (addTramplestone.Value)
			{
				paths.Add("json/enhancers/tramplestone.json");
			}
			if (addSwipestone.Value)
			{
				paths.Add("json/enhancers/swipestone.json");
			}
			if (addTrainstone.Value)
			{
				paths.Add("json/enhancers/trainstone.json");
			}
			if (addPiercestone.Value)
			{
				paths.Add("json/enhancers/piercestone.json");
			}
			if (addAttunestone.Value)
			{
				paths.Add("json/enhancers/attunestone.json");
			}
			if (addValuestone.Value)
			{
				paths.Add("json/enhancers/valuestone.json");
			}
			if (addVilestone.Value)
			{
				paths.Add("json/enhancers/vilestone.json");
			}
			if (addApexstone.Value)
			{
				paths.Add("json/enhancers/apexstone.json");
			}
			if (addArmorstone.Value)
			{
				paths.Add("json/enhancers/armorstone.json");
			}
			if (addImpstone.Value)
			{
				paths.Add("json/enhancers/impstone.json");
			}
			if (addUpstone.Value)
			{
				paths.Add("json/enhancers/upstone.json");
			}
			if (addFlaskstone.Value)
			{
				paths.Add("json/enhancers/flaskstone.json");
			}
			if (addArtistone.Value)
			{
				paths.Add("json/enhancers/artistone.json");
			}
			if (addWeirdstone.Value)
			{
				paths.Add("json/enhancers/weirdstone.json");
			}
			if (addRadiostone.Value)
			{
				paths.Add("json/enhancers/radiostone.json");
			}
			if (addBladestone.Value)
			{
				paths.Add("json/enhancers/bladestone.json");
			}
			if (addCyclestone.Value)
			{
				paths.Add("json/enhancers/cyclestone.json");
			}
			if (addFeeblestone.Value)
			{
				paths.Add("json/enhancers/feeblestone.json");
			}
			if (addLunestone.Value)
			{
				paths.Add("json/enhancers/lunestone.json");
			}
			if (addDazestone.Value)
			{
				paths.Add("json/enhancers/dazestone.json");
			}
			if (addReformstone.Value)
			{
				paths.Add("json/enhancers/reformstone.json");
			}
			if (addScourstone.Value)
			{
				paths.Add("json/enhancers/scourstone.json");
			}
			if (addSmokestone.Value)
			{
				paths.Add("json/enhancers/smokestone.json");
			}
			if (addBrimstone.Value)
			{
				paths.Add("json/enhancers/brimstone.json");
			}
			if (addHoardstone.Value)
			{
				paths.Add("json/enhancers/hoardstone.json");
			}
			if (addLootstone.Value)
			{
				paths.Add("json/enhancers/lootstone.json");
			}
			if (addPyrestone.Value)
			{
				paths.Add("json/enhancers/pyrestone.json");
			}
			if (addFroststone.Value)
			{
				paths.Add("json/enhancers/froststone.json");
			}
			if (addMeekstone.Value)
			{
				paths.Add("json/enhancers/meekstone.json");
			}
			if (addMutestone.Value)
			{
				paths.Add("json/enhancers/mutestone.json");
			}
			if (addOfferstone.Value)
			{
				paths.Add("json/enhancers/offerstone.json");
			}
			if (addDownstone.Value)
			{
				paths.Add("json/enhancers/downstone.json");
			}
			if (addGorgestone.Value)
			{
				paths.Add("json/enhancers/gorgestone.json");
			}
			if (addLeechstone.Value)
			{
				paths.Add("json/enhancers/leechstone.json");
			}
			if (addMorselstone.Value)
			{
				paths.Add("json/enhancers/morselstone.json");
			}
			if (addFrontstone.Value)
			{
				paths.Add("json/enhancers/frontstone.json");
			}
			if (addGrowstone.Value)
			{
				paths.Add("json/enhancers/growstone.json");
			}
			if (addPlaguestone.Value)
			{
				paths.Add("json/enhancers/plaguestone.json");
			}
			if (addSpawnstone.Value)
			{
				paths.Add("json/enhancers/spawnstone.json");
			}
			if (addSteelstone.Value)
			{
				paths.Add("json/enhancers/steelstone.json");
			}
			if (addForgestone.Value)
			{
				paths.Add("json/enhancers/forgestone.json");
			}
			if (addSmeltstone.Value)
			{
				paths.Add("json/enhancers/smeltstone.json");
			}
			if (addHearthstone.Value)
			{
				paths.Add("json/enhancers/hearthstone.json");
			}
			if (addFusionstone.Value)
			{
				paths.Add("json/enhancers/fusionstone.json");
			}
			if (addReapstone.Value)
			{
				paths.Add("json/enhancers/reapstone.json");
			}
			if (addInspirestone.Value)
			{
				paths.Add("json/enhancers/inspirestone.json");
			}
			if (addEtchstone.Value)
			{
				paths.Add("json/enhancers/etchstone.json");
			}
			if (addSnipestone.Value)
			{
				paths.Add("json/enhancers/snipestone.json");
			}
			if (addStrikestone.Value)
			{
				paths.Add("json/enhancers/strikestone.json");
			}
			if (addHungerstone.Value)
			{
				paths.Add("json/enhancers/hungerstone.json");
			}
			if (addRevengestone.Value)
			{
				paths.Add("json/enhancers/revengestone.json");
			}
			if (addRallystone.Value)
			{
				paths.Add("json/enhancers/rallystone.json");
			}
			if (addGravestone.Value)
			{
				paths.Add("json/enhancers/gravestone.json");
			}
			if (addBloomstone.Value)
			{
				paths.Add("json/enhancers/soul_savior/bloomstone.json");
			}
			if (addHealstone.Value)
			{
				paths.Add("json/enhancers/soul_savior/healstone.json");
			}
			if (addSunstone.Value)
			{
				paths.Add("json/enhancers/soul_savior/sunstone.json");
			}
			if (addVinestone.Value)
			{
				paths.Add("json/enhancers/soul_savior/vinestone.json");
			}
			if (addBackstone.Value)
			{
				paths.Add("json/enhancers/soul_savior/backstone.json");
			}
			if (addCloudstone.Value)
			{
				paths.Add("json/enhancers/soul_savior/cloudstone.json");
			}
			if (addWeakstone.Value)
			{
				paths.Add("json/enhancers/soul_savior/weakstone.json");
			}
			if (addWingstone.Value)
			{
				paths.Add("json/enhancers/soul_savior/wingstone.json");
			}
			if (addBannerstone.Value)
			{
				paths.Add("json/enhancers/soul_savior/bannerstone.json");
			}
			if (addBoomstone.Value)
			{
				paths.Add("json/enhancers/soul_savior/boomstone.json");
			}
			if (addExtremestone.Value)
			{
				paths.Add("json/enhancers/soul_savior/extremestone.json");
			}
			if (addShellstone.Value)
			{
				paths.Add("json/enhancers/soul_savior/shellstone.json");
			}
			if (addSnipestone.Value)
			{
				paths.Add("json/enhancers/soul_savior/snipestone.json");
			}
			if (addTramplestone.Value)
			{
				paths.Add("json/enhancers/soul_savior/tramplestone.json");
			}
			if (addSwipestone.Value)
			{
				paths.Add("json/enhancers/soul_savior/swipestone.json");
			}
			if (addTrainstone.Value)
			{
				paths.Add("json/enhancers/soul_savior/trainstone.json");
			}
			if (addPiercestone.Value)
			{
				paths.Add("json/enhancers/soul_savior/piercestone.json");
			}
			if (addAttunestone.Value)
			{
				paths.Add("json/enhancers/soul_savior/attunestone.json");
			}
			if (addValuestone.Value)
			{
				paths.Add("json/enhancers/soul_savior/valuestone.json");
			}
			if (addVilestone.Value)
			{
				paths.Add("json/enhancers/soul_savior/vilestone.json");
			}
			if (addApexstone.Value)
			{
				paths.Add("json/enhancers/soul_savior/apexstone.json");
			}
			if (addArmorstone.Value)
			{
				paths.Add("json/enhancers/soul_savior/armorstone.json");
			}
			if (addImpstone.Value)
			{
				paths.Add("json/enhancers/soul_savior/impstone.json");
			}
			if (addUpstone.Value)
			{
				paths.Add("json/enhancers/soul_savior/upstone.json");
			}
			if (addArtistone.Value)
			{
				paths.Add("json/enhancers/soul_savior/artistone.json");
			}
			if (addFlaskstone.Value)
			{
				paths.Add("json/enhancers/soul_savior/flaskstone.json");
			}
			if (addWeirdstone.Value)
			{
				paths.Add("json/enhancers/soul_savior/weirdstone.json");
			}
			if (addRadiostone.Value)
			{
				paths.Add("json/enhancers/soul_savior/radiostone.json");
			}
			if (addBladestone.Value)
			{
				paths.Add("json/enhancers/soul_savior/bladestone.json");
			}
			if (addCyclestone.Value)
			{
				paths.Add("json/enhancers/soul_savior/cyclestone.json");
			}
			if (addFeeblestone.Value)
			{
				paths.Add("json/enhancers/soul_savior/feeblestone.json");
			}
			if (addLunestone.Value)
			{
				paths.Add("json/enhancers/soul_savior/lunestone.json");
			}
			if (addDazestone.Value)
			{
				paths.Add("json/enhancers/soul_savior/dazestone.json");
			}
			if (addReformstone.Value)
			{
				paths.Add("json/enhancers/soul_savior/reformstone.json");
			}
			if (addSmokestone.Value)
			{
				paths.Add("json/enhancers/soul_savior/smokestone.json");
			}
			if (addBrimstone.Value)
			{
				paths.Add("json/enhancers/soul_savior/brimstone.json");
			}
			if (addHoardstone.Value)
			{
				paths.Add("json/enhancers/soul_savior/hoardstone.json");
			}
			if (addLootstone.Value)
			{
				paths.Add("json/enhancers/soul_savior/lootstone.json");
			}
			if (addPyrestone.Value)
			{
				paths.Add("json/enhancers/soul_savior/pyrestone.json");
			}
			if (addForgestone.Value)
			{
				paths.Add("json/enhancers/soul_savior/forgestone.json");
			}
			if (addHearthstone.Value)
			{
				paths.Add("json/enhancers/soul_savior/hearthstone.json");
			}
			if (addSmeltstone.Value)
			{
				paths.Add("json/enhancers/soul_savior/smeltstone.json");
			}
			if (addSteelstone.Value)
			{
				paths.Add("json/enhancers/soul_savior/steelstone.json");
			}
			if (addFroststone.Value)
			{
				paths.Add("json/enhancers/soul_savior/froststone.json");
			}
			if (addMeekstone.Value)
			{
				paths.Add("json/enhancers/soul_savior/meekstone.json");
			}
			if (addMutestone.Value)
			{
				paths.Add("json/enhancers/soul_savior/mutestone.json");
			}
			if (addOfferstone.Value)
			{
				paths.Add("json/enhancers/soul_savior/offerstone.json");
			}
			if (addDownstone.Value)
			{
				paths.Add("json/enhancers/soul_savior/downstone.json");
			}
			if (addGorgestone.Value)
			{
				paths.Add("json/enhancers/soul_savior/gorgestone.json");
			}
			if (addLeechstone.Value)
			{
				paths.Add("json/enhancers/soul_savior/leechstone.json");
			}
			if (addMorselstone.Value)
			{
				paths.Add("json/enhancers/soul_savior/morselstone.json");
			}
			if (addFrontstone.Value)
			{
				paths.Add("json/enhancers/soul_savior/frontstone.json");
			}
			if (addGrowstone.Value)
			{
				paths.Add("json/enhancers/soul_savior/growstone.json");
			}
			if (addPlaguestone.Value)
			{
				paths.Add("json/enhancers/soul_savior/plaguestone.json");
			}
			if (addSpawnstone.Value)
			{
				paths.Add("json/enhancers/soul_savior/spawnstone.json");
			}
			if (addEtchstone.Value)
			{
				paths.Add("json/enhancers/soul_savior/etchstone.json");
			}
			if (addFusionstone.Value)
			{
				paths.Add("json/enhancers/soul_savior/fusionstone.json");
			}
			if (addInspirestone.Value)
			{
				paths.Add("json/enhancers/soul_savior/inspirestone.json");
			}
			if (addReapstone.Value)
			{
				paths.Add("json/enhancers/soul_savior/reapstone.json");
			}
			if (addStrikestone.Value)
			{
				paths.Add("json/enhancers/soul_savior/strikestone.json");
			}
			if (addHungerstone.Value)
			{
				paths.Add("json/enhancers/soul_savior/hungerstone.json");
			}
			if (addRevengestone.Value)
			{
				paths.Add("json/enhancers/soul_savior/revengestone.json");
			}
			if (addRallystone.Value)
			{
				paths.Add("json/enhancers/soul_savior/rallystone.json");
			}
			if (addGravestone.Value)
			{
				paths.Add("json/enhancers/soul_savior/gravestone.json");
			}
			Railhead.GetBuilder().Configure("Monster_Train_2_More_Stones.Plugin", (Action<IConfigurationBuilder>)delegate(IConfigurationBuilder c)
			{
				ConfigurationExtensions.AddMergedJsonFile(c, paths);
			});
			Logger.LogInfo((object)"Plugin Monster_Train_2_More_Stones.Plugin is loaded!");
			new Harmony("Monster_Train_2_More_Stones.Plugin").PatchAll();
		}
	}
	public static class MyPluginInfo
	{
		public const string PLUGIN_GUID = "Monster_Train_2_More_Stones.Plugin";

		public const string PLUGIN_NAME = "Monster_Train_2_More_Stones.Plugin";

		public const string PLUGIN_VERSION = "1.6.2";
	}
}