using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.Versioning;
using System.Security;
using System.Security.Permissions;
using AddWatermark;
using BepInEx;
using BepInEx.Bootstrap;
using BepInEx.Logging;
using Cysharp.Threading.Tasks;
using ExhibitRebalance.Config;
using ExhibitRebalance.Localization;
using HarmonyLib;
using JetBrains.Annotations;
using LBoL.Base;
using LBoL.Base.Extensions;
using LBoL.ConfigData;
using LBoL.Core;
using LBoL.Core.Battle;
using LBoL.Core.Battle.BattleActions;
using LBoL.Core.Cards;
using LBoL.Core.Randoms;
using LBoL.Core.StatusEffects;
using LBoL.Core.Units;
using LBoL.EntityLib.StatusEffects.Basic;
using LBoLEntitySideloader;
using LBoLEntitySideloader.Attributes;
using LBoLEntitySideloader.Entities;
using LBoLEntitySideloader.Resource;
using UnityEngine;
using UnityEngine.Experimental.Rendering;
[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: IgnoresAccessChecksTo("LBoL.Base")]
[assembly: IgnoresAccessChecksTo("LBoL.ConfigData")]
[assembly: IgnoresAccessChecksTo("LBoL.Core")]
[assembly: IgnoresAccessChecksTo("LBoL.EntityLib")]
[assembly: IgnoresAccessChecksTo("LBoL.Presentation")]
[assembly: IgnoresAccessChecksTo("Untitled.ConfigDataBuilder.Base")]
[assembly: AssemblyCompany("ExhibitRebalance_linux")]
[assembly: AssemblyConfiguration("Debug")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyInformationalVersion("1.0.0+cbb608604f5daf75fa9bb7e2d2c3ec2eb5e2785e")]
[assembly: AssemblyProduct("ExhibitRebalance_linux")]
[assembly: AssemblyTitle("ExhibitRebalance_linux")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("1.0.0.0")]
[module: UnverifiableCode]
namespace MyAwesomeBalancePatch
{
[HarmonyPatch]
internal class ExhibitConfigPatch
{
[HarmonyPatch(typeof(ExhibitConfig), "Load")]
private static void Postfix(ExhibitConfig __instance)
{
ExhibitConfig._IdTable["PingfanDao"].Appearance = (AppearanceType)1;
ExhibitConfig._IdTable["PingfanDao"].Value1 = 5;
ExhibitConfig._IdTable["PingfanDao"].Value2 = 10;
ExhibitConfig._IdTable["LouguanJian"].Appearance = (AppearanceType)0;
ExhibitConfig._IdTable["Moping"].Appearance = (AppearanceType)0;
ExhibitConfig._IdTable["LuoboMoxing"].Appearance = (AppearanceType)0;
ExhibitConfig._IdTable["LuoboMoxing"].Rarity = (Rarity)1;
ExhibitConfig._IdTable["ZhuQingting"].Appearance = (AppearanceType)0;
ExhibitConfig._IdTable["Yushenqian"].Appearance = (AppearanceType)0;
ExhibitConfig._IdTable["Yushenqian"].Rarity = (Rarity)1;
ExhibitConfig._IdTable["BoliHufu"].Appearance = (AppearanceType)0;
ExhibitConfig._IdTable["Huiyuanka"].Appearance = (AppearanceType)0;
ExhibitConfig._IdTable["Huiyuanka"].Rarity = (Rarity)1;
ExhibitConfig._IdTable["FaliJingdian"].Appearance = (AppearanceType)0;
ExhibitConfig._IdTable["FaliJingdian"].Rarity = (Rarity)1;
ExhibitConfig._IdTable["YinzhiHuaibiao"].Appearance = (AppearanceType)0;
ExhibitConfig._IdTable["YinzhiHuaibiao"].Rarity = (Rarity)2;
ExhibitConfig._IdTable["Duandai"].Appearance = (AppearanceType)0;
ExhibitConfig._IdTable["Duandai"].Rarity = (Rarity)2;
ExhibitConfig._IdTable["Chaidao"].Appearance = (AppearanceType)1;
ExhibitConfig._IdTable["Jiaobu"].Appearance = (AppearanceType)1;
ExhibitConfig._IdTable["Tnt"].Appearance = (AppearanceType)1;
ExhibitConfig._IdTable["TiangouYuyi"].Appearance = (AppearanceType)1;
ExhibitConfig._IdTable["HuliMianju"].Appearance = (AppearanceType)1;
ExhibitConfig._IdTable["HuliMianju"].Rarity = (Rarity)0;
ExhibitConfig._IdTable["BoreMianju"].Appearance = (AppearanceType)1;
ExhibitConfig._IdTable["BoreMianju"].Rarity = (Rarity)0;
ExhibitConfig._IdTable["HuonanMianju"].Appearance = (AppearanceType)1;
ExhibitConfig._IdTable["HuonanMianju"].Rarity = (Rarity)0;
ExhibitConfig._IdTable["HuonanMianju"].Value2 = 10;
ExhibitConfig._IdTable["XiwangMianju"].Appearance = (AppearanceType)1;
ExhibitConfig._IdTable["XiwangMianju"].Rarity = (Rarity)1;
ExhibitConfig._IdTable["YichuiPiao"].Appearance = (AppearanceType)1;
ExhibitConfig._IdTable["YichuiPiao"].Rarity = (Rarity)0;
ExhibitConfig._IdTable["YuekuangQiang"].Appearance = (AppearanceType)1;
ExhibitConfig._IdTable["YuekuangQiang"].Rarity = (Rarity)1;
ExhibitConfig._IdTable["HuanxiangxiangYuanqi"].Appearance = (AppearanceType)1;
ExhibitConfig._IdTable["HuanxiangxiangYuanqi"].Rarity = (Rarity)0;
ExhibitConfig._IdTable["Zijing"].Appearance = (AppearanceType)1;
ExhibitConfig._IdTable["Zijing"].Rarity = (Rarity)1;
ExhibitConfig._IdTable["YueYuyi"].Rarity = (Rarity)1;
ExhibitConfig._IdTable["DiyuChepiao"].Rarity = (Rarity)1;
ExhibitConfig._IdTable["Yuhangfu"].Rarity = (Rarity)1;
ExhibitConfig._IdTable["Guangjian"].Appearance = (AppearanceType)0;
ExhibitConfig._IdTable["Guangjian"].Value1 = 4;
ExhibitConfig._IdTable["Saiqianxiang"].Value2 = 10;
ExhibitConfig._IdTable["Tnt"].Appearance = (AppearanceType)1;
ExhibitConfig._IdTable["Tnt"].Rarity = (Rarity)0;
ExhibitConfig._IdTable["Tnt"].Value1 = 2;
ExhibitConfig._IdTable["Xunlongchi"].Appearance = (AppearanceType)1;
ExhibitConfig._IdTable["Xunlongchi"].Rarity = (Rarity)0;
ExhibitConfig._IdTable["SunhuaiHufu"].Rarity = (Rarity)1;
ExhibitConfig._IdTable["FeixiangJian"].Rarity = (Rarity)1;
ExhibitConfig._IdTable["WeifengHuban"].Rarity = (Rarity)0;
}
}
}
namespace ExhibitRebalance
{
[BepInPlugin("author.game.typeofmod.SampleCharacter", "SampleCharacterMod", "0.0.1")]
[BepInDependency(/*Could not decode attribute arguments.*/)]
[BepInDependency(/*Could not decode attribute arguments.*/)]
[BepInProcess("LBoL.exe")]
public class BepinexPlugin : BaseUnityPlugin
{
public static string modUniqueID = "ExhibitRebalance";
private static readonly Harmony harmony = PInfo.harmony;
internal static ManualLogSource log;
internal static TemplateSequenceTable sequenceTable = new TemplateSequenceTable(0);
internal static IResourceSource embeddedSource = (IResourceSource)new EmbeddedSource(Assembly.GetExecutingAssembly());
internal static DirectorySource directorySource = new DirectorySource("author.game.typeofmod.SampleCharacter", "");
private void Awake()
{
log = ((BaseUnityPlugin)this).Logger;
Object.DontDestroyOnLoad((Object)(object)((Component)this).gameObject);
((Object)((Component)this).gameObject).hideFlags = (HideFlags)61;
EntityManager.RegisterSelf();
harmony.PatchAll();
if (Chainloader.PluginInfos.ContainsKey("neo.lbol.tools.watermark"))
{
WatermarkWrapper.ActivateWatermark();
}
Func<Sprite> func = () => ResourceLoader.LoadSprite("BossIcon.png", (IResourceSource)(object)directorySource, (Rect?)null, 1, (Vector2?)null);
}
private void OnDestroy()
{
if (harmony != null)
{
harmony.UnpatchSelf();
}
}
}
public static class PInfo
{
public const string GUID = "author.game.typeofmod.SampleCharacter";
public const string Name = "SampleCharacterMod";
public const string version = "0.0.1";
public static readonly Harmony harmony = new Harmony("author.game.typeofmod.SampleCharacter");
}
internal class WatermarkWrapper
{
[MethodImpl(MethodImplOptions.NoInlining)]
internal static void ActivateWatermark()
{
API.ActivateWatermark();
}
}
}
namespace ExhibitRebalance.Localization
{
public sealed class SampleCharacterLocalization
{
public static string Cards = "Cards";
public static string Exhibits = "Exhibits";
public static string PlayerUnit = "PlayerUnit";
public static string EnemiesUnit = "EnemyUnit";
public static string UnitModel = "UnitModel";
public static string UltimateSkills = "UltimateSkills";
public static string StatusEffects = "StatusEffects";
public static BatchLocalization CardsBatchLoc = new BatchLocalization((IResourceSource)(object)BepinexPlugin.directorySource, typeof(CardTemplate), Cards, (Locale)0, false);
public static BatchLocalization ExhibitsBatchLoc = new BatchLocalization((IResourceSource)(object)BepinexPlugin.directorySource, typeof(ExhibitTemplate), Exhibits, (Locale)0, false);
public static BatchLocalization PlayerUnitBatchLoc = new BatchLocalization((IResourceSource)(object)BepinexPlugin.directorySource, typeof(PlayerUnitTemplate), PlayerUnit, (Locale)0, false);
public static BatchLocalization EnemiesUnitBatchLoc = new BatchLocalization((IResourceSource)(object)BepinexPlugin.directorySource, typeof(EnemyUnitTemplate), EnemiesUnit, (Locale)0, false);
public static BatchLocalization UnitModelBatchLoc = new BatchLocalization((IResourceSource)(object)BepinexPlugin.directorySource, typeof(UnitModelTemplate), UnitModel, (Locale)0, false);
public static BatchLocalization UltimateSkillsBatchLoc = new BatchLocalization((IResourceSource)(object)BepinexPlugin.directorySource, typeof(UltimateSkillTemplate), UltimateSkills, (Locale)0, false);
public static BatchLocalization StatusEffectsBatchLoc = new BatchLocalization((IResourceSource)(object)BepinexPlugin.directorySource, typeof(StatusEffectTemplate), StatusEffects, (Locale)0, false);
public static void Init()
{
CardsBatchLoc.DiscoverAndLoadLocFiles(Cards);
ExhibitsBatchLoc.DiscoverAndLoadLocFiles(Exhibits);
PlayerUnitBatchLoc.DiscoverAndLoadLocFiles(PlayerUnit);
EnemiesUnitBatchLoc.DiscoverAndLoadLocFiles(EnemiesUnit);
UnitModelBatchLoc.DiscoverAndLoadLocFiles(UnitModel);
UltimateSkillsBatchLoc.DiscoverAndLoadLocFiles(UltimateSkills);
StatusEffectsBatchLoc.DiscoverAndLoadLocFiles(StatusEffects);
}
}
}
namespace ExhibitRebalance.ImageLoader
{
public sealed class SampleCharacterImageLoader
{
public static string file_extension = ".png";
public static PlayerImages LoadPlayerImages(string name)
{
//IL_0001: Unknown result type (might be due to invalid IL or missing references)
//IL_0007: Expected O, but got Unknown
PlayerImages val = new PlayerImages();
val.AutoLoad(name, (Func<string, Sprite>)((string s) => ResourceLoader.LoadSprite(s, (IResourceSource)(object)BepinexPlugin.directorySource, 100, 1, (FilterMode)1, true, (Rect?)null, (Vector2?)null)), (Func<string, UniTask<Sprite>>)((string s) => ResourceLoader.LoadSpriteAsync(s, BepinexPlugin.directorySource, 100, (GraphicsFormat)4, 1, (FilterMode)1, (SpriteMeshType)1, (Rect?)null, (Vector2?)null, "file://")), (UseSame)2, ".png", "");
return val;
}
public static CardImages LoadCardImages(CardTemplate cardTemplate)
{
//IL_0006: Unknown result type (might be due to invalid IL or missing references)
//IL_000c: Expected O, but got Unknown
CardImages val = new CardImages(BepinexPlugin.embeddedSource);
val.AutoLoad(cardTemplate, file_extension, "", false);
return val;
}
public static ExhibitSprites LoadExhibitSprite(ExhibitTemplate exhibit)
{
//IL_0001: Unknown result type (might be due to invalid IL or missing references)
//IL_0007: Expected O, but got Unknown
//IL_0009: Unknown result type (might be due to invalid IL or missing references)
ExhibitSprites val = new ExhibitSprites();
val.main = ResourceLoader.LoadSprite(IdContainer.op_Implicit(((EntityDefinition)exhibit).GetId()) + file_extension, BepinexPlugin.embeddedSource, (Rect?)null, 1, (Vector2?)null);
return val;
}
public static Sprite LoadUltLoader(UltimateSkillTemplate ult)
{
//IL_0002: Unknown result type (might be due to invalid IL or missing references)
return LoadSprite(((EntityDefinition)ult).GetId());
}
public static Sprite LoadStatusEffectLoader(StatusEffectTemplate status)
{
//IL_0002: Unknown result type (might be due to invalid IL or missing references)
return LoadSprite(((EntityDefinition)status).GetId());
}
public static Sprite LoadSprite(IdContainer ID)
{
//IL_0001: Unknown result type (might be due to invalid IL or missing references)
return ResourceLoader.LoadSprite(IdContainer.op_Implicit(ID) + file_extension, BepinexPlugin.embeddedSource, (Rect?)null, 1, (Vector2?)null);
}
}
}
namespace ExhibitRebalance.Exhibits
{
[OverwriteVanilla]
public sealed class PingguoDef : ExhibitTemplate
{
public override IdContainer GetId()
{
//IL_0006: 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_000e: Unknown result type (might be due to invalid IL or missing references)
return IdContainer.op_Implicit("Pingguo");
}
public override LocalizationOption LoadLocalization()
{
return (LocalizationOption)(object)SampleCharacterLocalization.ExhibitsBatchLoc.AddEntity((EntityDefinition)(object)this);
}
public override ExhibitSprites LoadSprite()
{
//IL_0001: Unknown result type (might be due to invalid IL or missing references)
//IL_0007: Expected O, but got Unknown
//IL_0009: Unknown result type (might be due to invalid IL or missing references)
ExhibitSprites val = new ExhibitSprites();
val.main = ResourceLoader.LoadSprite(IdContainer.op_Implicit(((EntityDefinition)this).GetId()) + ".png", BepinexPlugin.embeddedSource, (Rect?)null, 1, (Vector2?)null);
return val;
}
public override ExhibitConfig MakeConfig()
{
//IL_005d: Unknown result type (might be due to invalid IL or missing references)
//IL_0063: Expected O, but got Unknown
return new ExhibitConfig(408, "Pingguo", 10, false, true, false, true, (AppearanceType)0, (string)null, (ExhibitLosableType)0, (Rarity)0, (int?)12, (int?)1, (int?)null, (ManaGroup?)null, (ManaColor?)null, (ManaColor?)null, 1, false, (int?)null, (Keyword)0, (IReadOnlyList<string>)new List<string>(), (IReadOnlyList<string>)new List<string>());
}
}
[EntityLogic(typeof(PingguoDef))]
public sealed class Pingguo : Exhibit
{
protected override void OnGain(PlayerUnit player)
{
((GameEntity)this).GameRun.GainMaxHp(((Exhibit)this).Value1, true, true);
}
protected override void OnEnterBattle()
{
((Exhibit)this).ReactBattleEvent<GameEventArgs>(((Exhibit)this).Battle.BattleStarted, (EventSequencedReactor<GameEventArgs>)OnBattleStarted);
}
private IEnumerable<BattleAction> OnBattleStarted(GameEventArgs args)
{
yield return (BattleAction)(object)new ApplyStatusEffectAction<AmuletForCard>((Unit)(object)((Exhibit)this).Owner, (int?)((Exhibit)this).Value2, (int?)null, (int?)null, (int?)null, 0f, true);
}
}
public sealed class BewitchedBroomExhibitDef : ExhibitTemplate
{
public override IdContainer GetId()
{
//IL_0006: 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_000e: Unknown result type (might be due to invalid IL or missing references)
return IdContainer.op_Implicit("BewitchedBroomExhibit");
}
public override LocalizationOption LoadLocalization()
{
return (LocalizationOption)(object)SampleCharacterLocalization.ExhibitsBatchLoc.AddEntity((EntityDefinition)(object)this);
}
public override ExhibitSprites LoadSprite()
{
//IL_0001: Unknown result type (might be due to invalid IL or missing references)
//IL_0007: Expected O, but got Unknown
//IL_0009: Unknown result type (might be due to invalid IL or missing references)
ExhibitSprites val = new ExhibitSprites();
val.main = ResourceLoader.LoadSprite(IdContainer.op_Implicit(((EntityDefinition)this).GetId()) + ".png", BepinexPlugin.embeddedSource, (Rect?)null, 1, (Vector2?)null);
return val;
}
public override ExhibitConfig MakeConfig()
{
//IL_002e: 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_006c: Unknown result type (might be due to invalid IL or missing references)
//IL_0072: Expected O, but got Unknown
ManaGroup value = default(ManaGroup);
((ManaGroup)(ref value)).Black = 1;
return new ExhibitConfig(0, "", 10, false, true, false, false, (AppearanceType)0, (string)null, (ExhibitLosableType)0, (Rarity)2, (int?)null, (int?)null, (int?)null, (ManaGroup?)value, (ManaColor?)null, (ManaColor?)null, 1, false, (int?)null, (Keyword)0, (IReadOnlyList<string>)new List<string>(), (IReadOnlyList<string>)new List<string>());
}
}
[EntityLogic(typeof(BewitchedBroomExhibitDef))]
public sealed class BewitchedBroomExhibit : Exhibit
{
protected override void OnEnterBattle()
{
((Exhibit)this).ReactBattleEvent<StatusEffectApplyEventArgs>(((Unit)((Exhibit)this).Battle.Player).StatusEffectAdding, (EventSequencedReactor<StatusEffectApplyEventArgs>)OnStatusEffectAdding);
}
private IEnumerable<BattleAction> OnStatusEffectAdding(StatusEffectApplyEventArgs args)
{
if ((int)args.Effect.Type == 1)
{
<>n__0();
yield return (BattleAction)new GainManaAction(((Exhibit)this).Mana);
}
}
[CompilerGenerated]
[DebuggerHidden]
private void <>n__0()
{
((Exhibit)this).NotifyActivating();
}
}
[OverwriteVanilla]
public sealed class HeiseBijibenDef : ExhibitTemplate
{
public override IdContainer GetId()
{
//IL_0006: 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_000e: Unknown result type (might be due to invalid IL or missing references)
return IdContainer.op_Implicit("HeiseBijiben");
}
public override LocalizationOption LoadLocalization()
{
return (LocalizationOption)(object)SampleCharacterLocalization.ExhibitsBatchLoc.AddEntity((EntityDefinition)(object)this);
}
public override ExhibitSprites LoadSprite()
{
//IL_0001: Unknown result type (might be due to invalid IL or missing references)
//IL_0007: Expected O, but got Unknown
//IL_0009: Unknown result type (might be due to invalid IL or missing references)
ExhibitSprites val = new ExhibitSprites();
val.main = ResourceLoader.LoadSprite(IdContainer.op_Implicit(((EntityDefinition)this).GetId()) + ".png", BepinexPlugin.embeddedSource, (Rect?)null, 1, (Vector2?)null);
return val;
}
public override ExhibitConfig MakeConfig()
{
//IL_0060: Unknown result type (might be due to invalid IL or missing references)
//IL_0066: Expected O, but got Unknown
return new ExhibitConfig(614, "HeiseBijiben", 10, false, true, false, true, (AppearanceType)0, (string)null, (ExhibitLosableType)0, (Rarity)0, (int?)25, (int?)null, (int?)null, (ManaGroup?)null, (ManaColor?)null, (ManaColor?)null, 1, false, (int?)null, (Keyword)0, (IReadOnlyList<string>)new List<string>(), (IReadOnlyList<string>)new List<string>());
}
}
[EntityLogic(typeof(HeiseBijibenDef))]
public sealed class HeiseBijiben : Exhibit
{
protected override void OnEnterBattle()
{
((Exhibit)this).ReactBattleEvent<GameEventArgs>(((Exhibit)this).Battle.BattleStarted, (EventSequencedReactor<GameEventArgs>)OnBattleStarted);
}
private IEnumerable<BattleAction> OnBattleStarted(GameEventArgs args)
{
List<EnemyUnit> list = new List<EnemyUnit>();
foreach (EnemyUnit enemyUnit in ((Exhibit)this).Battle.EnemyGroup)
{
if (((Unit)enemyUnit).IsAlive && enemyUnit.Config.RealName)
{
list.Add(enemyUnit);
}
}
if (list.Count > 0)
{
yield return (BattleAction)new DamageAction((Unit)(object)((Exhibit)this).Owner, (IEnumerable<Unit>)list, DamageInfo.HpLose((float)((Exhibit)this).Value1 * (float)(((GameEntity)this).GameRun.CurrentStation.Stage.Index + 1), false), "Instant", (GunType)0);
}
}
}
[OverwriteVanilla]
public sealed class HuangyouJiqirenDef : ExhibitTemplate
{
public override IdContainer GetId()
{
//IL_0006: 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_000e: Unknown result type (might be due to invalid IL or missing references)
return IdContainer.op_Implicit("HuangyouJiqiren");
}
public override LocalizationOption LoadLocalization()
{
return (LocalizationOption)(object)SampleCharacterLocalization.ExhibitsBatchLoc.AddEntity((EntityDefinition)(object)this);
}
public override ExhibitSprites LoadSprite()
{
//IL_0001: Unknown result type (might be due to invalid IL or missing references)
//IL_0007: Expected O, but got Unknown
//IL_0009: Unknown result type (might be due to invalid IL or missing references)
ExhibitSprites val = new ExhibitSprites();
val.main = ResourceLoader.LoadSprite(IdContainer.op_Implicit(((EntityDefinition)this).GetId()) + ".png", BepinexPlugin.embeddedSource, (Rect?)null, 1, (Vector2?)null);
return val;
}
public override ExhibitConfig MakeConfig()
{
//IL_0059: Unknown result type (might be due to invalid IL or missing references)
//IL_005f: Expected O, but got Unknown
return new ExhibitConfig(523, "HuangyouJiqiren", 10, false, true, false, true, (AppearanceType)0, (string)null, (ExhibitLosableType)0, (Rarity)0, (int?)5, (int?)2, (int?)3, (ManaGroup?)null, (ManaColor?)null, (ManaColor?)null, 1, false, (int?)null, (Keyword)0, (IReadOnlyList<string>)new List<string>(), (IReadOnlyList<string>)new List<string>());
}
}
[EntityLogic(typeof(HuangyouJiqirenDef))]
public sealed class HuangyouJiqiren : Exhibit
{
protected override void OnEnterBattle()
{
((Exhibit)this).ReactBattleEvent<UnitEventArgs>(((Unit)((Exhibit)this).Owner).TurnStarting, (EventSequencedReactor<UnitEventArgs>)OnTurnStarting);
}
private IEnumerable<BattleAction> OnTurnStarting(UnitEventArgs args)
{
if (((Unit)((Exhibit)this).Battle.Player).TurnCounter != ((Exhibit)this).Value2 && ((Unit)((Exhibit)this).Battle.Player).TurnCounter != ((Exhibit)this).Value3)
{
yield break;
}
<>n__0();
Card[] array = ((Exhibit)this).Battle.RollCards(new CardWeightTable(RarityWeightTable.OnlyRare, OwnerWeightTable.Valid, CardTypeWeightTable.CanBeLoot, false), 1, (Predicate<CardConfig>)null);
if (array.Length != 0)
{
Card[] array2 = array;
foreach (Card card in array2)
{
card.IsExile = true;
card.IsEthereal = true;
}
yield return (BattleAction)new AddCardsToHandAction(array);
}
}
[CompilerGenerated]
[DebuggerHidden]
private void <>n__0()
{
((Exhibit)this).NotifyActivating();
}
}
[OverwriteVanilla]
public sealed class DiannaoPeijianDef : ExhibitTemplate
{
public override IdContainer GetId()
{
//IL_0006: 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_000e: Unknown result type (might be due to invalid IL or missing references)
return IdContainer.op_Implicit("DiannaoPeijian");
}
public override LocalizationOption LoadLocalization()
{
return (LocalizationOption)(object)SampleCharacterLocalization.ExhibitsBatchLoc.AddEntity((EntityDefinition)(object)this);
}
public override ExhibitSprites LoadSprite()
{
//IL_0001: Unknown result type (might be due to invalid IL or missing references)
//IL_0007: Expected O, but got Unknown
//IL_0009: Unknown result type (might be due to invalid IL or missing references)
ExhibitSprites val = new ExhibitSprites();
val.main = ResourceLoader.LoadSprite(IdContainer.op_Implicit(((EntityDefinition)this).GetId()) + ".png", BepinexPlugin.embeddedSource, (Rect?)null, 1, (Vector2?)null);
return val;
}
public override ExhibitConfig MakeConfig()
{
//IL_0061: Unknown result type (might be due to invalid IL or missing references)
//IL_0067: Expected O, but got Unknown
return new ExhibitConfig(522, "DiannaoPeijian", 10, false, true, false, true, (AppearanceType)0, (string)null, (ExhibitLosableType)0, (Rarity)0, (int?)100, (int?)1, (int?)null, (ManaGroup?)null, (ManaColor?)null, (ManaColor?)null, 1, false, (int?)null, (Keyword)16384, (IReadOnlyList<string>)new List<string>(), (IReadOnlyList<string>)new List<string>());
}
}
[EntityLogic(typeof(DiannaoPeijianDef))]
public sealed class DiannaoPeijian : Exhibit
{
protected override void OnAdded(PlayerUnit player)
{
UltimateSkill us = player.Us;
us.MaxPowerLevel += ((Exhibit)this).Value2;
((GameEntity)this).GameRun.GainPower(((Exhibit)this).Value1, false);
}
protected override void OnRemoved(PlayerUnit player)
{
UltimateSkill us = player.Us;
us.MaxPowerLevel -= ((Exhibit)this).Value2;
}
}
[OverwriteVanilla]
public sealed class CookieDef : ExhibitTemplate
{
public override IdContainer GetId()
{
//IL_0006: 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_000e: Unknown result type (might be due to invalid IL or missing references)
return IdContainer.op_Implicit("Cookie");
}
public override LocalizationOption LoadLocalization()
{
return (LocalizationOption)(object)SampleCharacterLocalization.ExhibitsBatchLoc.AddEntity((EntityDefinition)(object)this);
}
public override ExhibitSprites LoadSprite()
{
//IL_0001: Unknown result type (might be due to invalid IL or missing references)
//IL_0007: Expected O, but got Unknown
//IL_0009: Unknown result type (might be due to invalid IL or missing references)
ExhibitSprites val = new ExhibitSprites();
val.main = ResourceLoader.LoadSprite(IdContainer.op_Implicit(((EntityDefinition)this).GetId()) + ".png", BepinexPlugin.embeddedSource, (Rect?)null, 1, (Vector2?)null);
return val;
}
public override ExhibitConfig MakeConfig()
{
//IL_005f: Unknown result type (might be due to invalid IL or missing references)
//IL_0065: Expected O, but got Unknown
return new ExhibitConfig(610, "Cookie", 10, false, true, false, true, (AppearanceType)1, (string)null, (ExhibitLosableType)0, (Rarity)0, (int?)4, (int?)null, (int?)null, (ManaGroup?)null, (ManaColor?)null, (ManaColor?)null, 1, false, (int?)null, (Keyword)0, (IReadOnlyList<string>)new List<string>(), (IReadOnlyList<string>)new List<string>());
}
}
[EntityLogic(typeof(CookieDef))]
public sealed class Cookie : Exhibit
{
protected override void OnGain(PlayerUnit player)
{
((GameEntity)this).GameRun.GainMaxHp(((Exhibit)this).Value1, true, true);
((GameEntity)this).GameRun.HealToMaxHp(true, "Cookie");
((GameEntity)this).GameRun.GainPower(player.MaxPower - player.Power, false);
}
}
public class SampleCharacterExhibitTemplate : ExhibitTemplate
{
public override IdContainer GetId()
{
//IL_001d: Unknown result type (might be due to invalid IL or missing references)
//IL_0022: Unknown result type (might be due to invalid IL or missing references)
//IL_0025: Unknown result type (might be due to invalid IL or missing references)
string name = ((object)this).GetType().Name;
string text = name.Remove(name.Length - 3);
return IdContainer.op_Implicit(text);
}
public override LocalizationOption LoadLocalization()
{
return (LocalizationOption)(object)SampleCharacterLocalization.ExhibitsBatchLoc.AddEntity((EntityDefinition)(object)this);
}
public override ExhibitSprites LoadSprite()
{
//IL_0001: Unknown result type (might be due to invalid IL or missing references)
//IL_0007: Expected O, but got Unknown
//IL_0009: Unknown result type (might be due to invalid IL or missing references)
ExhibitSprites val = new ExhibitSprites();
val.main = ResourceLoader.LoadSprite(IdContainer.op_Implicit(((EntityDefinition)this).GetId()) + ".png", BepinexPlugin.embeddedSource, (Rect?)null, 1, (Vector2?)null);
return val;
}
public override ExhibitConfig MakeConfig()
{
return GetDefaultExhibitConfig();
}
public ExhibitConfig GetDefaultExhibitConfig()
{
return SampleCharacterDefaultConfig.GetDefaultExhibitConfig();
}
}
[OverwriteVanilla]
public sealed class JingzhiChajuDef : ExhibitTemplate
{
public override IdContainer GetId()
{
//IL_0006: 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_000e: Unknown result type (might be due to invalid IL or missing references)
return IdContainer.op_Implicit("JingzhiChaju");
}
public override LocalizationOption LoadLocalization()
{
return (LocalizationOption)(object)SampleCharacterLocalization.ExhibitsBatchLoc.AddEntity((EntityDefinition)(object)this);
}
public override ExhibitSprites LoadSprite()
{
//IL_0001: Unknown result type (might be due to invalid IL or missing references)
//IL_0007: Expected O, but got Unknown
//IL_0009: Unknown result type (might be due to invalid IL or missing references)
ExhibitSprites val = new ExhibitSprites();
val.main = ResourceLoader.LoadSprite(IdContainer.op_Implicit(((EntityDefinition)this).GetId()) + ".png", BepinexPlugin.embeddedSource, (Rect?)null, 1, (Vector2?)null);
return val;
}
public override ExhibitConfig MakeConfig()
{
//IL_0062: Unknown result type (might be due to invalid IL or missing references)
//IL_0068: Expected O, but got Unknown
return new ExhibitConfig(521, "JingzhiChaju", 10, false, true, false, true, (AppearanceType)0, (string)null, (ExhibitLosableType)0, (Rarity)0, (int?)15, (int?)50, (int?)null, (ManaGroup?)null, (ManaColor?)null, (ManaColor?)null, 1, false, (int?)null, (Keyword)16384, (IReadOnlyList<string>)new List<string>(), (IReadOnlyList<string>)new List<string>());
}
}
[EntityLogic(typeof(JingzhiChajuDef))]
public sealed class JingzhiChaju : Exhibit
{
protected override void OnAdded(PlayerUnit player)
{
GameRunController gameRun = ((GameEntity)this).GameRun;
gameRun.DrinkTeaAdditionalEnergy += ((Exhibit)this).Value2;
((Exhibit)this).HandleGameRunEvent<StationEventArgs>(((GameEntity)this).GameRun.StationEntered, (GameEventHandler<StationEventArgs>)delegate(StationEventArgs args)
{
//IL_0007: Unknown result type (might be due to invalid IL or missing references)
//IL_000d: Invalid comparison between Unknown and I4
if ((int)args.Station.Type == 4)
{
((Exhibit)this).NotifyActivating();
((GameEntity)this).GameRun.Heal(((Unit)((GameEntity)this).GameRun.Player).MaxHp * (((Exhibit)this).Value1 / 100), true, "JingzhiChaju");
}
});
}
protected override void OnRemoved(PlayerUnit player)
{
GameRunController gameRun = ((GameEntity)this).GameRun;
gameRun.DrinkTeaAdditionalEnergy -= ((Exhibit)this).Value2;
}
}
public sealed class FrozenFrogExhibitDef : ExhibitTemplate
{
public override IdContainer GetId()
{
//IL_0006: 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_000e: Unknown result type (might be due to invalid IL or missing references)
return IdContainer.op_Implicit("FrozenFrogExhibit");
}
public override LocalizationOption LoadLocalization()
{
return (LocalizationOption)(object)SampleCharacterLocalization.ExhibitsBatchLoc.AddEntity((EntityDefinition)(object)this);
}
public override ExhibitSprites LoadSprite()
{
//IL_0001: Unknown result type (might be due to invalid IL or missing references)
//IL_0007: Expected O, but got Unknown
//IL_0009: Unknown result type (might be due to invalid IL or missing references)
ExhibitSprites val = new ExhibitSprites();
val.main = ResourceLoader.LoadSprite(IdContainer.op_Implicit(((EntityDefinition)this).GetId()) + ".png", BepinexPlugin.embeddedSource, (Rect?)null, 1, (Vector2?)null);
return val;
}
public override ExhibitConfig MakeConfig()
{
//IL_002e: 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_006c: Unknown result type (might be due to invalid IL or missing references)
//IL_0072: Expected O, but got Unknown
ManaGroup value = default(ManaGroup);
((ManaGroup)(ref value)).Blue = 1;
return new ExhibitConfig(0, "", 10, false, true, false, false, (AppearanceType)0, (string)null, (ExhibitLosableType)0, (Rarity)2, (int?)null, (int?)null, (int?)null, (ManaGroup?)value, (ManaColor?)null, (ManaColor?)null, 1, false, (int?)null, (Keyword)0, (IReadOnlyList<string>)new List<string>(), (IReadOnlyList<string>)new List<string>());
}
}
[EntityLogic(typeof(FrozenFrogExhibitDef))]
public sealed class FrozenFrogExhibit : Exhibit
{
protected override void OnEnterBattle()
{
((Exhibit)this).ReactBattleEvent<UnitEventArgs>(((Unit)((Exhibit)this).Battle.Player).TurnStarted, (EventSequencedReactor<UnitEventArgs>)OnPlayerTurnStarted);
}
private IEnumerable<BattleAction> OnPlayerTurnStarted(GameEventArgs args)
{
if (((Unit)((Exhibit)this).Battle.Player).TurnCounter >= 2)
{
<>n__0();
yield return (BattleAction)new GainManaAction(((Exhibit)this).Mana);
}
}
protected override void OnLeaveBattle()
{
((Exhibit)this).Active = false;
}
[CompilerGenerated]
[DebuggerHidden]
private void <>n__0()
{
((Exhibit)this).NotifyActivating();
}
}
[OverwriteVanilla]
public sealed class PutaoDef : ExhibitTemplate
{
public override IdContainer GetId()
{
//IL_0006: 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_000e: Unknown result type (might be due to invalid IL or missing references)
return IdContainer.op_Implicit("Putao");
}
public override LocalizationOption LoadLocalization()
{
return (LocalizationOption)(object)SampleCharacterLocalization.ExhibitsBatchLoc.AddEntity((EntityDefinition)(object)this);
}
public override ExhibitSprites LoadSprite()
{
//IL_0001: Unknown result type (might be due to invalid IL or missing references)
//IL_0007: Expected O, but got Unknown
//IL_0009: Unknown result type (might be due to invalid IL or missing references)
ExhibitSprites val = new ExhibitSprites();
val.main = ResourceLoader.LoadSprite(IdContainer.op_Implicit(((EntityDefinition)this).GetId()) + ".png", BepinexPlugin.embeddedSource, (Rect?)null, 1, (Vector2?)null);
return val;
}
public override ExhibitConfig MakeConfig()
{
//IL_0060: Unknown result type (might be due to invalid IL or missing references)
//IL_0066: Expected O, but got Unknown
return new ExhibitConfig(507, "Putao", 10, false, true, false, true, (AppearanceType)0, (string)null, (ExhibitLosableType)0, (Rarity)0, (int?)8, (int?)2, (int?)null, (ManaGroup?)null, (ManaColor?)null, (ManaColor?)null, 1, false, (int?)null, (Keyword)16384, (IReadOnlyList<string>)new List<string>(), (IReadOnlyList<string>)new List<string>());
}
}
[EntityLogic(typeof(PutaoDef))]
public sealed class Putao : Exhibit
{
protected override void OnEnterBattle()
{
((Exhibit)this).HandleBattleEvent<DamageEventArgs>(((Unit)((Exhibit)this).Battle.Player).DamageTaking, (GameEventHandler<DamageEventArgs>)OnPlayerDamageTaking);
((Exhibit)this).Active = true;
}
protected override void OnGain(PlayerUnit player)
{
((GameEntity)this).GameRun.GainMaxHp(((Exhibit)this).Value1, true, true);
}
private void OnPlayerDamageTaking(DamageEventArgs args)
{
//IL_000a: Unknown result type (might be due to invalid IL or missing references)
//IL_000f: Unknown result type (might be due to invalid IL or missing references)
//IL_003d: Unknown result type (might be due to invalid IL or missing references)
//IL_0042: Unknown result type (might be due to invalid IL or missing references)
if (((Exhibit)this).Active)
{
DamageInfo damageInfo = args.DamageInfo;
if (MathExtensions.RoundToInt(((DamageInfo)(ref damageInfo)).Damage) > 0)
{
((Exhibit)this).NotifyActivating();
((Exhibit)this).Active = false;
GameRunController gameRun = ((GameEntity)this).GameRun;
damageInfo = args.DamageInfo;
gameRun.GainPower(MathExtensions.RoundToInt(((DamageInfo)(ref damageInfo)).Damage) * ((Exhibit)this).Value2, true);
}
}
}
}
[OverwriteVanilla]
public sealed class ShoubiaoMazuiqiangDef : ExhibitTemplate
{
public override IdContainer GetId()
{
//IL_0006: 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_000e: Unknown result type (might be due to invalid IL or missing references)
return IdContainer.op_Implicit("ShoubiaoMazuiqiang");
}
public override LocalizationOption LoadLocalization()
{
return (LocalizationOption)(object)SampleCharacterLocalization.ExhibitsBatchLoc.AddEntity((EntityDefinition)(object)this);
}
public override ExhibitSprites LoadSprite()
{
//IL_0001: Unknown result type (might be due to invalid IL or missing references)
//IL_0007: Expected O, but got Unknown
//IL_0009: Unknown result type (might be due to invalid IL or missing references)
ExhibitSprites val = new ExhibitSprites();
val.main = ResourceLoader.LoadSprite(IdContainer.op_Implicit(((EntityDefinition)this).GetId()) + ".png", BepinexPlugin.embeddedSource, (Rect?)null, 1, (Vector2?)null);
return val;
}
public override ExhibitConfig MakeConfig()
{
//IL_005f: Unknown result type (might be due to invalid IL or missing references)
//IL_0065: Expected O, but got Unknown
return new ExhibitConfig(611, "ShoubiaoMazuiqiang", 10, false, true, false, true, (AppearanceType)0, (string)null, (ExhibitLosableType)0, (Rarity)1, (int?)1, (int?)null, (int?)null, (ManaGroup?)null, (ManaColor?)null, (ManaColor?)null, 1, false, (int?)null, (Keyword)0, (IReadOnlyList<string>)new List<string>(), (IReadOnlyList<string>)new List<string>());
}
}
[EntityLogic(typeof(ShoubiaoMazuiqiangDef))]
public sealed class ShoubiaoMazuiqiang : Exhibit
{
protected override void OnEnterBattle()
{
((Exhibit)this).ReactBattleEvent<GameEventArgs>(((Exhibit)this).Battle.BattleStarted, (EventSequencedReactor<GameEventArgs>)OnBattleStarted);
}
private IEnumerable<BattleAction> OnBattleStarted(GameEventArgs args)
{
foreach (EnemyUnit enemyUnit in ((Exhibit)this).Battle.EnemyGroup)
{
if (((Unit)enemyUnit).IsAlive)
{
yield return (BattleAction)(object)new ApplyStatusEffectAction<Weak>((Unit)(object)enemyUnit, (int?)1, (int?)((Exhibit)this).Value1, (int?)null, (int?)null, 0f, true);
yield return (BattleAction)(object)new ApplyStatusEffectAction<Vulnerable>((Unit)(object)enemyUnit, (int?)1, (int?)((Exhibit)this).Value1, (int?)null, (int?)null, 0f, true);
}
}
}
}
[OverwriteVanilla]
public sealed class He3Def : ExhibitTemplate
{
public override IdContainer GetId()
{
//IL_0006: 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_000e: Unknown result type (might be due to invalid IL or missing references)
return IdContainer.op_Implicit("He3");
}
public override LocalizationOption LoadLocalization()
{
return (LocalizationOption)(object)SampleCharacterLocalization.ExhibitsBatchLoc.AddEntity((EntityDefinition)(object)this);
}
public override ExhibitSprites LoadSprite()
{
//IL_0001: Unknown result type (might be due to invalid IL or missing references)
//IL_0007: Expected O, but got Unknown
//IL_0009: Unknown result type (might be due to invalid IL or missing references)
ExhibitSprites val = new ExhibitSprites();
val.main = ResourceLoader.LoadSprite(IdContainer.op_Implicit(((EntityDefinition)this).GetId()) + ".png", BepinexPlugin.embeddedSource, (Rect?)null, 1, (Vector2?)null);
return val;
}
public override ExhibitConfig MakeConfig()
{
//IL_005f: Unknown result type (might be due to invalid IL or missing references)
//IL_0065: Expected O, but got Unknown
return new ExhibitConfig(301, "He3", 10, false, true, false, true, (AppearanceType)1, (string)null, (ExhibitLosableType)0, (Rarity)1, (int?)3, (int?)null, (int?)null, (ManaGroup?)null, (ManaColor?)null, (ManaColor?)null, 1, false, (int?)null, (Keyword)0, (IReadOnlyList<string>)new List<string>(), (IReadOnlyList<string>)new List<string>());
}
}
[EntityLogic(typeof(He3Def))]
public sealed class He3 : Exhibit
{
protected override void OnEnterBattle()
{
((Exhibit)this).ReactBattleEvent<UnitEventArgs>(((Unit)((Exhibit)this).Owner).TurnStarted, (EventSequencedReactor<UnitEventArgs>)OnPlayerTurnStarted);
}
private IEnumerable<BattleAction> OnPlayerTurnStarted(UnitEventArgs args)
{
List<Card> list = ((Exhibit)this).Battle.DrawZone.Where(delegate(Card card)
{
//IL_0001: Unknown result type (might be due to invalid IL or missing references)
//IL_0006: Unknown result type (might be due to invalid IL or missing references)
ManaGroup configCost = card.ConfigCost;
return ((ManaGroup)(ref configCost)).Amount == ((Exhibit)this).Value1;
}).ToList();
if (list.Count > 0)
{
yield return (BattleAction)new DrawSelectedCardAction(list[0]);
}
}
}
[OverwriteVanilla]
[ExhibitInfo(ExpireStageLevel = 3, ExpireStationLevel = 9)]
public sealed class JudaShaoziDef : ExhibitTemplate
{
public override IdContainer GetId()
{
//IL_0006: 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_000e: Unknown result type (might be due to invalid IL or missing references)
return IdContainer.op_Implicit("JudaShaozi");
}
public override LocalizationOption LoadLocalization()
{
return (LocalizationOption)(object)SampleCharacterLocalization.ExhibitsBatchLoc.AddEntity((EntityDefinition)(object)this);
}
public override ExhibitSprites LoadSprite()
{
//IL_0001: Unknown result type (might be due to invalid IL or missing references)
//IL_0007: Expected O, but got Unknown
//IL_0009: Unknown result type (might be due to invalid IL or missing references)
ExhibitSprites val = new ExhibitSprites();
val.main = ResourceLoader.LoadSprite(IdContainer.op_Implicit(((EntityDefinition)this).GetId()) + ".png", BepinexPlugin.embeddedSource, (Rect?)null, 1, (Vector2?)null);
return val;
}
public override ExhibitConfig MakeConfig()
{
//IL_0060: Unknown result type (might be due to invalid IL or missing references)
//IL_0066: Expected O, but got Unknown
return new ExhibitConfig(525, "JudaShaozi", 10, false, true, false, true, (AppearanceType)0, (string)null, (ExhibitLosableType)0, (Rarity)0, (int?)13, (int?)null, (int?)null, (ManaGroup?)null, (ManaColor?)null, (ManaColor?)null, 1, false, (int?)null, (Keyword)8, (IReadOnlyList<string>)new List<string>(), (IReadOnlyList<string>)new List<string>());
}
}
[EntityLogic(typeof(JudaShaoziDef))]
public sealed class JudaShaozi : Exhibit
{
protected override void OnGain(PlayerUnit player)
{
//IL_0020: Unknown result type (might be due to invalid IL or missing references)
//IL_0026: Invalid comparison between Unknown and I4
int num = 0;
foreach (Card item in ((GameEntity)this).GameRun.BaseDeck)
{
if ((int)item.CardType == 8)
{
num++;
}
}
if (num >= 1)
{
((Exhibit)this).NotifyActivating();
((GameEntity)this).GameRun.GainMaxHp(num * ((Exhibit)this).Value1, true, true);
}
}
protected override void OnAdded(PlayerUnit player)
{
((Exhibit)this).HandleGameRunEvent<CardsEventArgs>(((GameEntity)this).GameRun.DeckCardsAdded, (GameEventHandler<CardsEventArgs>)delegate(CardsEventArgs args)
{
int num = args.Cards.Count((Card card) => (int)card.CardType == 8);
if (num > 0)
{
((Exhibit)this).NotifyActivating();
((GameEntity)this).GameRun.GainMaxHp(num * ((Exhibit)this).Value1, true, true);
}
});
}
}
[OverwriteVanilla]
[UsedImplicitly]
public sealed class XiaorenWanDef : ExhibitTemplate
{
public override IdContainer GetId()
{
//IL_0006: 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_000e: Unknown result type (might be due to invalid IL or missing references)
return IdContainer.op_Implicit("XiaorenWan");
}
public override LocalizationOption LoadLocalization()
{
return (LocalizationOption)(object)SampleCharacterLocalization.ExhibitsBatchLoc.AddEntity((EntityDefinition)(object)this);
}
public override ExhibitSprites LoadSprite()
{
//IL_0001: Unknown result type (might be due to invalid IL or missing references)
//IL_0007: Expected O, but got Unknown
//IL_0009: Unknown result type (might be due to invalid IL or missing references)
ExhibitSprites val = new ExhibitSprites();
val.main = ResourceLoader.LoadSprite(IdContainer.op_Implicit(((EntityDefinition)this).GetId()) + ".png", BepinexPlugin.embeddedSource, (Rect?)null, 1, (Vector2?)null);
return val;
}
public override ExhibitConfig MakeConfig()
{
//IL_005c: Unknown result type (might be due to invalid IL or missing references)
//IL_0062: Expected O, but got Unknown
return new ExhibitConfig(425, "XiaorenWan", 10, false, true, false, true, (AppearanceType)0, (string)null, (ExhibitLosableType)0, (Rarity)0, (int?)2, (int?)1, (int?)null, (ManaGroup?)null, (ManaColor?)null, (ManaColor?)null, 1, false, (int?)null, (Keyword)0, (IReadOnlyList<string>)new List<string>(), (IReadOnlyList<string>)new List<string>());
}
}
[EntityLogic(typeof(XiaorenWanDef))]
public sealed class XiaorenWan : Exhibit
{
protected override void OnAdded(PlayerUnit player)
{
((Exhibit)this).HandleGameRunEvent<GameEventArgs>(((GameEntity)this).GameRun.RewardAbandoned, (GameEventHandler<GameEventArgs>)delegate
{
((Exhibit)this).NotifyActivating();
((GameEntity)this).GameRun.GainMaxHp(((Exhibit)this).Value1, true, true);
});
}
protected override void OnEnterBattle()
{
((Exhibit)this).HandleBattleEvent<UnitEventArgs>(((Unit)((Exhibit)this).Battle.Player).TurnStarting, (GameEventHandler<UnitEventArgs>)delegate
{
((Exhibit)this).Active = true;
});
((Exhibit)this).ReactBattleEvent<CardUsingEventArgs>(((Exhibit)this).Battle.CardUsed, (EventSequencedReactor<CardUsingEventArgs>)OnCardUsed);
}
private IEnumerable<BattleAction> OnCardUsed(CardUsingEventArgs args)
{
if (args.Card.IsBasic && ((Exhibit)this).Active)
{
<>n__0();
((Exhibit)this).Active = false;
yield return (BattleAction)new DrawManyCardAction(((Exhibit)this).Value2);
}
}
protected override void OnLeaveBattle()
{
((Exhibit)this).Active = false;
}
[CompilerGenerated]
[DebuggerHidden]
private void <>n__0()
{
((Exhibit)this).NotifyActivating();
}
}
[OverwriteVanilla]
public sealed class TaoziDef : ExhibitTemplate
{
public override IdContainer GetId()
{
//IL_0006: 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_000e: Unknown result type (might be due to invalid IL or missing references)
return IdContainer.op_Implicit("Taozi");
}
public override LocalizationOption LoadLocalization()
{
return (LocalizationOption)(object)SampleCharacterLocalization.ExhibitsBatchLoc.AddEntity((EntityDefinition)(object)this);
}
public override ExhibitSprites LoadSprite()
{
//IL_0001: Unknown result type (might be due to invalid IL or missing references)
//IL_0007: Expected O, but got Unknown
//IL_0009: Unknown result type (might be due to invalid IL or missing references)
ExhibitSprites val = new ExhibitSprites();
val.main = ResourceLoader.LoadSprite(IdContainer.op_Implicit(((EntityDefinition)this).GetId()) + ".png", BepinexPlugin.embeddedSource, (Rect?)null, 1, (Vector2?)null);
return val;
}
public override ExhibitConfig MakeConfig()
{
//IL_0030: Unknown result type (might be due to invalid IL or missing references)
//IL_003f: Unknown result type (might be due to invalid IL or missing references)
//IL_006e: Unknown result type (might be due to invalid IL or missing references)
//IL_0074: Expected O, but got Unknown
int? num = 16;
ManaGroup value = default(ManaGroup);
((ManaGroup)(ref value)).Colorless = 1;
return new ExhibitConfig(304, "Taozi", 10, false, true, false, false, (AppearanceType)0, (string)null, (ExhibitLosableType)0, (Rarity)2, num, (int?)null, (int?)null, (ManaGroup?)value, (ManaColor?)null, (ManaColor?)null, 1, false, (int?)null, (Keyword)0, (IReadOnlyList<string>)new List<string>(), (IReadOnlyList<string>)new List<string>());
}
}
[EntityLogic(typeof(TaoziDef))]
public sealed class Taozi : Exhibit
{
protected override void OnGain(PlayerUnit player)
{
((GameEntity)this).GameRun.GainMaxHp(((Exhibit)this).Value1, true, true);
}
protected override void OnEnterBattle()
{
((Exhibit)this).ReactBattleEvent<UnitEventArgs>(((Unit)((Exhibit)this).Battle.Player).TurnStarted, (EventSequencedReactor<UnitEventArgs>)OnPlayerTurnStarted);
}
private IEnumerable<BattleAction> OnPlayerTurnStarted(GameEventArgs args)
{
if (((Unit)((Exhibit)this).Battle.Player).Hp >= ((Unit)((Exhibit)this).Battle.Player).MaxHp)
{
<>n__0();
yield return (BattleAction)new GainManaAction(((Exhibit)this).Mana);
}
}
[CompilerGenerated]
[DebuggerHidden]
private void <>n__0()
{
((Exhibit)this).NotifyActivating();
}
}
[OverwriteVanilla]
public sealed class ShanliangDengpaoDef : ExhibitTemplate
{
public override IdContainer GetId()
{
//IL_0006: 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_000e: Unknown result type (might be due to invalid IL or missing references)
return IdContainer.op_Implicit("ShanliangDengpao");
}
public override LocalizationOption LoadLocalization()
{
return (LocalizationOption)(object)SampleCharacterLocalization.ExhibitsBatchLoc.AddEntity((EntityDefinition)(object)this);
}
public override ExhibitSprites LoadSprite()
{
//IL_0001: Unknown result type (might be due to invalid IL or missing references)
//IL_0007: Expected O, but got Unknown
//IL_0009: Unknown result type (might be due to invalid IL or missing references)
ExhibitSprites val = new ExhibitSprites();
val.main = ResourceLoader.LoadSprite(IdContainer.op_Implicit(((EntityDefinition)this).GetId()) + ".png", BepinexPlugin.embeddedSource, (Rect?)null, 1, (Vector2?)null);
return val;
}
public override ExhibitConfig MakeConfig()
{
//IL_002f: Unknown result type (might be due to invalid IL or missing references)
//IL_003e: Unknown result type (might be due to invalid IL or missing references)
//IL_006d: Unknown result type (might be due to invalid IL or missing references)
//IL_0073: Expected O, but got Unknown
int? num = 3;
ManaGroup value = default(ManaGroup);
((ManaGroup)(ref value)).Green = 1;
return new ExhibitConfig(318, "ShanliangDengpao", 10, false, true, false, true, (AppearanceType)0, (string)null, (ExhibitLosableType)0, (Rarity)2, num, (int?)null, (int?)null, (ManaGroup?)value, (ManaColor?)null, (ManaColor?)null, 1, false, (int?)null, (Keyword)0, (IReadOnlyList<string>)new List<string>(), (IReadOnlyList<string>)new List<string>());
}
}
[EntityLogic(typeof(ShanliangDengpaoDef))]
public sealed class ShanliangDengpao : Exhibit
{
protected override void OnEnterBattle()
{
((Exhibit)this).ReactBattleEvent<CardUsingEventArgs>(((Exhibit)this).Battle.CardUsed, (EventSequencedReactor<CardUsingEventArgs>)OnCardUsed);
}
private IEnumerable<BattleAction> OnCardUsed(CardUsingEventArgs args)
{
int num;
if (((Unit)((Exhibit)this).Owner).IsInTurn)
{
ManaGroup consumingMana = args.ConsumingMana;
num = ((((ManaGroup)(ref consumingMana)).Amount >= ((Exhibit)this).Value1) ? 1 : 0);
}
else
{
num = 0;
}
if (num != 0)
{
<>n__0();
yield return (BattleAction)new GainManaAction(((Exhibit)this).Mana);
}
}
[CompilerGenerated]
[DebuggerHidden]
private void <>n__0()
{
((Exhibit)this).NotifyActivating();
}
}
[OverwriteVanilla]
public sealed class ChaojiMoguDef : ExhibitTemplate
{
public override IdContainer GetId()
{
//IL_0006: 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_000e: Unknown result type (might be due to invalid IL or missing references)
return IdContainer.op_Implicit("ChaojiMogu");
}
public override LocalizationOption LoadLocalization()
{
return (LocalizationOption)(object)SampleCharacterLocalization.ExhibitsBatchLoc.AddEntity((EntityDefinition)(object)this);
}
public override ExhibitSprites LoadSprite()
{
//IL_0001: Unknown result type (might be due to invalid IL or missing references)
//IL_0007: Expected O, but got Unknown
//IL_0009: Unknown result type (might be due to invalid IL or missing references)
ExhibitSprites val = new ExhibitSprites();
val.main = ResourceLoader.LoadSprite(IdContainer.op_Implicit(((EntityDefinition)this).GetId()) + ".png", BepinexPlugin.embeddedSource, (Rect?)null, 1, (Vector2?)null);
return val;
}
public override ExhibitConfig MakeConfig()
{
//IL_0030: Unknown result type (might be due to invalid IL or missing references)
//IL_003f: Unknown result type (might be due to invalid IL or missing references)
//IL_006e: Unknown result type (might be due to invalid IL or missing references)
//IL_0074: Expected O, but got Unknown
int? num = 25;
ManaGroup value = default(ManaGroup);
((ManaGroup)(ref value)).Red = 1;
return new ExhibitConfig(519, "ChaojiMogu", 10, false, true, false, true, (AppearanceType)1, (string)null, (ExhibitLosableType)0, (Rarity)0, num, (int?)null, (int?)null, (ManaGroup?)value, (ManaColor?)null, (ManaColor?)null, 1, false, (int?)null, (Keyword)0, (IReadOnlyList<string>)new List<string>(), (IReadOnlyList<string>)new List<string>());
}
}
[EntityLogic(typeof(ChaojiMoguDef))]
public sealed class ChaojiMogu : Exhibit
{
protected override void OnEnterBattle()
{
((Exhibit)this).ReactBattleEvent<UnitEventArgs>(((Unit)((Exhibit)this).Battle.Player).TurnStarted, (EventSequencedReactor<UnitEventArgs>)OnPlayerTurnStarted);
}
private IEnumerable<BattleAction> OnPlayerTurnStarted(GameEventArgs args)
{
if (((Exhibit)this).Battle.HandZone.Count + ((Exhibit)this).Battle.DrawZone.Count + ((Exhibit)this).Battle.DiscardZone.Count >= ((Exhibit)this).Value1)
{
<>n__0();
yield return (BattleAction)new GainManaAction(((Exhibit)this).Mana);
}
}
[CompilerGenerated]
[DebuggerHidden]
private void <>n__0()
{
((Exhibit)this).NotifyActivating();
}
}
[OverwriteVanilla]
public sealed class TiangouXiangjiDef : ExhibitTemplate
{
public override IdContainer GetId()
{
//IL_0006: 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_000e: Unknown result type (might be due to invalid IL or missing references)
return IdContainer.op_Implicit("TiangouXiangji");
}
public override LocalizationOption LoadLocalization()
{
return (LocalizationOption)(object)SampleCharacterLocalization.ExhibitsBatchLoc.AddEntity((EntityDefinition)(object)this);
}
public override ExhibitSprites LoadSprite()
{
//IL_0001: Unknown result type (might be due to invalid IL or missing references)
//IL_0007: Expected O, but got Unknown
//IL_0009: Unknown result type (might be due to invalid IL or missing references)
ExhibitSprites val = new ExhibitSprites();
val.main = ResourceLoader.LoadSprite(IdContainer.op_Implicit(((EntityDefinition)this).GetId()) + ".png", BepinexPlugin.embeddedSource, (Rect?)null, 1, (Vector2?)null);
return val;
}
public override ExhibitConfig MakeConfig()
{
//IL_005f: Unknown result type (might be due to invalid IL or missing references)
//IL_0065: Expected O, but got Unknown
return new ExhibitConfig(511, "TiangouXiangji", 10, false, true, false, true, (AppearanceType)0, (string)null, (ExhibitLosableType)0, (Rarity)0, (int?)1, (int?)null, (int?)null, (ManaGroup?)null, (ManaColor?)null, (ManaColor?)null, 1, false, (int?)null, (Keyword)0, (IReadOnlyList<string>)new List<string>(), (IReadOnlyList<string>)new List<string>());
}
}
[EntityLogic(typeof(TiangouXiangjiDef))]
public sealed class TiangouXiangji : Exhibit
{
protected override void OnEnterBattle()
{
((Exhibit)this).ReactBattleEvent<GameEventArgs>(((Exhibit)this).Battle.BattleStarted, (EventSequencedReactor<GameEventArgs>)OnBattleStarted);
}
private IEnumerable<BattleAction> OnBattleStarted(GameEventArgs args)
{
foreach (EnemyUnit enemyUnit in ((Exhibit)this).Battle.EnemyGroup)
{
if (((Unit)enemyUnit).IsAlive)
{
yield return (BattleAction)(object)new ApplyStatusEffectAction<FirepowerNegative>((Unit)(object)enemyUnit, (int?)((Exhibit)this).Value1, (int?)null, (int?)null, (int?)null, 0f, true);
}
}
}
}
[OverwriteVanilla]
public sealed class HeijiaoChangpianDef : ExhibitTemplate
{
public override IdContainer GetId()
{
//IL_0006: 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_000e: Unknown result type (might be due to invalid IL or missing references)
return IdContainer.op_Implicit("HeijiaoChangpian");
}
public override LocalizationOption LoadLocalization()
{
return (LocalizationOption)(object)SampleCharacterLocalization.ExhibitsBatchLoc.AddEntity((EntityDefinition)(object)this);
}
public override ExhibitSprites LoadSprite()
{
//IL_0001: Unknown result type (might be due to invalid IL or missing references)
//IL_0007: Expected O, but got Unknown
//IL_0009: Unknown result type (might be due to invalid IL or missing references)
ExhibitSprites val = new ExhibitSprites();
val.main = ResourceLoader.LoadSprite(IdContainer.op_Implicit(((EntityDefinition)this).GetId()) + ".png", BepinexPlugin.embeddedSource, (Rect?)null, 1, (Vector2?)null);
return val;
}
public override ExhibitConfig MakeConfig()
{
//IL_0032: Unknown result type (might be due to invalid IL or missing references)
//IL_0041: Unknown result type (might be due to invalid IL or missing references)
//IL_0070: Unknown result type (might be due to invalid IL or missing references)
//IL_0076: Expected O, but got Unknown
ManaGroup value = default(ManaGroup);
((ManaGroup)(ref value)).Black = 1;
return new ExhibitConfig(603, "HeijiaoChangpian", 10, false, true, false, true, (AppearanceType)1, (string)null, (ExhibitLosableType)0, (Rarity)0, (int?)null, (int?)null, (int?)null, (ManaGroup?)value, (ManaColor?)null, (ManaColor?)null, 1, false, (int?)null, (Keyword)0, (IReadOnlyList<string>)new List<string>(), (IReadOnlyList<string>)new List<string>());
}
}
[EntityLogic(typeof(HeijiaoChangpianDef))]
public sealed class HeijiaoChangpian : Exhibit
{
protected override void OnEnterBattle()
{
((Exhibit)this).ReactBattleEvent<CardEventArgs>(((Exhibit)this).Battle.CardDrawn, (EventSequencedReactor<CardEventArgs>)OnCardDrawn);
}
private IEnumerable<BattleAction> OnCardDrawn(CardEventArgs args)
{
if ((int)args.Card.CardType == 7 || (int)args.Card.CardType == 8)
{
<>n__0();
yield return (BattleAction)new GainManaAction(((Exhibit)this).Mana);
}
}
[CompilerGenerated]
[DebuggerHidden]
private void <>n__0()
{
((Exhibit)this).NotifyActivating();
}
}
[OverwriteVanilla]
public sealed class SongjingMuyuDef : ExhibitTemplate
{
public override IdContainer GetId()
{
//IL_0006: 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_000e: Unknown result type (might be due to invalid IL or missing references)
return IdContainer.op_Implicit("SongjingMuyu");
}
public override LocalizationOption LoadLocalization()
{
return (LocalizationOption)(object)SampleCharacterLocalization.ExhibitsBatchLoc.AddEntity((EntityDefinition)(object)this);
}
public override ExhibitSprites LoadSprite()
{
//IL_0001: Unknown result type (might be due to invalid IL or missing references)
//IL_0007: Expected O, but got Unknown
//IL_0009: Unknown result type (might be due to invalid IL or missing references)
ExhibitSprites val = new ExhibitSprites();
val.main = ResourceLoader.LoadSprite(IdContainer.op_Implicit(((EntityDefinition)this).GetId()) + ".png", BepinexPlugin.embeddedSource, (Rect?)null, 1, (Vector2?)null);
return val;
}
public override ExhibitConfig MakeConfig()
{
//IL_0032: Unknown result type (might be due to invalid IL or missing references)
//IL_0041: Unknown result type (might be due to invalid IL or missing references)
//IL_0074: Unknown result type (might be due to invalid IL or missing references)
//IL_007a: Expected O, but got Unknown
ManaGroup value = default(ManaGroup);
((ManaGroup)(ref value)).White = 1;
return new ExhibitConfig(421, "SongjingMuyu", 10, false, true, false, false, (AppearanceType)1, (string)null, (ExhibitLosableType)0, (Rarity)0, (int?)null, (int?)null, (int?)null, (ManaGroup?)value, (ManaColor?)null, (ManaColor?)null, 1, false, (int?)null, (Keyword)65536, (IReadOnlyList<string>)new List<string>(), (IReadOnlyList<string>)new List<string>());
}
}
[EntityLogic(typeof(SongjingMuyuDef))]
public sealed class SongjingMuyu : Exhibit
{
protected override void OnEnterBattle()
{
((Exhibit)this).ReactBattleEvent<CardUsingEventArgs>(((Exhibit)this).Battle.CardUsing, (EventSequencedReactor<CardUsingEventArgs>)OnCardUsing);
((Exhibit)this).ReactBattleEvent<CardUsingEventArgs>(((Exhibit)this).Battle.CardUsed, (EventSequencedReactor<CardUsingEventArgs>)OnCardUsed);
((Exhibit)this).HandleBattleEvent<CardEventArgs>(((Exhibit)this).Battle.CardExiled, (GameEventHandler<CardEventArgs>)OnCardExiled);
}
private IEnumerable<BattleAction> OnCardUsing(CardUsingEventArgs args)
{
((Exhibit)this).Counter = 0;
yield break;
}
private IEnumerable<BattleAction> OnCardUsed(CardUsingEventArgs args)
{
if (((Exhibit)this).Counter > 0)
{
<>n__0();
yield return (BattleAction)new GainManaAction(((Exhibit)this).Mana);
}
}
private void OnCardExiled(CardEventArgs args)
{
//IL_0002: Unknown result type (might be due to invalid IL or missing references)
//IL_0008: Invalid comparison between Unknown and I4
if ((int)((GameEventArgs)args).Cause == 1)
{
GameEntity actionSource = ((GameEventArgs)args).ActionSource;
Card val = (Card)(object)((actionSource is Card) ? actionSource : null);
if (val.InstanceId != args.Card.InstanceId)
{
((Exhibit)this).Counter = 1;
}
}
}
[CompilerGenerated]
[DebuggerHidden]
private void <>n__0()
{
((Exhibit)this).NotifyActivating();
}
}
}
namespace ExhibitRebalance.Config
{
public struct CustomConfigEntry<T>
{
public T Value { get; set; }
public string Section { get; set; }
public string Key { get; set; }
public string Description { get; set; }
public CustomConfigEntry(T value, string section, string key, string description)
{
Value = value;
Section = section;
Key = key;
Description = description;
}
}
public sealed class SampleCharacterDefaultConfig
{
private static readonly string OwnerName = BepinexPlugin.modUniqueID;
public static string GetDefaultID(EntityDefinition entity)
{
string name = ((object)entity).GetType().Name;
return name.Remove(name.Length - 3);
}
public static ExhibitConfig GetDefaultExhibitConfig()
{
//IL_0032: Unknown result type (might be due to invalid IL or missing references)
//IL_0038: Unknown result type (might be due to invalid IL or missing references)
//IL_0064: Unknown result type (might be due to invalid IL or missing references)
//IL_006a: Expected O, but got Unknown
return new ExhibitConfig(0, "", 10, false, false, false, false, (AppearanceType)3, OwnerName, (ExhibitLosableType)1, (Rarity)3, (int?)null, (int?)null, (int?)null, (ManaGroup?)default(ManaGroup), (ManaColor?)null, (ManaColor?)(ManaColor)1, 1, false, (int?)null, (Keyword)0, (IReadOnlyList<string>)new List<string>(), (IReadOnlyList<string>)new List<string>());
}
}
}
namespace System.Runtime.CompilerServices
{
[AttributeUsage(AttributeTargets.Assembly, AllowMultiple = true)]
internal sealed class IgnoresAccessChecksToAttribute : Attribute
{
internal IgnoresAccessChecksToAttribute(string assemblyName)
{
}
}
}