using System;
using System.Collections;
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 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_Relics_Reloaded.Plugin")]
[assembly: AssemblyConfiguration("Release")]
[assembly: AssemblyFileVersion("1.3.1.0")]
[assembly: AssemblyInformationalVersion("1.3.1+131bf7dad312a4161e8f6cdc2a77fe955fe39c38")]
[assembly: AssemblyProduct("Monster_Train_2_Relics_Reloaded.Plugin")]
[assembly: AssemblyTitle("Monster_Train_2_Relics_Reloaded.Plugin")]
[assembly: AssemblyVersion("1.3.1.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_Relics_Reloaded.Plugin
{
[BepInPlugin("Monster_Train_2_Relics_Reloaded.Plugin", "Monster_Train_2_Relics_Reloaded.Plugin", "1.3.1")]
public class Plugin : BaseUnityPlugin
{
public static ConfigEntry<bool>? addAdvancedPrototype;
public static ConfigEntry<bool>? addBoonoftheBlacksmith;
public static ConfigEntry<bool>? addCheatersHand;
public static ConfigEntry<bool>? addConcussiveCoals;
public static ConfigEntry<bool>? addConscriptionNotice;
public static ConfigEntry<bool>? addFaultyLoader;
public static ConfigEntry<bool>? addForeverFlame;
public static ConfigEntry<bool>? addGoldenVault;
public static ConfigEntry<bool>? addHammeredChestplates;
public static ConfigEntry<bool>? addHellsBanners;
public static ConfigEntry<bool>? addImprovedFirebox;
public static ConfigEntry<bool>? addInfusedMallet;
public static ConfigEntry<bool>? addIronDropcage;
public static ConfigEntry<bool>? addLightsGift;
public static ConfigEntry<bool>? addMarkofaChampion;
public static ConfigEntry<bool>? addMarkofanExile;
public static ConfigEntry<bool>? addPreciousPlating;
public static ConfigEntry<bool>? addPyrewall;
public static ConfigEntry<bool>? addRationingScales;
public static ConfigEntry<bool>? addRefractingLenses;
public static ConfigEntry<bool>? addTemperedTalisman;
public static ConfigEntry<bool>? addTheFirstHellpact;
public static ConfigEntry<bool>? addVaporFunnel;
public static ConfigEntry<bool>? addWingedIndulgence;
public static ConfigEntry<bool>? addWornGrindstone;
public static ConfigEntry<bool>? addAbandonedStave;
public static ConfigEntry<bool>? addBloodforBlood;
public static ConfigEntry<bool>? addCrackedHelmet;
public static ConfigEntry<bool>? addDantesCloak;
public static ConfigEntry<bool>? addEmberStasis;
public static ConfigEntry<bool>? addFrozenNostalgia;
public static ConfigEntry<bool>? addHeavensGold;
public static ConfigEntry<bool>? addHistoryoftheWorld;
public static ConfigEntry<bool>? addImmortalityPotion;
public static ConfigEntry<bool>? addPenitentRemains;
public static ConfigEntry<bool>? addPetrifiedHeart;
public static ConfigEntry<bool>? addRailforgersHammer;
public static ConfigEntry<bool>? addShardofDivinity;
public static ConfigEntry<bool>? addVialofTears;
public static ConfigEntry<bool>? addWeatheredColdstones;
internal static ManualLogSource Logger = new ManualLogSource("Monster_Train_2_Relics_Reloaded.Plugin");
public void Awake()
{
Logger = ((BaseUnityPlugin)this).Logger;
addAdvancedPrototype = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "AdvancedPrototype", true, "Enable Advanced Prototype. (Steward units cards get +5Attack, +5Health, Damage Shield 2 and Multistrike 1.)\n启用进阶原型(乘务员单位卡牌获得 +5 攻击力,+5 生命值,伤害护盾 2,多重攻击 1)。");
addBoonoftheBlacksmith = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "BoonoftheBlacksmith", true, "Enable Boon of the Blacksmith. (Your Pyre gets +15Attack.)\n启用铁匠祝福(你的薪火 +15 攻击力)。");
addCheatersHand = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "CheatersHand", true, "Enable Cheater's Hand. (Draw +1 each turn, then return 1 card to the top of your draw pile.)\n启用老千的手牌(每回合抽 +1 张牌,然后将一张牌放回你的抽牌堆顶部)。");
addConcussiveCoals = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "ConcussiveCoals", true, "Enable Concussive Coals. (50% chance to apply Dazed 1 when an enemy unit enters your train.)\n启用震荡煤块(当敌方单位进入火车时,有 50% 的几率对其施加眩晕 1)。");
addConscriptionNotice = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "ConscriptionNotice", true, "Enable Conscription Notice. (When you first summon your Champion, gain a random unit card with +10Attack, +10Health, -1Ember, and -1Capacity.)\n启用征兵启事(当你首次召唤勇者时,随机获得一张单位牌,且该单位拥有 +10 攻击力, +10 生命值,-1 余烬费用,-1 容量费用)。");
addFaultyLoader = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "FaultyLoader", true, "Enable Faulty Loader. (Apply Dazed 3 and Melee Weakness 1 to enemy units on the bottom floor in the first wave of combat.)\n启用心的装货工(对战斗中来袭的第一波位于底层的敌方单位施加眩晕 3,近战易伤 1)。");
addForeverFlame = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "ForeverFlame", true, "Enable Forever Flame. (Units cost -2Ember.)\n启用永恒之火(所有单位费用 -2 余烬)。");
addGoldenVault = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "GoldenVault", true, "Enable Golden Vault. (As long as you have at least 25Gold, lose 25Gold when you take Pyre damage in combat instead of taking damage.)\n启用金色宝库(只要你拥有至少 25 金币,当你的薪火在战斗中受到伤害时,不会损失生命值,改为损失 25 金币)。");
addHammeredChestplates = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "HammeredChestplates", true, "Enable Hammered Chestplates. (Friendly units get +5Health.)\n启用锻造板甲(友方单位获得 +5 生命值)。");
addHellsBanners = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "HellsBanners", true, "Enable Hell's Banners. (When you summon the second unit during a turn, gain 3Ember.)\n启用地狱战旗(当你在同一回合内召唤第二个单位时,获得 3 余烬)。");
addImprovedFirebox = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "ImprovedFirebox", true, "Enable Improved Firebox. (Gain 7Ember on the first turn of battle.)\n启用强化炉膛(在部署阶段之后的回合,获得 7 余烬)。");
addInfusedMallet = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "InfusedMallet", true, "Enable Infused Mallet. (50% chance to deal 5 damage when an enemy unit enters your train.)\n启用能量锻锤(当敌方单位进入火车时,有 50% 的几率对其造成 5 点伤害)。");
addIronDropcage = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "IronDropcage", true, "Enable Iron Dropcage. (Whenever you play a spell that would Ascend or Descend an enemy unit, also apply Dazed 2.)\n启用铁质吊笼(当你用法术令敌方单位上升或下降时,对其施加眩晕 2)。");
addLightsGift = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "LightsGift", true, "Enable Light's Gift. (Apply Dazed 2 to enemy units when they enter the floor below the Pyre Room.)\n启用圣光之礼(当敌方单位进入薪火室下方的楼层时,对其施加眩晕 2)。");
addMarkofaChampion = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "MarkofaChampion", true, "Enable Mark of a Champion. (When played, your Champion gains +50% attack.)\n启用勇者的印记(当你召唤勇者时,使其获得 +50% 攻击力)。");
addMarkofanExile = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "MarkofanExile", true, "Enable Mark of an Exile. (When played, your Champion gains +50% max health.)\n启用流亡者的印记(当你召唤勇者时,使其获得 +50% 最大生命值)。");
addPreciousPlating = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "PreciousPlating", true, "Enable Precious Plating. (Your Pyre gets +40Pyre Health.)\n启用贵重金属(你的薪火 +40 薪火生命值)。");
addPyrewall = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "Pyrewall", true, "Enable Pyrewall. (Your Pyre starts each battle with Armor 15.)\n启用薪火护墙(战斗开始时,你的薪火获得护甲 15)。");
addRationingScales = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "RationingScales", true, "Enable Rationing Scales. (Before each battle, set Pyre health to 50. If this reduces Pyre health, gain 3Gold for each health lost.)\n启用定量配给(每次战斗开始前,将薪火生命值设为 50 点。如果这导致薪火失去生命值,则每失去 1 点生命值,获得 3 金币)。");
addRefractingLenses = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "RefractingLenses", true, "Enable Refracting Lenses. (When a card with Consume is played, restore 5 Pyre health.)\n启用折射透镜(每当打出具有消耗的卡牌时,薪火恢复 5 点生命值)。");
addTemperedTalisman = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "TemperedTalisman", true, "Enable Tempered Talisman. (+10 Magic Power.)\n启用淬炼护符(+10 魔法强度)。");
addTheFirstHellpact = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "TheFirstHellpact", true, "Enable The First Hellpact. (X Cost cards get +3 to their X value when played.)\n启用最初的地狱契约(当打出费用为 X 的卡牌时,X 的值 +3)。");
addVaporFunnel = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "VaporFunnel", true, "Enable Vapor Funnel. (Apply Dazed 1 to enemy units when they enter the Pyre Room. Your Pyre gets -5Attack.)\n启用蒸汽漏斗(当敌方单位进入薪火室时,对其施加眩晕 1,你的薪火获得 -5 攻击力)。");
addWingedIndulgence = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "WingedIndulgence", true, "Enable Winged Indulgence. (Enemies get -1Attack.)\n启用骄奢淫翼(使所有敌方单位获得 -1 攻击力)。");
addWornGrindstone = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "WornGrindstone", true, "Enable Worn Grindstone. (Friendly units get +5Attack.)\n启用磨损砂轮(使所有友方单位获得 +5 攻击力)。");
addAbandonedStave = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "AbandonedStave", true, "Enable Abandoned Stave. (+1Ember per turn for every 2 Blight cards in your deck.)\n启用遗弃锤棍(卡组里每有 2 张祸患卡牌,每回合获得 +1 余烬)。");
addBloodforBlood = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "BloodforBlood", true, "Enable Blood for Blood. (When your Pyre kills a unit, restore 5 Pyre health.)\n启用以血还血(当薪火消灭一个单位时,恢复 5 点生命值)。");
addCrackedHelmet = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "CrackedHelmet", true, "Enable Cracked Helmet. (Damage spells get Piercing.)\n启用裂纹头盔(所有伤害性法术获得穿刺)。");
addDantesCloak = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "DantesCloak", true, "Enable Dante's Cloak. (+2 Magic Power' for every Blight card in your deck.)\n启用但丁的斗篷(卡组里每有一张祸患卡牌,获得 +2 魔法强度)。");
addEmberStasis = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "EmberStasis", true, "Enable Ember Stasis. (Playing a Blight card deals 120 damage to the front enemy unit.)\n启用静态余烬(每当打出一张祸患牌时,都会对前排敌方单位造成 120 点伤害)。");
addFrozenNostalgia = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "FrozenNostalgia", true, "Enable Frozen Nostalgia. (-1Capacity on each floor. +20 Magic Power.)\n启用冰凝旧日(每层 -1 容量,+20 魔法强度)。");
addHeavensGold = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "HeavensGold", true, "Enable Heaven's Gold. (Your Pyre gets +1Attack for every 10Gold you have.)\n启用天堂的金币(每拥有 10 金币,你的薪火就获得 +1 攻击力)。");
addHistoryoftheWorld = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "HistoryoftheWorld", true, "Enable History of the World. (+3Capacity on a random floor.)\n启用世界史(随机一层 +3 容量)。");
addImmortalityPotion = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "ImmortalityPotion", true, "Enable Immortality Potion. (Friendly non-Morsel units get Endless.)\n启用永生药剂(友方非影裔单位获得复生)。");
addPenitentRemains = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "PenitentRemains", true, "Enable Penitent Remains. (When summoned friendly units get +2Attack for every Blight card in your deck.)\n启用忏悔遗骨(召唤时,卡组里每有一张祸患卡牌,友方单位获得 +2 攻击力)。");
addPetrifiedHeart = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "PetrifiedHeart", true, "Enable Petrified Heart. (Friendly units get +10Health and Heartless.)\n启用石化之心(友方单位获得 +10 生命值,无心)。");
addRailforgersHammer = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "RailforgersHammer", true, "Enable Railforger's Hammer. (+1Capacity on each floor.)\n启用锻铁者之锤(每层获得 +1 容量)。");
addShardofDivinity = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "ShardofDivinity", true, "Enable Shard of Divinity. (Your Pyre starts each battle with Armor 100.)\n启用神祇碎片(战斗开始时,你的薪火获得护甲 100)。");
addVialofTears = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "VialofTears", true, "Enable Vial of Tears. (At end of turn, restore 5 health to friendly units.)\n启用泪水之瓶(回合结束时,为所有友方单位恢复 5 点生命值)。");
addWeatheredColdstones = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "WeatheredColdstones", true, "Enable Weathered Coldstones. (When you play a Blight card, restore 5 Pyre health.)\n启用风化冰晶石(当你打出祸患牌时,恢复 5 点薪火生命值)。");
List<string> paths = new List<string>();
if (addAdvancedPrototype.Value)
{
paths.Add("json/relics/advanced_prototype.json");
}
if (addBoonoftheBlacksmith.Value)
{
paths.Add("json/relics/boon_of_the_blacksmith.json");
}
if (addCheatersHand.Value)
{
paths.Add("json/relics/cheaters_hand.json");
}
if (addConcussiveCoals.Value)
{
paths.Add("json/relics/concussive_coals.json");
}
if (addConscriptionNotice.Value)
{
paths.Add("json/relics/conscription_notice.json");
}
if (addFaultyLoader.Value)
{
paths.Add("json/relics/faulty_loader.json");
}
if (addForeverFlame.Value)
{
paths.Add("json/relics/forever_flame.json");
}
if (addGoldenVault.Value)
{
paths.Add("json/relics/golden_vault.json");
}
if (addHammeredChestplates.Value)
{
paths.Add("json/relics/hammered_chestplates.json");
}
if (addHellsBanners.Value)
{
paths.Add("json/relics/hells_banners.json");
}
if (addImprovedFirebox.Value)
{
paths.Add("json/relics/improved_firebox.json");
}
if (addInfusedMallet.Value)
{
paths.Add("json/relics/infused_mallet.json");
}
if (addIronDropcage.Value)
{
paths.Add("json/relics/iron_dropcage.json");
}
if (addLightsGift.Value)
{
paths.Add("json/relics/lights_gift.json");
}
if (addMarkofaChampion.Value)
{
paths.Add("json/relics/mark_of_a_champion.json");
}
if (addMarkofanExile.Value)
{
paths.Add("json/relics/mark_of_an_exile.json");
}
if (addPreciousPlating.Value)
{
paths.Add("json/relics/precious_plating.json");
}
if (addPyrewall.Value)
{
paths.Add("json/relics/pyrewall.json");
}
if (addRationingScales.Value)
{
paths.Add("json/relics/rationing_scales.json");
}
if (addRefractingLenses.Value)
{
paths.Add("json/relics/refracting_lenses.json");
}
if (addTemperedTalisman.Value)
{
paths.Add("json/relics/tempered_talisman.json");
}
if (addTheFirstHellpact.Value)
{
paths.Add("json/relics/the_first_hellpact.json");
}
if (addVaporFunnel.Value)
{
paths.Add("json/relics/vapor_funnel.json");
}
if (addWingedIndulgence.Value)
{
paths.Add("json/relics/winged_indulgence.json");
}
if (addWornGrindstone.Value)
{
paths.Add("json/relics/worn_grindstone.json");
}
if (addAbandonedStave.Value)
{
paths.Add("json/relics/abandoned_stave.json");
}
if (addBloodforBlood.Value)
{
paths.Add("json/relics/blood_for_blood.json");
}
if (addCrackedHelmet.Value)
{
paths.Add("json/relics/cracked_helmet.json");
}
if (addDantesCloak.Value)
{
paths.Add("json/relics/dantes_cloak.json");
}
if (addEmberStasis.Value)
{
paths.Add("json/relics/ember_stasis.json");
}
if (addFrozenNostalgia.Value)
{
paths.Add("json/relics/frozen_nostalgia.json");
}
if (addHeavensGold.Value)
{
paths.Add("json/relics/heavens_gold.json");
}
if (addHistoryoftheWorld.Value)
{
paths.Add("json/relics/history_of_the_world.json");
}
if (addImmortalityPotion.Value)
{
paths.Add("json/relics/immortality_potion.json");
}
if (addPenitentRemains.Value)
{
paths.Add("json/relics/penitent_remains.json");
}
if (addPetrifiedHeart.Value)
{
paths.Add("json/relics/petrified_heart.json");
}
if (addRailforgersHammer.Value)
{
paths.Add("json/relics/railforgers_hammer.json");
}
if (addShardofDivinity.Value)
{
paths.Add("json/relics/shard_of_divinity.json");
}
if (addVialofTears.Value)
{
paths.Add("json/relics/vial_of_tears.json");
}
if (addWeatheredColdstones.Value)
{
paths.Add("json/relics/weathered_coldstones.json");
}
Railhead.GetBuilder().Configure("Monster_Train_2_Relics_Reloaded.Plugin", (Action<IConfigurationBuilder>)delegate(IConfigurationBuilder c)
{
ConfigurationExtensions.AddMergedJsonFile(c, paths);
});
Logger.LogInfo((object)"Plugin Monster_Train_2_Relics_Reloaded.Plugin is loaded!");
}
}
public static class MyPluginInfo
{
public const string PLUGIN_GUID = "Monster_Train_2_Relics_Reloaded.Plugin";
public const string PLUGIN_NAME = "Monster_Train_2_Relics_Reloaded.Plugin";
public const string PLUGIN_VERSION = "1.3.1";
}
}
namespace Monster_Train_2_Relics_Reloaded.Plugin.code
{
public sealed class RelicEffectAddStatusEffectOnUnitMoved : RelicEffectBase, ICharacterActionRelicEffect, IRelicEffect, IStatusEffectRelicEffect
{
[CompilerGenerated]
private sealed class <ApplyCharacterTriggerEffect>d__4 : IEnumerator<object>, IEnumerator, IDisposable
{
private int <>1__state;
private object <>2__current;
public CharacterTriggerRelicEffectParams relicEffectParams;
public RelicEffectAddStatusEffectOnUnitMoved <>4__this;
public ICoreGameManagers coreGameManagers;
object IEnumerator<object>.Current
{
[DebuggerHidden]
get
{
return <>2__current;
}
}
object IEnumerator.Current
{
[DebuggerHidden]
get
{
return <>2__current;
}
}
[DebuggerHidden]
public <ApplyCharacterTriggerEffect>d__4(int <>1__state)
{
this.<>1__state = <>1__state;
}
[DebuggerHidden]
void IDisposable.Dispose()
{
<>1__state = -2;
}
private bool MoveNext()
{
//IL_0058: Unknown result type (might be due to invalid IL or missing references)
//IL_005d: Unknown result type (might be due to invalid IL or missing references)
//IL_006b: Expected O, but got Unknown
int num = <>1__state;
RelicEffectAddStatusEffectOnUnitMoved relicEffectAddStatusEffectOnUnitMoved = <>4__this;
if (num != 0)
{
return false;
}
<>1__state = -1;
CharacterState characterState = ((CharacterRelicEffectParams)relicEffectParams).characterState;
int num2 = RandomManager.Range(0, relicEffectAddStatusEffectOnUnitMoved.statusEffects.Length, (RngId)6);
int num3 = ((relicEffectAddStatusEffectOnUnitMoved.statusEffects[num2].count <= 0) ? 1 : relicEffectAddStatusEffectOnUnitMoved.statusEffects[num2].count);
AddStatusEffectParams val = new AddStatusEffectParams
{
sourceRelicState = ((RelicEffectBase)relicEffectAddStatusEffectOnUnitMoved)._srcRelicState
};
characterState.AddStatusEffect(relicEffectAddStatusEffectOnUnitMoved.statusEffects[num2].statusId, num3, val, (CharacterState)null, true, false, true, false);
if (((RelicEffectBase)relicEffectAddStatusEffectOnUnitMoved)._srcRelicData.CanShowNotifications)
{
((RelicEffectBase)relicEffectAddStatusEffectOnUnitMoved).NotifyRelicTriggered(coreGameManagers.GetRelicManager(), characterState);
}
return false;
}
bool IEnumerator.MoveNext()
{
//ILSpy generated this explicit interface implementation from .override directive in MoveNext
return this.MoveNext();
}
[DebuggerHidden]
void IEnumerator.Reset()
{
throw new NotSupportedException();
}
}
private Type targetTeam;
private StatusEffectStackData[] statusEffects;
public override bool CanShowNotifications => false;
public override void Initialize(RelicState relicState, RelicData relicData, RelicEffectData relicEffectData)
{
//IL_000b: Unknown result type (might be due to invalid IL or missing references)
//IL_0010: Unknown result type (might be due to invalid IL or missing references)
((RelicEffectBase)this).Initialize(relicState, relicData, relicEffectData);
targetTeam = relicEffectData.GetParamSourceTeam();
statusEffects = relicEffectData.GetParamStatusEffects();
}
public bool TestCharacterTriggerEffect(CharacterTriggerRelicEffectParams relicEffectParams, ICoreGameManagers coreGameManagers)
{
//IL_0010: Unknown result type (might be due to invalid IL or missing references)
//IL_0016: Unknown result type (might be due to invalid IL or missing references)
//IL_0030: 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_0044: Invalid comparison between Unknown and I4
//IL_0047: Unknown result type (might be due to invalid IL or missing references)
//IL_004e: Invalid comparison between Unknown and I4
//IL_0051: Unknown result type (might be due to invalid IL or missing references)
//IL_0058: Invalid comparison between Unknown and I4
//IL_005b: Unknown result type (might be due to invalid IL or missing references)
//IL_0062: Invalid comparison between Unknown and I4
CharacterState characterState = ((CharacterRelicEffectParams)relicEffectParams).characterState;
if (!characterState.IsDestroyed && characterState.GetTeamType() == targetTeam && !characterState.HasStatusEffect("immune") && !PhaseExtensions.IsHeroMovement(coreGameManagers.GetCombatManager().GetCombatPhase()))
{
if ((int)relicEffectParams.trigger != 13 && (int)relicEffectParams.trigger != 17 && (int)relicEffectParams.trigger != 28)
{
return (int)relicEffectParams.trigger == 29;
}
return true;
}
return false;
}
[IteratorStateMachine(typeof(<ApplyCharacterTriggerEffect>d__4))]
public IEnumerator ApplyCharacterTriggerEffect(CharacterTriggerRelicEffectParams relicEffectParams, ICoreGameManagers coreGameManagers)
{
//yield-return decompiler failed: Unexpected instruction in Iterator.Dispose()
return new <ApplyCharacterTriggerEffect>d__4(0)
{
<>4__this = this,
relicEffectParams = relicEffectParams,
coreGameManagers = coreGameManagers
};
}
public StatusEffectStackData[] GetStatusEffects()
{
return statusEffects;
}
public override PropDescriptions CreateEditorInspectorDescriptions()
{
//IL_0000: Unknown result type (might be due to invalid IL or missing references)
//IL_0006: Expected O, but got Unknown
return new PropDescriptions();
}
}
}