Decompiled source of Minionz v1.0.7
Minionz.dll
Decompiled a month ago
The result has been truncated due to the large size, download it to view full contents!
using System; using System.Collections; using System.Collections.Concurrent; using System.Collections.Generic; using System.Collections.ObjectModel; using System.ComponentModel; using System.Diagnostics; using System.Diagnostics.CodeAnalysis; using System.Globalization; using System.IO; using System.IO.Compression; using System.Linq; using System.Linq.Expressions; using System.Reflection; using System.Reflection.Emit; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Runtime.Serialization; using System.Runtime.Versioning; using System.Security; using System.Security.Permissions; using System.Text; using System.Text.RegularExpressions; using BepInEx; using BepInEx.Bootstrap; using BepInEx.Configuration; using HarmonyLib; using ItemManager; using JetBrains.Annotations; using LocalizationManager; using Microsoft.CodeAnalysis; using Minionz.Functions; using ServerSync; using TMPro; using UnityEngine; using YamlDotNet.Core; using YamlDotNet.Core.Events; using YamlDotNet.Core.Tokens; using YamlDotNet.Helpers; using YamlDotNet.Serialization; using YamlDotNet.Serialization.Converters; using YamlDotNet.Serialization.EventEmitters; using YamlDotNet.Serialization.NamingConventions; using YamlDotNet.Serialization.NodeDeserializers; using YamlDotNet.Serialization.NodeTypeResolvers; using YamlDotNet.Serialization.ObjectFactories; using YamlDotNet.Serialization.ObjectGraphTraversalStrategies; using YamlDotNet.Serialization.ObjectGraphVisitors; using YamlDotNet.Serialization.Schemas; using YamlDotNet.Serialization.TypeInspectors; using YamlDotNet.Serialization.TypeResolvers; using YamlDotNet.Serialization.Utilities; using YamlDotNet.Serialization.ValueDeserializers; [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("blacks7ar")] [assembly: AssemblyConfiguration("Release")] [assembly: AssemblyFileVersion("1.0.7")] [assembly: AssemblyInformationalVersion("1.0.7")] [assembly: AssemblyProduct("Minionz")] [assembly: AssemblyTitle("Minionz")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.0.7.0")] [module: UnverifiableCode] [module: RefSafetyRules(11)] namespace Microsoft.CodeAnalysis { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] internal sealed class EmbeddedAttribute : Attribute { } } namespace System.Runtime.CompilerServices { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Module, AllowMultiple = false, Inherited = false)] internal sealed class RefSafetyRulesAttribute : Attribute { public readonly int Version; public RefSafetyRulesAttribute(int P_0) { Version = P_0; } } } namespace Minionz { [BepInPlugin("blacks7ar.Minionz", "Minionz", "1.0.7")] public class Plugin : BaseUnityPlugin { public enum Toggle { On = 1, Off = 0 } private const string modGUID = "blacks7ar.Minionz"; public const string modName = "Minionz"; public const string modAuthor = "blacks7ar"; public const string modVersion = "1.0.7"; public const string modLink = "https://thunderstore.io/c/valheim/p/blacks7ar/Minionz/"; private static readonly Harmony _harmony = new Harmony("blacks7ar.Minionz"); private static readonly ConfigSync _configSync = new ConfigSync("blacks7ar.Minionz") { DisplayName = "Minionz", CurrentVersion = "1.0.7", MinimumRequiredVersion = "1.0.7", ModRequired = true }; private static ConfigEntry<Toggle> _serverConfigLocked; public static ConfigEntry<KeyboardShortcut> _unSummonKey; public static ConfigEntry<float> _skillLevelModifier; public static ConfigEntry<float> _damageModifier; public ConfigEntry<T> config<T>(string group, string name, T value, ConfigDescription description, bool _synchronizedConfig = true) { //IL_002a: Unknown result type (might be due to invalid IL or missing references) //IL_0030: Expected O, but got Unknown ConfigDescription val = new ConfigDescription(description.Description + (_synchronizedConfig ? " [Synced with Server]" : " [Not Synced with Server]"), description.AcceptableValues, description.Tags); ConfigEntry<T> val2 = ((BaseUnityPlugin)this).Config.Bind<T>(group, name, value, val); _configSync.AddConfigEntry<T>(val2).SynchronizedConfig = _synchronizedConfig; return val2; } public void Awake() { //IL_0028: Unknown result type (might be due to invalid IL or missing references) //IL_0033: Expected O, but got Unknown //IL_0063: Unknown result type (might be due to invalid IL or missing references) //IL_0073: Unknown result type (might be due to invalid IL or missing references) //IL_007e: Expected O, but got Unknown //IL_00ac: Unknown result type (might be due to invalid IL or missing references) //IL_00b7: Expected O, but got Unknown //IL_00e5: Unknown result type (might be due to invalid IL or missing references) //IL_00f0: Expected O, but got Unknown Localizer.Load(); ((BaseUnityPlugin)this).Config.SaveOnConfigSet = false; _serverConfigLocked = config("1- ServerSync", "Lock Configuration", Toggle.On, new ConfigDescription("If On, the configuration is locked and can be changed by server admins only.", (AcceptableValueBase)null, Array.Empty<object>())); _configSync.AddLockingConfigEntry<Toggle>(_serverConfigLocked); _unSummonKey = config<KeyboardShortcut>("2- General", "UnSummon Key", new KeyboardShortcut((KeyCode)102, (KeyCode[])(object)new KeyCode[1] { (KeyCode)304 }), new ConfigDescription("Hotkey combination to unsummon minion.", (AcceptableValueBase)null, Array.Empty<object>()), _synchronizedConfig: false); _skillLevelModifier = config("3- Modifiers", "Skill Level Modifier", 10f, new ConfigDescription("Skill level amount added to player when a certain minion is summoned.", (AcceptableValueBase)(object)new AcceptableValueRange<float>(0f, 100f), Array.Empty<object>())); _damageModifier = config("3- Modifiers", "Damage Modifiers", 2f, new ConfigDescription("Damage modifier value for skills like axes, swords when a certain minion is summoned.", (AcceptableValueBase)(object)new AcceptableValueRange<float>(1f, 10f), Array.Empty<object>())); MinionHelper.CloneContainer(); PrefabSetups.Init(); ((BaseUnityPlugin)this).Config.SaveOnConfigSet = true; ((BaseUnityPlugin)this).Config.Save(); Assembly executingAssembly = Assembly.GetExecutingAssembly(); _harmony.PatchAll(executingAssembly); } private void OnDestroy() { ((BaseUnityPlugin)this).Config.Save(); } } } namespace Minionz.Functions { public static class Helper { public static void AddClonedObject(this ZNetScene zNetScene, GameObject gameObject, bool overWrite = true) { GameObject prefab; if ((Object)(object)(prefab = zNetScene.GetPrefab(((Object)gameObject).name)) != (Object)null) { if (!overWrite) { return; } zNetScene.m_prefabs.Remove(prefab); zNetScene.m_namedPrefabs.Remove(StringExtensionMethods.GetStableHashCode(((Object)gameObject).name)); } zNetScene.m_prefabs.Add(gameObject); zNetScene.m_namedPrefabs.Add(StringExtensionMethods.GetStableHashCode(((Object)gameObject).name), gameObject); } public static bool ZNetSceneAwake() { if ((Object)(object)ZNetScene.instance != (Object)null && ZNetScene.instance.m_prefabs.Count != 0) { return (Object)(object)ZNetScene.instance.GetPrefab("piece_workbench") != (Object)null; } return false; } } public static class MinionHelper { private static GameObject _CloneContainer; public static void CreateMinions(ZNetScene zNetScene) { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_005c: Unknown result type (might be due to invalid IL or missing references) //IL_0085: Unknown result type (might be due to invalid IL or missing references) //IL_00ae: Unknown result type (might be due to invalid IL or missing references) //IL_00d7: Unknown result type (might be due to invalid IL or missing references) //IL_0100: Unknown result type (might be due to invalid IL or missing references) //IL_0129: Unknown result type (might be due to invalid IL or missing references) //IL_0152: Unknown result type (might be due to invalid IL or missing references) //IL_017b: Unknown result type (might be due to invalid IL or missing references) //IL_01a4: Unknown result type (might be due to invalid IL or missing references) //IL_01cd: Unknown result type (might be due to invalid IL or missing references) //IL_01f6: Unknown result type (might be due to invalid IL or missing references) //IL_021f: Unknown result type (might be due to invalid IL or missing references) //IL_0248: Unknown result type (might be due to invalid IL or missing references) //IL_0271: Unknown result type (might be due to invalid IL or missing references) //IL_029a: Unknown result type (might be due to invalid IL or missing references) //IL_02c3: Unknown result type (might be due to invalid IL or missing references) //IL_02ec: Unknown result type (might be due to invalid IL or missing references) //IL_0315: Unknown result type (might be due to invalid IL or missing references) //IL_033e: Unknown result type (might be due to invalid IL or missing references) //IL_0367: Unknown result type (might be due to invalid IL or missing references) //IL_0390: Unknown result type (might be due to invalid IL or missing references) //IL_03b9: Unknown result type (might be due to invalid IL or missing references) //IL_03e2: Unknown result type (might be due to invalid IL or missing references) //IL_040b: Unknown result type (might be due to invalid IL or missing references) //IL_0434: Unknown result type (might be due to invalid IL or missing references) //IL_045d: Unknown result type (might be due to invalid IL or missing references) //IL_0486: Unknown result type (might be due to invalid IL or missing references) //IL_04af: Unknown result type (might be due to invalid IL or missing references) //IL_04d8: Unknown result type (might be due to invalid IL or missing references) //IL_0501: Unknown result type (might be due to invalid IL or missing references) //IL_052a: Unknown result type (might be due to invalid IL or missing references) //IL_0553: Unknown result type (might be due to invalid IL or missing references) //IL_057c: Unknown result type (might be due to invalid IL or missing references) //IL_05a5: Unknown result type (might be due to invalid IL or missing references) //IL_05ce: Unknown result type (might be due to invalid IL or missing references) //IL_05f7: Unknown result type (might be due to invalid IL or missing references) //IL_0620: Unknown result type (might be due to invalid IL or missing references) //IL_0649: Unknown result type (might be due to invalid IL or missing references) //IL_0672: Unknown result type (might be due to invalid IL or missing references) //IL_069b: Unknown result type (might be due to invalid IL or missing references) //IL_06c4: Unknown result type (might be due to invalid IL or missing references) //IL_06ed: Unknown result type (might be due to invalid IL or missing references) //IL_0716: Unknown result type (might be due to invalid IL or missing references) //IL_073f: Unknown result type (might be due to invalid IL or missing references) CloneContainer(); Create(zNetScene, "Abomination", "BVM_AbominationMinion", "$bvm_abominationminion", new Vector3(0.15f, 0.15f, 0.15f)); Create(zNetScene, new StringBuilder().Append("Asksvin").ToString(), "BVM_AsksvinMinion", "$bvm_asksvinminion", new Vector3(0.3f, 0.3f, 0.3f)); Create(zNetScene, "Bat", "BVM_BatMinion", "$bvm_batminion", new Vector3(0.5f, 0.5f, 0.5f)); Create(zNetScene, "Blob", "BVM_BlobMinion", "$bvm_blobminion", new Vector3(0.35f, 0.35f, 0.35f)); Create(zNetScene, "BlobElite", "BVM_BlobEliteMinion", "$bvm_blobeliteminion", new Vector3(0.3f, 0.3f, 0.3f)); Create(zNetScene, "BlobLava", "BVM_BlobLavaMinion", "$bvm_bloblavaminion", new Vector3(0.25f, 0.25f, 0.25f)); Create(zNetScene, "BlobTar", "BVM_BlobTarMinion", "$bvm_blobtarminion", new Vector3(0.35f, 0.35f, 0.35f)); Create(zNetScene, "Boar", "BVM_BoarMinion", "$bvm_boarminion", new Vector3(0.55f, 0.55f, 0.55f)); Create(zNetScene, "Bonemass", "BVM_BonemassMinion", "$bvm_bonemassminion", new Vector3(0.12f, 0.12f, 0.12f)); Create(zNetScene, "Hen", "BVM_HenMinion", "$bvm_henminion", new Vector3(0.6f, 0.6f, 0.6f)); Create(zNetScene, "Deathsquito", "BVM_DeathsquitoMinion", "$bvm_deathsquitominion", new Vector3(0.5f, 0.5f, 0.5f)); Create2(zNetScene, "Deer", "BVM_DeerMinion", "$bvm_deerminion", new Vector3(0.4f, 0.4f, 0.4f)); Create(zNetScene, "Dragon", "BVM_DragonMinion", "$bvm_dragonminion", new Vector3(0.09f, 0.09f, 0.09f)); Create(zNetScene, "Draugr", "BVM_DraugrMinion", "$bvm_draugrminion", new Vector3(0.45f, 0.45f, 0.45f)); Create(zNetScene, "Eikthyr", "BVM_EikthyrMinion", "$bvm_eikthyrminion", new Vector3(0.22f, 0.22f, 0.22f)); Create(zNetScene, "Fader", "BVM_FaderMinion", "$bvm_faderminion", new Vector3(0.1f, 0.1f, 0.1f)); Create(zNetScene, "FallenValkyrie", "BVM_FallenValkyrieMinion", "$bvm_fallenvalkyrieminion", new Vector3(0.1f, 0.1f, 0.1f)); Create(zNetScene, "Fenring", "BVM_FenringMinion", "$bvm_fenringminion", new Vector3(0.35f, 0.35f, 0.35f)); Create(zNetScene, "Fenring_Cultist", "BVM_FenringCultistMinion", "$bvm_fenringcultistminion", new Vector3(0.35f, 0.35f, 0.35f)); Create(zNetScene, "Gjall", "BVM_GjallMinion", "$bvm_gjallminion", new Vector3(0.1f, 0.1f, 0.1f)); Create(zNetScene, "Goblin", "BVM_GoblinMinion", "$bvm_goblinminion", new Vector3(0.55f, 0.55f, 0.55f)); Create(zNetScene, "GoblinBrute", "BVM_GoblinBruteMinion", "$bvm_goblinbruteminion", new Vector3(0.25f, 0.25f, 0.25f)); Create(zNetScene, "GoblinKing", "BVM_GoblinKingMinion", "$bvm_goblinkingminion", new Vector3(0.12f, 0.12f, 0.12f)); Create(zNetScene, "GoblinShaman", "BVM_GoblinShamanMinion", "$bvm_goblinshamanminion", new Vector3(0.55f, 0.55f, 0.55f)); Create(zNetScene, "Greydwarf", "BVM_GreydwarfMinion", "$bvm_greydwarfminion", new Vector3(0.35f, 0.35f, 0.35f)); Create(zNetScene, "Greydwarf_Elite", "BVM_GreydwarfEliteMinion", "$bvm_greydwarfeliteminion", new Vector3(0.3f, 0.3f, 0.3f)); Create(zNetScene, "Greydwarf_Shaman", "BVM_GreydwarfShamanMinion", "$bvm_greydwarfshamanminion", new Vector3(0.35f, 0.35f, 0.35f)); Create(zNetScene, "gd_king", "BVM_ElderMinion", "$bvm_elderminion", new Vector3(0.1f, 0.1f, 0.1f)); Create3(zNetScene, "Hare", "BVM_HareMinion", "$bvm_hareminion", new Vector3(0.45f, 0.45f, 0.45f)); Create(zNetScene, "Hatchling", "BVM_HatchlingMinion", "$bvm_hatchlingminion", new Vector3(0.3f, 0.3f, 0.3f)); Create(zNetScene, "Lox", "BVM_LoxMinion", "$bvm_loxminion", new Vector3(0.15f, 0.15f, 0.15f)); Create(zNetScene, "Neck", "BVM_NeckMinion", "$bvm_neckminion", new Vector3(0.5f, 0.5f, 0.5f)); Create(zNetScene, "Seeker", "BVM_SeekerMinion", "$bvm_seekerminion", new Vector3(0.35f, 0.35f, 0.35f)); Create(zNetScene, "SeekerBrute", "BVM_SeekerBruteMinion", "$bvm_seekerbruteminion", new Vector3(0.25f, 0.25f, 0.25f)); Create(zNetScene, "SeekerQueen", "BVM_SeekerQueenMinion", "$bvm_seekerqueenminion", new Vector3(0.08f, 0.08f, 0.08f)); Create(zNetScene, "Skeleton", "BVM_SkeletonMinion", "$bvm_skeletonminion", new Vector3(0.35f, 0.35f, 0.35f)); Create(zNetScene, "Skeleton_Poison", "BVM_SkeletonPoisonMinion", "$bvm_skeletonpoisonminion", new Vector3(0.3f, 0.3f, 0.3f)); Create(zNetScene, "StoneGolem", "BVM_StoneGolemMinion", "$bvm_stonegolemminion", new Vector3(0.15f, 0.15f, 0.15f)); Create(zNetScene, "Surtling", "BVM_SurtlingMinion", "$bvm_surtlingminion", new Vector3(0.5f, 0.5f, 0.5f)); Create(zNetScene, "Charred_Melee", "BVM_CharredMeleeMinion", "$bvm_charredmeleeminion", new Vector3(0.35f, 0.35f, 0.35f)); Create(zNetScene, "Troll", "BVM_TrollMinion", "$bvm_trollminion", new Vector3(0.12f, 0.12f, 0.12f)); Create(zNetScene, "Ulv", "BVM_UlvMinion", "$bvm_ulvminion", new Vector3(0.4f, 0.4f, 0.4f)); Create(zNetScene, "Volture", "BVM_VoltureMinion", "$bvm_voltureminion", new Vector3(0.25f, 0.25f, 0.25f)); Create(zNetScene, "Wolf", "BVM_WolfMinion", "$bvm_wolfminion", new Vector3(0.4f, 0.4f, 0.4f)); Create(zNetScene, "Wraith", "BVM_WraithMinion", "$bvm_wraithminion", new Vector3(0.3f, 0.3f, 0.3f)); SetupAbomination(zNetScene); SetupBonemass(zNetScene); SetupElder(zNetScene); SetupFallenValkyrie(zNetScene); SetupYagluth(zNetScene); SetupFader(zNetScene); SetupGjall(zNetScene); } private static void Create(ZNetScene zNetScene, string prefabName, string newPrefabName, string name, Vector3 scale) { //IL_002f: Unknown result type (might be due to invalid IL or missing references) //IL_005c: Unknown result type (might be due to invalid IL or missing references) //IL_00a5: Unknown result type (might be due to invalid IL or missing references) //IL_00aa: Unknown result type (might be due to invalid IL or missing references) //IL_00bb: Unknown result type (might be due to invalid IL or missing references) //IL_00c2: Unknown result type (might be due to invalid IL or missing references) //IL_00ca: Expected O, but got Unknown //IL_00d2: Unknown result type (might be due to invalid IL or missing references) //IL_00db: Unknown result type (might be due to invalid IL or missing references) //IL_00e3: Unknown result type (might be due to invalid IL or missing references) //IL_00eb: Unknown result type (might be due to invalid IL or missing references) //IL_00f3: Unknown result type (might be due to invalid IL or missing references) //IL_00fb: Unknown result type (might be due to invalid IL or missing references) //IL_0103: Unknown result type (might be due to invalid IL or missing references) //IL_010b: Unknown result type (might be due to invalid IL or missing references) //IL_0113: Unknown result type (might be due to invalid IL or missing references) //IL_011b: Unknown result type (might be due to invalid IL or missing references) //IL_0123: Unknown result type (might be due to invalid IL or missing references) //IL_0128: Unknown result type (might be due to invalid IL or missing references) //IL_0129: Unknown result type (might be due to invalid IL or missing references) //IL_0212: Unknown result type (might be due to invalid IL or missing references) //IL_0217: Unknown result type (might be due to invalid IL or missing references) //IL_0228: Unknown result type (might be due to invalid IL or missing references) //IL_022f: Unknown result type (might be due to invalid IL or missing references) //IL_0237: Expected O, but got Unknown //IL_024a: Unknown result type (might be due to invalid IL or missing references) //IL_024f: Unknown result type (might be due to invalid IL or missing references) //IL_0260: Unknown result type (might be due to invalid IL or missing references) //IL_0267: Unknown result type (might be due to invalid IL or missing references) //IL_026f: Expected O, but got Unknown GameObject val = zNetScene.GetPrefab(StringExtensionMethods.GetStableHashCode(prefabName)).Clone(newPrefabName); val.transform.SetParent(_CloneContainer.transform, false); val.transform.localScale = scale; Humanoid component = val.GetComponent<Humanoid>(); ((Character)component).m_name = name; ((Character)component).m_group = "PlayerMinion"; ((Character)component).m_defeatSetGlobalKey = ""; ((Character)component).m_faction = (Faction)0; ((Character)component).m_boss = false; ((Character)component).m_dontHideBossHud = false; ((Character)component).m_bossEvent = ""; ((Character)component).m_aiSkipTarget = true; ((Character)component).m_walkSpeed = 5f; ((Character)component).m_runSpeed = 8f; ((Character)component).m_deathEffects.m_effectPrefabs = (EffectData[])(object)new EffectData[1] { new EffectData { m_prefab = zNetScene.GetPrefab("vfx_Place_workbench"), m_enabled = true, m_variant = -1 } }; ((Character)component).m_damageModifiers = new DamageModifiers { m_blunt = (DamageModifier)3, m_slash = (DamageModifier)3, m_pierce = (DamageModifier)3, m_chop = (DamageModifier)3, m_pickaxe = (DamageModifier)3, m_fire = (DamageModifier)3, m_frost = (DamageModifier)3, m_lightning = (DamageModifier)3, m_poison = (DamageModifier)3, m_spirit = (DamageModifier)3 }; component.m_defaultItems = Array.Empty<GameObject>(); component.m_randomWeapon = Array.Empty<GameObject>(); component.m_randomShield = Array.Empty<GameObject>(); component.m_randomSets = Array.Empty<ItemSet>(); MonsterAI component2 = val.GetComponent<MonsterAI>(); ((BaseAI)component2).m_viewRange = 0f; ((BaseAI)component2).m_hearRange = 0f; component2.m_alertRange = 0f; ((BaseAI)component2).m_idleSound.m_effectPrefabs = Array.Empty<EffectData>(); ((BaseAI)component2).m_spawnMessage = ""; ((BaseAI)component2).m_deathMessage = ""; ((BaseAI)component2).m_flyAltitudeMin = 1f; component2.m_sleeping = false; component2.m_enableHuntPlayer = false; component2.m_attackPlayerObjects = false; val.RemoveComponent(typeof(CharacterDrop)); val.RemoveComponent(typeof(Procreation)); if (!Object.op_Implicit((Object)(object)val.GetComponent<Tameable>())) { Tameable val2 = val.AddComponent<Tameable>(); val2.m_startsTamed = true; val2.m_sootheEffect.m_effectPrefabs = (EffectData[])(object)new EffectData[1] { new EffectData { m_prefab = zNetScene.GetPrefab("vfx_creature_soothed"), m_enabled = true, m_variant = -1 } }; val2.m_petEffect.m_effectPrefabs = (EffectData[])(object)new EffectData[1] { new EffectData { m_prefab = zNetScene.GetPrefab("fx_skeleton_pet"), m_enabled = true, m_variant = -1 } }; val2.m_commandable = false; val2.m_unsummonDistance = 0f; val2.m_unsummonOnOwnerLogoutSeconds = 0f; val2.m_unSummonEffect = ((Character)component).m_deathEffects; } else { Tameable component3 = val.GetComponent<Tameable>(); component3.m_startsTamed = true; component3.m_commandable = false; component3.m_unsummonDistance = 0f; component3.m_unsummonOnOwnerLogoutSeconds = 0f; component3.m_unSummonEffect = ((Character)component).m_deathEffects; component3.m_saddleItem = null; component3.m_saddle = null; component3.m_dropSaddleOnDeath = false; } val.RemoveComponent(typeof(MovementDamage)); zNetScene.AddClonedObject(val); } private static void Create2(ZNetScene zNetScene, string prefabName, string newPrefabName, string name, Vector3 scale) { //IL_002a: Unknown result type (might be due to invalid IL or missing references) //IL_005c: Unknown result type (might be due to invalid IL or missing references) //IL_0137: Unknown result type (might be due to invalid IL or missing references) //IL_0189: Unknown result type (might be due to invalid IL or missing references) //IL_018e: Unknown result type (might be due to invalid IL or missing references) //IL_019f: Unknown result type (might be due to invalid IL or missing references) //IL_01a6: Unknown result type (might be due to invalid IL or missing references) //IL_01ae: Expected O, but got Unknown //IL_01c1: Unknown result type (might be due to invalid IL or missing references) //IL_01c6: Unknown result type (might be due to invalid IL or missing references) //IL_01d7: Unknown result type (might be due to invalid IL or missing references) //IL_01de: Unknown result type (might be due to invalid IL or missing references) //IL_01e6: Expected O, but got Unknown //IL_0200: Unknown result type (might be due to invalid IL or missing references) //IL_0209: Unknown result type (might be due to invalid IL or missing references) //IL_0211: Unknown result type (might be due to invalid IL or missing references) //IL_0219: Unknown result type (might be due to invalid IL or missing references) //IL_0221: Unknown result type (might be due to invalid IL or missing references) //IL_0229: Unknown result type (might be due to invalid IL or missing references) //IL_0231: Unknown result type (might be due to invalid IL or missing references) //IL_0239: Unknown result type (might be due to invalid IL or missing references) //IL_0241: Unknown result type (might be due to invalid IL or missing references) //IL_0249: Unknown result type (might be due to invalid IL or missing references) //IL_0251: Unknown result type (might be due to invalid IL or missing references) //IL_0256: Unknown result type (might be due to invalid IL or missing references) //IL_0258: Unknown result type (might be due to invalid IL or missing references) //IL_0298: Unknown result type (might be due to invalid IL or missing references) //IL_029d: Unknown result type (might be due to invalid IL or missing references) //IL_02ae: Unknown result type (might be due to invalid IL or missing references) //IL_02b5: Unknown result type (might be due to invalid IL or missing references) //IL_02bd: Expected O, but got Unknown //IL_02ea: Unknown result type (might be due to invalid IL or missing references) //IL_03bd: Unknown result type (might be due to invalid IL or missing references) //IL_03c2: Unknown result type (might be due to invalid IL or missing references) //IL_03d3: Unknown result type (might be due to invalid IL or missing references) //IL_03da: Unknown result type (might be due to invalid IL or missing references) //IL_03e2: Expected O, but got Unknown //IL_03f5: Unknown result type (might be due to invalid IL or missing references) //IL_03fa: Unknown result type (might be due to invalid IL or missing references) //IL_040b: Unknown result type (might be due to invalid IL or missing references) //IL_0412: Unknown result type (might be due to invalid IL or missing references) //IL_041a: Expected O, but got Unknown //IL_044a: Unknown result type (might be due to invalid IL or missing references) //IL_044f: Unknown result type (might be due to invalid IL or missing references) //IL_0460: Unknown result type (might be due to invalid IL or missing references) //IL_0467: Unknown result type (might be due to invalid IL or missing references) //IL_046f: Expected O, but got Unknown GameObject val = zNetScene.GetPrefab(prefabName).Clone(newPrefabName); val.transform.SetParent(_CloneContainer.transform, false); val.transform.localScale = scale; val.RemoveComponent(typeof(Character)); Humanoid val2 = val.AddComponent<Humanoid>(); ((Character)val2).m_name = name; ((Character)val2).m_group = "PlayerMinion"; ((Character)val2).m_faction = (Faction)0; ((Character)val2).m_aiSkipTarget = true; ((Character)val2).m_crouchSpeed = 2f; ((Character)val2).m_walkSpeed = 5f; ((Character)val2).m_speed = 1.5f; ((Character)val2).m_turnSpeed = 80f; ((Character)val2).m_runSpeed = 8f; ((Character)val2).m_runTurnSpeed = 200f; ((Character)val2).m_flySlowSpeed = 5f; ((Character)val2).m_flyFastSpeed = 12f; ((Character)val2).m_flyTurnSpeed = 12f; ((Character)val2).m_acceleration = 0.5f; ((Character)val2).m_jumpForce = 10f; ((Character)val2).m_jumpForceForward = 0f; ((Character)val2).m_jumpForceTiredFactor = 0.7f; ((Character)val2).m_airControl = 0.1f; ((Character)val2).m_canSwim = true; ((Character)val2).m_swimDepth = 1.2f; ((Character)val2).m_swimSpeed = 2f; ((Character)val2).m_swimTurnSpeed = 100f; ((Character)val2).m_swimAcceleration = 0.05f; ((Character)val2).m_groundTilt = (GroundTiltType)1; ((Character)val2).m_groundTiltSpeed = 50f; ((Character)val2).m_flying = false; ((Character)val2).m_jumpStaminaUsage = 10f; ((Character)val2).m_disableWhileSleeping = false; ((Character)val2).m_eye = ((Component)val2).gameObject.transform.Find("EyePos"); ((Character)val2).m_deathEffects.m_effectPrefabs = (EffectData[])(object)new EffectData[1] { new EffectData { m_prefab = zNetScene.GetPrefab("vfx_Place_workbench"), m_enabled = true, m_variant = -1 } }; ((Character)val2).m_waterEffects.m_effectPrefabs = (EffectData[])(object)new EffectData[1] { new EffectData { m_prefab = zNetScene.GetPrefab("vfx_water_surface"), m_enabled = true, m_variant = -1 } }; ((Character)val2).m_tolerateWater = true; ((Character)val2).m_health = 10f; ((Character)val2).m_damageModifiers = new DamageModifiers { m_blunt = (DamageModifier)3, m_slash = (DamageModifier)3, m_pierce = (DamageModifier)3, m_chop = (DamageModifier)3, m_pickaxe = (DamageModifier)3, m_fire = (DamageModifier)3, m_frost = (DamageModifier)3, m_lightning = (DamageModifier)3, m_poison = (DamageModifier)3, m_spirit = (DamageModifier)3 }; val.RemoveComponent(typeof(AnimalAI)); MonsterAI val3 = val.AddComponent<MonsterAI>(); ((BaseAI)val3).m_viewRange = 0f; ((BaseAI)val3).m_hearRange = 0f; ((BaseAI)val3).m_alertedEffects.m_effectPrefabs = (EffectData[])(object)new EffectData[1] { new EffectData { m_prefab = zNetScene.GetPrefab("sfx_deer_alerted"), m_enabled = true, m_variant = -1 } }; ((BaseAI)val3).m_idleSound.m_effectPrefabs = Array.Empty<EffectData>(); ((BaseAI)val3).m_idleSoundInterval = 15f; ((BaseAI)val3).m_idleSoundChance = 0.5f; ((BaseAI)val3).m_pathAgentType = (AgentType)4; ((BaseAI)val3).m_moveMinAngle = 90f; ((BaseAI)val3).m_smoothMovement = true; ((BaseAI)val3).m_jumpInterval = 0f; ((BaseAI)val3).m_randomCircleInterval = 2f; ((BaseAI)val3).m_randomMoveInterval = 60f; ((BaseAI)val3).m_randomMoveRange = 10f; ((BaseAI)val3).m_avoidFire = true; ((BaseAI)val3).m_afraidOfFire = true; ((BaseAI)val3).m_avoidWater = true; ((BaseAI)val3).m_avoidLava = true; ((BaseAI)val3).m_aggravatable = false; ((BaseAI)val3).m_passiveAggresive = false; val3.m_alertRange = 0f; val3.m_attackPlayerObjects = false; val3.m_sleeping = false; val3.m_consumeRange = 1f; val3.m_consumeSearchRange = 10f; val3.m_consumeSearchInterval = 10f; val.RemoveComponent(typeof(CharacterDrop)); Tameable val4 = val.AddComponent<Tameable>(); val4.m_startsTamed = true; val4.m_sootheEffect.m_effectPrefabs = (EffectData[])(object)new EffectData[1] { new EffectData { m_prefab = zNetScene.GetPrefab("vfx_creature_soothed"), m_enabled = true, m_variant = -1 } }; val4.m_petEffect.m_effectPrefabs = (EffectData[])(object)new EffectData[1] { new EffectData { m_prefab = zNetScene.GetPrefab("fx_skeleton_pet"), m_enabled = true, m_variant = -1 } }; val4.m_commandable = false; val4.m_unsummonDistance = 0f; val4.m_unsummonOnOwnerLogoutSeconds = 0f; val4.m_unSummonEffect.m_effectPrefabs = (EffectData[])(object)new EffectData[1] { new EffectData { m_prefab = zNetScene.GetPrefab("vfx_Place_workbench"), m_enabled = true, m_variant = -1 } }; zNetScene.AddClonedObject(val); } private static void Create3(ZNetScene zNetScene, string prefabName, string newPrefabName, string name, Vector3 scale) { //IL_002a: Unknown result type (might be due to invalid IL or missing references) //IL_005c: Unknown result type (might be due to invalid IL or missing references) //IL_0137: Unknown result type (might be due to invalid IL or missing references) //IL_0189: Unknown result type (might be due to invalid IL or missing references) //IL_018e: Unknown result type (might be due to invalid IL or missing references) //IL_019f: Unknown result type (might be due to invalid IL or missing references) //IL_01a6: Unknown result type (might be due to invalid IL or missing references) //IL_01ae: Expected O, but got Unknown //IL_01c1: Unknown result type (might be due to invalid IL or missing references) //IL_01c6: Unknown result type (might be due to invalid IL or missing references) //IL_01d7: Unknown result type (might be due to invalid IL or missing references) //IL_01de: Unknown result type (might be due to invalid IL or missing references) //IL_01e6: Expected O, but got Unknown //IL_0200: Unknown result type (might be due to invalid IL or missing references) //IL_0209: Unknown result type (might be due to invalid IL or missing references) //IL_0211: Unknown result type (might be due to invalid IL or missing references) //IL_0219: Unknown result type (might be due to invalid IL or missing references) //IL_0221: Unknown result type (might be due to invalid IL or missing references) //IL_0229: Unknown result type (might be due to invalid IL or missing references) //IL_0231: Unknown result type (might be due to invalid IL or missing references) //IL_0239: Unknown result type (might be due to invalid IL or missing references) //IL_0241: Unknown result type (might be due to invalid IL or missing references) //IL_0249: Unknown result type (might be due to invalid IL or missing references) //IL_0251: Unknown result type (might be due to invalid IL or missing references) //IL_0256: Unknown result type (might be due to invalid IL or missing references) //IL_0258: Unknown result type (might be due to invalid IL or missing references) //IL_0298: Unknown result type (might be due to invalid IL or missing references) //IL_029d: Unknown result type (might be due to invalid IL or missing references) //IL_02ae: Unknown result type (might be due to invalid IL or missing references) //IL_02b5: Unknown result type (might be due to invalid IL or missing references) //IL_02bd: Expected O, but got Unknown //IL_02ea: Unknown result type (might be due to invalid IL or missing references) //IL_03cd: Unknown result type (might be due to invalid IL or missing references) //IL_03d2: Unknown result type (might be due to invalid IL or missing references) //IL_03e3: Unknown result type (might be due to invalid IL or missing references) //IL_03ea: Unknown result type (might be due to invalid IL or missing references) //IL_03f2: Expected O, but got Unknown //IL_0405: Unknown result type (might be due to invalid IL or missing references) //IL_040a: Unknown result type (might be due to invalid IL or missing references) //IL_041b: Unknown result type (might be due to invalid IL or missing references) //IL_0422: Unknown result type (might be due to invalid IL or missing references) //IL_042a: Expected O, but got Unknown //IL_045a: Unknown result type (might be due to invalid IL or missing references) //IL_045f: Unknown result type (might be due to invalid IL or missing references) //IL_0470: Unknown result type (might be due to invalid IL or missing references) //IL_0477: Unknown result type (might be due to invalid IL or missing references) //IL_047f: Expected O, but got Unknown GameObject val = zNetScene.GetPrefab(prefabName).Clone(newPrefabName); val.transform.SetParent(_CloneContainer.transform, false); val.transform.localScale = scale; val.RemoveComponent(typeof(Character)); Humanoid val2 = val.AddComponent<Humanoid>(); ((Character)val2).m_name = name; ((Character)val2).m_group = "PlayerMinion"; ((Character)val2).m_faction = (Faction)0; ((Character)val2).m_aiSkipTarget = true; ((Character)val2).m_crouchSpeed = 1f; ((Character)val2).m_walkSpeed = 5f; ((Character)val2).m_speed = 4f; ((Character)val2).m_turnSpeed = 200f; ((Character)val2).m_runSpeed = 8f; ((Character)val2).m_runTurnSpeed = 300f; ((Character)val2).m_flySlowSpeed = 5f; ((Character)val2).m_flyFastSpeed = 12f; ((Character)val2).m_flyTurnSpeed = 12f; ((Character)val2).m_acceleration = 0.9f; ((Character)val2).m_jumpForce = 10f; ((Character)val2).m_jumpForceForward = 0f; ((Character)val2).m_jumpForceTiredFactor = 0.7f; ((Character)val2).m_airControl = 0.1f; ((Character)val2).m_canSwim = true; ((Character)val2).m_swimDepth = 0.72f; ((Character)val2).m_swimSpeed = 2f; ((Character)val2).m_swimTurnSpeed = 100f; ((Character)val2).m_swimAcceleration = 0.05f; ((Character)val2).m_groundTilt = (GroundTiltType)1; ((Character)val2).m_groundTiltSpeed = 200f; ((Character)val2).m_flying = false; ((Character)val2).m_jumpStaminaUsage = 10f; ((Character)val2).m_disableWhileSleeping = false; ((Character)val2).m_eye = ((Component)val2).gameObject.transform.Find("EyePos"); ((Character)val2).m_deathEffects.m_effectPrefabs = (EffectData[])(object)new EffectData[1] { new EffectData { m_prefab = zNetScene.GetPrefab("vfx_Place_workbench"), m_enabled = true, m_variant = -1 } }; ((Character)val2).m_waterEffects.m_effectPrefabs = (EffectData[])(object)new EffectData[1] { new EffectData { m_prefab = zNetScene.GetPrefab("vfx_water_surface"), m_enabled = true, m_variant = -1 } }; ((Character)val2).m_tolerateWater = true; ((Character)val2).m_health = 10f; ((Character)val2).m_damageModifiers = new DamageModifiers { m_blunt = (DamageModifier)3, m_slash = (DamageModifier)3, m_pierce = (DamageModifier)3, m_chop = (DamageModifier)3, m_pickaxe = (DamageModifier)3, m_fire = (DamageModifier)3, m_frost = (DamageModifier)3, m_lightning = (DamageModifier)3, m_poison = (DamageModifier)3, m_spirit = (DamageModifier)3 }; val.RemoveComponent(typeof(AnimalAI)); MonsterAI val3 = val.AddComponent<MonsterAI>(); ((BaseAI)val3).m_viewRange = 0f; ((BaseAI)val3).m_hearRange = 0f; ((BaseAI)val3).m_alertedEffects.m_effectPrefabs = (EffectData[])(object)new EffectData[1] { new EffectData { m_prefab = zNetScene.GetPrefab("sfx_deer_alerted"), m_enabled = true, m_variant = -1 } }; ((BaseAI)val3).m_idleSound.m_effectPrefabs = Array.Empty<EffectData>(); ((BaseAI)val3).m_idleSoundInterval = 15f; ((BaseAI)val3).m_idleSoundChance = 0.5f; ((BaseAI)val3).m_pathAgentType = (AgentType)1; ((BaseAI)val3).m_moveMinAngle = 90f; ((BaseAI)val3).m_smoothMovement = true; ((BaseAI)val3).m_jumpInterval = 0f; ((BaseAI)val3).m_randomCircleInterval = 2f; ((BaseAI)val3).m_randomMoveInterval = 11f; ((BaseAI)val3).m_randomMoveRange = 20f; ((BaseAI)val3).m_avoidFire = true; ((BaseAI)val3).m_afraidOfFire = true; ((BaseAI)val3).m_avoidWater = true; ((BaseAI)val3).m_avoidLava = true; ((BaseAI)val3).m_aggravatable = false; ((BaseAI)val3).m_passiveAggresive = false; val3.m_alertRange = 0f; val3.m_attackPlayerObjects = false; val3.m_sleeping = false; val3.m_consumeRange = 1f; val3.m_consumeSearchRange = 10f; val3.m_consumeSearchInterval = 10f; val.RemoveComponent(typeof(CharacterDrop)); val.RemoveComponent(typeof(Procreation)); Tameable val4 = val.AddComponent<Tameable>(); val4.m_startsTamed = true; val4.m_sootheEffect.m_effectPrefabs = (EffectData[])(object)new EffectData[1] { new EffectData { m_prefab = zNetScene.GetPrefab("vfx_creature_soothed"), m_enabled = true, m_variant = -1 } }; val4.m_petEffect.m_effectPrefabs = (EffectData[])(object)new EffectData[1] { new EffectData { m_prefab = zNetScene.GetPrefab("fx_skeleton_pet"), m_enabled = true, m_variant = -1 } }; val4.m_commandable = false; val4.m_unsummonDistance = 0f; val4.m_unsummonOnOwnerLogoutSeconds = 0f; val4.m_unSummonEffect.m_effectPrefabs = (EffectData[])(object)new EffectData[1] { new EffectData { m_prefab = zNetScene.GetPrefab("vfx_Place_workbench"), m_enabled = true, m_variant = -1 } }; zNetScene.AddClonedObject(val); } private static GameObject Clone(this GameObject gameObject, string name) { GameObject obj = Object.Instantiate<GameObject>(gameObject, _CloneContainer.transform, false); ((Object)obj).name = name; obj.transform.SetParent(_CloneContainer.transform, false); return obj; } public static void CloneContainer() { //IL_0005: Unknown result type (might be due to invalid IL or missing references) //IL_000f: Expected O, but got Unknown _CloneContainer = new GameObject("BVM_ClonedPrefabs"); _CloneContainer.SetActive(false); Object.DontDestroyOnLoad((Object)(object)_CloneContainer); } private static void RemoveComponent(this GameObject target, Type type) { Component component = target.GetComponent(type); if ((Object)(object)component != (Object)null) { Object.Destroy((Object)(object)component); } } private static void SetupAbomination(ZNetScene zNetScene) { GameObject prefab = zNetScene.GetPrefab("BVM_AbominationMinion"); ((Component)Utils.FindChild(prefab.transform, "particles", (IterativeSearchType)0)).gameObject.SetActive(false); LODGroup componentInChildren = prefab.GetComponentInChildren<LODGroup>(true); LOD[] lODs = componentInChildren.GetLODs(); lODs[0].screenRelativeTransitionHeight = 0.1f; lODs[1].screenRelativeTransitionHeight = 0.06f; componentInChildren.SetLODs(lODs); componentInChildren.RecalculateBounds(); } private static void SetupBonemass(ZNetScene zNetScene) { GameObject prefab = zNetScene.GetPrefab("BVM_BonemassMinion"); ((Component)Utils.FindChild(prefab.transform, "particles", (IterativeSearchType)0)).gameObject.SetActive(false); LODGroup componentInChildren = prefab.GetComponentInChildren<LODGroup>(true); LOD[] lODs = componentInChildren.GetLODs(); lODs[0].screenRelativeTransitionHeight = 0.06f; componentInChildren.SetLODs(lODs); componentInChildren.RecalculateBounds(); } private static void SetupFallenValkyrie(ZNetScene zNetScene) { GameObject prefab = zNetScene.GetPrefab("BVM_FallenValkyrieMinion"); ((Component)Utils.FindChild(prefab.transform, "Smoke", (IterativeSearchType)0)).gameObject.SetActive(false); ((Component)prefab.transform.Find("Visual/FallenValkyrie/Armature/root/hip/spine0/spine1/spine2/l_shoulder/l_arm0/l_arm1/l_arm2/Smoke_local")).gameObject.SetActive(false); ((Component)prefab.transform.Find("Visual/FallenValkyrie/Armature/root/hip/spine0/spine1/spine2/l_shoulder/l_arm0/l_arm1/Smoke_local")).gameObject.SetActive(false); ((Component)prefab.transform.Find("Visual/FallenValkyrie/Armature/root/hip/spine0/spine1/spine2/neck/head/Smoke_local")).gameObject.SetActive(false); ((Component)prefab.transform.Find("Visual/FallenValkyrie/Armature/root/hip/spine0/spine1/spine2/r_shoulder/r_arm0/r_arm1/r_arm2/Smoke_local")).gameObject.SetActive(false); ((Component)prefab.transform.Find("Visual/FallenValkyrie/Armature/root/hip/spine0/spine1/spine2/r_shoulder/r_arm0/r_arm1/Smoke_local")).gameObject.SetActive(false); ((Component)prefab.transform.Find("Visual/FallenValkyrie/Armature/root/hip/spine0/spine1/Spores_World")).gameObject.SetActive(false); } private static void SetupYagluth(ZNetScene zNetScene) { GameObject prefab = zNetScene.GetPrefab("BVM_GoblinKingMinion"); ((Component)Utils.FindChild(prefab.transform, "smoke", (IterativeSearchType)0)).gameObject.SetActive(false); Transform obj = prefab.transform.Find("Visual/Armature/Root/Root2/Hip/Spine1/Spine2/Spine3/Point light"); ((Component)obj).gameObject.SetActive(false); ((Behaviour)((Component)obj).gameObject.GetComponent<Light>()).enabled = false; Transform obj2 = prefab.transform.Find("Visual/Armature/Root/Root2/Hip/Spine1/Spine2/Spine3/Neck/Bone.007/Point light (2)"); ((Component)obj2).gameObject.SetActive(false); ((Behaviour)((Component)obj2).gameObject.GetComponent<Light>()).enabled = false; } private static void SetupElder(ZNetScene zNetScene) { ((Component)Utils.FindChild(zNetScene.GetPrefab("BVM_ElderMinion").transform, "particles", (IterativeSearchType)0)).gameObject.SetActive(false); } private static void SetupFader(ZNetScene zNetScene) { LODGroup componentInChildren = zNetScene.GetPrefab("BVM_FaderMinion").GetComponentInChildren<LODGroup>(true); LOD[] lODs = componentInChildren.GetLODs(); lODs[0].screenRelativeTransitionHeight = 0.06f; componentInChildren.SetLODs(lODs); componentInChildren.RecalculateBounds(); } private static void SetupGjall(ZNetScene zNetScene) { LODGroup componentInChildren = zNetScene.GetPrefab("BVM_GjallMinion").GetComponentInChildren<LODGroup>(true); LOD[] lODs = componentInChildren.GetLODs(); lODs[0].screenRelativeTransitionHeight = 0.06f; componentInChildren.SetLODs(lODs); componentInChildren.RecalculateBounds(); } } public static class MinionSetup { public static void Init(ZNetScene zNetScene) { LinkSummon(zNetScene, "bvm_minionsummon_abomination", "BVM_AbominationMinion"); LinkSummon(zNetScene, "bvm_minionsummon_asksvin", "BVM_AsksvinMinion"); LinkSummon(zNetScene, "bvm_minionsummon_bat", "BVM_BatMinion"); LinkSummon(zNetScene, "bvm_minionsummon_blob", "BVM_BlobMinion"); LinkSummon(zNetScene, "bvm_minionsummon_blobelite", "BVM_BlobEliteMinion"); LinkSummon(zNetScene, "bvm_minionsummon_bloblava", "BVM_BlobLavaMinion"); LinkSummon(zNetScene, "bvm_minionsummon_blobtar", "BVM_BlobTarMinion"); LinkSummon(zNetScene, "bvm_minionsummon_boar", "BVM_BoarMinion"); LinkSummon(zNetScene, "bvm_minionsummon_bonemass", "BVM_BonemassMinion"); LinkSummon(zNetScene, "bvm_minionsummon_charred", "BVM_CharredMeleeMinion"); LinkSummon(zNetScene, "bvm_minionsummon_deathsquito", "BVM_DeathsquitoMinion"); LinkSummon(zNetScene, "bvm_minionsummon_deer", "BVM_DeerMinion"); LinkSummon(zNetScene, "bvm_minionsummon_draugr", "BVM_DraugrMinion"); LinkSummon(zNetScene, "bvm_minionsummon_eikthyr", "BVM_EikthyrMinion"); LinkSummon(zNetScene, "bvm_minionsummon_elder", "BVM_ElderMinion"); LinkSummon(zNetScene, "bvm_minionsummon_fader", "BVM_FaderMinion"); LinkSummon(zNetScene, "bvm_minionsummon_fallenvalkyrie", "BVM_FallenValkyrieMinion"); LinkSummon(zNetScene, "bvm_minionsummon_fenring", "BVM_FenringMinion"); LinkSummon(zNetScene, "bvm_minionsummon_fenringcultist", "BVM_FenringCultistMinion"); LinkSummon(zNetScene, "bvm_minionsummon_gjall", "BVM_GjallMinion"); LinkSummon(zNetScene, "bvm_minionsummon_goblin", "BVM_GoblinMinion"); LinkSummon(zNetScene, "bvm_minionsummon_goblinbrute", "BVM_GoblinBruteMinion"); LinkSummon(zNetScene, "bvm_minionsummon_goblinshaman", "BVM_GoblinShamanMinion"); LinkSummon(zNetScene, "bvm_minionsummon_greydwarf", "BVM_GreydwarfMinion"); LinkSummon(zNetScene, "bvm_minionsummon_greydwarfelite", "BVM_GreydwarfEliteMinion"); LinkSummon(zNetScene, "bvm_minionsummon_greydwarfshaman", "BVM_GreydwarfShamanMinion"); LinkSummon(zNetScene, "bvm_minionsummon_hare", "BVM_HareMinion"); LinkSummon(zNetScene, "bvm_minionsummon_hatchling", "BVM_HatchlingMinion"); LinkSummon(zNetScene, "bvm_minionsummon_hen", "BVM_HenMinion"); LinkSummon(zNetScene, "bvm_minionsummon_lox", "BVM_LoxMinion"); LinkSummon(zNetScene, "bvm_minionsummon_moder", "BVM_DragonMinion"); LinkSummon(zNetScene, "bvm_minionsummon_neck", "BVM_NeckMinion"); LinkSummon(zNetScene, "bvm_minionsummon_seeker", "BVM_SeekerMinion"); LinkSummon(zNetScene, "bvm_minionsummon_seekerbrute", "BVM_SeekerBruteMinion"); LinkSummon(zNetScene, "bvm_minionsummon_seekerqueen", "BVM_SeekerQueenMinion"); LinkSummon(zNetScene, "bvm_minionsummon_skeleton", "BVM_SkeletonMinion"); LinkSummon(zNetScene, "bvm_minionsummon_skeletonpoison", "BVM_SkeletonPoisonMinion"); LinkSummon(zNetScene, "bvm_minionsummon_stonegolem", "BVM_StoneGolemMinion"); LinkSummon(zNetScene, "bvm_minionsummon_surtling", "BVM_SurtlingMinion"); LinkSummon(zNetScene, "bvm_minionsummon_troll", "BVM_TrollMinion"); LinkSummon(zNetScene, "bvm_minionsummon_ulv", "BVM_UlvMinion"); LinkSummon(zNetScene, "bvm_minionsummon_volture", "BVM_VoltureMinion"); LinkSummon(zNetScene, "bvm_minionsummon_wolf", "BVM_WolfMinion"); LinkSummon(zNetScene, "bvm_minionsummon_wraith", "BVM_WraithMinion"); LinkSummon(zNetScene, "bvm_minionsummon_yagluth", "BVM_GoblinKingMinion"); } private static void LinkSummon(ZNetScene zNetScene, string projectileName, string summonName) { //IL_0040: Unknown result type (might be due to invalid IL or missing references) //IL_0045: Unknown result type (might be due to invalid IL or missing references) //IL_0056: 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_0065: Expected O, but got Unknown SpawnAbility component = PrefabSetups._minionBundle.LoadAsset<GameObject>(projectileName).GetComponent<SpawnAbility>(); component.m_preSpawnDelay = 1f; component.m_spawnPrefab = (GameObject[])(object)new GameObject[1] { zNetScene.GetPrefab(summonName) }; component.m_preSpawnEffects.m_effectPrefabs = (EffectData[])(object)new EffectData[1] { new EffectData { m_prefab = zNetScene.GetPrefab("fx_himminafl_aoe"), m_enabled = true, m_variant = -1 } }; } } public class MinionzBuff { public static void AbominationBlessing(Player player) { //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0067: Unknown result type (might be due to invalid IL or missing references) SE_Stats val = ScriptableObject.CreateInstance<SE_Stats>(); ((Object)val).name = "bvm_abominationblessing_se"; ((StatusEffect)val).m_name = "$bvm_abominationblessing"; ((StatusEffect)val).m_icon = PrefabSetups._minionBundle.LoadAsset<Sprite>("BVM_Abomination"); ((StatusEffect)val).m_tooltip = ((StatusEffect)val).m_name; ((StatusEffect)val).m_startMessageType = (MessageType)2; ((StatusEffect)val).m_startMessage = ((StatusEffect)val).m_name + " started."; ((StatusEffect)val).m_ttl = 0f; val.m_modifyAttackSkill = (SkillType)7; val.m_damageModifier = Plugin._damageModifier.Value; ((Character)player).GetSEMan().AddStatusEffect((StatusEffect)(object)val, false, 0, 0f); } public static void AsksvinBlessing(Player player) { //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0067: Unknown result type (might be due to invalid IL or missing references) SE_Stats val = ScriptableObject.CreateInstance<SE_Stats>(); ((Object)val).name = "bvm_asksvinblessing_se"; ((StatusEffect)val).m_name = "$bvm_asksvinblessing"; ((StatusEffect)val).m_icon = PrefabSetups._minionBundle.LoadAsset<Sprite>("BVM_Asksvin"); ((StatusEffect)val).m_tooltip = ((StatusEffect)val).m_name; ((StatusEffect)val).m_startMessageType = (MessageType)2; ((StatusEffect)val).m_startMessage = ((StatusEffect)val).m_name + " started."; ((StatusEffect)val).m_ttl = 0f; val.m_modifyAttackSkill = (SkillType)4; val.m_damageModifier = Plugin._damageModifier.Value; ((Character)player).GetSEMan().AddStatusEffect((StatusEffect)(object)val, false, 0, 0f); } public static void BatBlessing(Player player) { //IL_003f: 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_0077: Unknown result type (might be due to invalid IL or missing references) //IL_007f: Unknown result type (might be due to invalid IL or missing references) //IL_0084: Unknown result type (might be due to invalid IL or missing references) SE_Stats val = ScriptableObject.CreateInstance<SE_Stats>(); ((Object)val).name = "bvm_batblessing_se"; ((StatusEffect)val).m_name = "$bvm_batblessing"; ((StatusEffect)val).m_icon = PrefabSetups._minionBundle.LoadAsset<Sprite>("BVM_Bat"); ((StatusEffect)val).m_tooltip = ((StatusEffect)val).m_name; ((StatusEffect)val).m_startMessageType = (MessageType)2; ((StatusEffect)val).m_startMessage = ((StatusEffect)val).m_name + " started."; ((StatusEffect)val).m_ttl = 0f; val.m_mods.Add(new DamageModPair { m_type = (DamageType)64, m_modifier = (DamageModifier)1 }); ((Character)player).GetSEMan().AddStatusEffect((StatusEffect)(object)val, false, 0, 0f); } public static void BlobBlessing(Player player) { //IL_003f: 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_007a: Unknown result type (might be due to invalid IL or missing references) //IL_0082: Unknown result type (might be due to invalid IL or missing references) //IL_0087: Unknown result type (might be due to invalid IL or missing references) SE_Stats val = ScriptableObject.CreateInstance<SE_Stats>(); ((Object)val).name = "bvm_blobblessing_se"; ((StatusEffect)val).m_name = "$bvm_blobblessing"; ((StatusEffect)val).m_icon = PrefabSetups._minionBundle.LoadAsset<Sprite>("BVM_Blob"); ((StatusEffect)val).m_tooltip = ((StatusEffect)val).m_name; ((StatusEffect)val).m_startMessageType = (MessageType)2; ((StatusEffect)val).m_startMessage = ((StatusEffect)val).m_name + " started."; ((StatusEffect)val).m_ttl = 0f; val.m_mods.Add(new DamageModPair { m_type = (DamageType)256, m_modifier = (DamageModifier)1 }); ((Character)player).GetSEMan().AddStatusEffect((StatusEffect)(object)val, false, 0, 0f); } public static void BlobEliteBlessing(Player player) { //IL_003f: 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_007a: Unknown result type (might be due to invalid IL or missing references) //IL_0082: Unknown result type (might be due to invalid IL or missing references) //IL_0087: Unknown result type (might be due to invalid IL or missing references) SE_Stats val = ScriptableObject.CreateInstance<SE_Stats>(); ((Object)val).name = "bvm_blobeliteblessing_se"; ((StatusEffect)val).m_name = "$bvm_blobeliteblessing"; ((StatusEffect)val).m_icon = PrefabSetups._minionBundle.LoadAsset<Sprite>("BVM_BlobElite"); ((StatusEffect)val).m_tooltip = ((StatusEffect)val).m_name; ((StatusEffect)val).m_startMessageType = (MessageType)2; ((StatusEffect)val).m_startMessage = ((StatusEffect)val).m_name + " started."; ((StatusEffect)val).m_ttl = 0f; val.m_mods.Add(new DamageModPair { m_type = (DamageType)256, m_modifier = (DamageModifier)5 }); ((Character)player).GetSEMan().AddStatusEffect((StatusEffect)(object)val, false, 0, 0f); } public static void BlobLavaBlessing(Player player) { //IL_003f: 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_0077: Unknown result type (might be due to invalid IL or missing references) //IL_007f: Unknown result type (might be due to invalid IL or missing references) //IL_0084: Unknown result type (might be due to invalid IL or missing references) SE_Stats val = ScriptableObject.CreateInstance<SE_Stats>(); ((Object)val).name = "bvm_bloblavablessing_se"; ((StatusEffect)val).m_name = "$bvm_bloblavablessing"; ((StatusEffect)val).m_icon = PrefabSetups._minionBundle.LoadAsset<Sprite>("BVM_BlobLava"); ((StatusEffect)val).m_tooltip = ((StatusEffect)val).m_name; ((StatusEffect)val).m_startMessageType = (MessageType)2; ((StatusEffect)val).m_startMessage = ((StatusEffect)val).m_name + " started."; ((StatusEffect)val).m_ttl = 0f; val.m_mods.Add(new DamageModPair { m_type = (DamageType)32, m_modifier = (DamageModifier)5 }); ((Character)player).GetSEMan().AddStatusEffect((StatusEffect)(object)val, false, 0, 0f); } public static void BlobTarBlessing(Player player) { //IL_003f: 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_007a: Unknown result type (might be due to invalid IL or missing references) //IL_0082: Unknown result type (might be due to invalid IL or missing references) //IL_0087: Unknown result type (might be due to invalid IL or missing references) SE_Stats val = ScriptableObject.CreateInstance<SE_Stats>(); ((Object)val).name = "bvm_blobtarblessing_se"; ((StatusEffect)val).m_name = "$bvm_blobtarblessing"; ((StatusEffect)val).m_icon = PrefabSetups._minionBundle.LoadAsset<Sprite>("BVM_BlobTar"); ((StatusEffect)val).m_tooltip = ((StatusEffect)val).m_name; ((StatusEffect)val).m_startMessageType = (MessageType)2; ((StatusEffect)val).m_startMessage = ((StatusEffect)val).m_name + " started."; ((StatusEffect)val).m_ttl = 0f; val.m_mods.Add(new DamageModPair { m_type = (DamageType)256, m_modifier = (DamageModifier)3 }); ((Character)player).GetSEMan().AddStatusEffect((StatusEffect)(object)val, false, 0, 0f); } public static void BoarBlessing(Player player) { //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) SE_Stats val = ScriptableObject.CreateInstance<SE_Stats>(); ((Object)val).name = "bvm_boarblessing_se"; ((StatusEffect)val).m_name = "$bvm_boarblessing"; ((StatusEffect)val).m_icon = PrefabSetups._minionBundle.LoadAsset<Sprite>("BVM_Boar"); ((StatusEffect)val).m_tooltip = ((StatusEffect)val).m_name; ((StatusEffect)val).m_startMessageType = (MessageType)2; ((StatusEffect)val).m_startMessage = ((StatusEffect)val).m_name + " started."; ((StatusEffect)val).m_ttl = 0f; val.m_skillLevel = (SkillType)102; val.m_skillLevelModifier = Plugin._skillLevelModifier.Value; ((Character)player).GetSEMan().AddStatusEffect((StatusEffect)(object)val, false, 0, 0f); } public static void BonemassBlessing(Player player) { //IL_003f: 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_007a: Unknown result type (might be due to invalid IL or missing references) //IL_0082: Unknown result type (might be due to invalid IL or missing references) //IL_0087: Unknown result type (might be due to invalid IL or missing references) //IL_009b: Unknown result type (might be due to invalid IL or missing references) //IL_00a4: Unknown result type (might be due to invalid IL or missing references) //IL_00ac: Unknown result type (might be due to invalid IL or missing references) //IL_00b1: Unknown result type (might be due to invalid IL or missing references) //IL_00ba: Unknown result type (might be due to invalid IL or missing references) //IL_00c3: Unknown result type (might be due to invalid IL or missing references) //IL_00cb: Unknown result type (might be due to invalid IL or missing references) //IL_00d0: Unknown result type (might be due to invalid IL or missing references) //IL_00d9: Unknown result type (might be due to invalid IL or missing references) //IL_00e2: Unknown result type (might be due to invalid IL or missing references) //IL_00ea: Unknown result type (might be due to invalid IL or missing references) //IL_00ef: Unknown result type (might be due to invalid IL or missing references) SE_Stats val = ScriptableObject.CreateInstance<SE_Stats>(); ((Object)val).name = "bvm_bonemassblessing_se"; ((StatusEffect)val).m_name = "$bvm_bonemassblessing"; ((StatusEffect)val).m_icon = PrefabSetups._minionBundle.LoadAsset<Sprite>("BVM_Bonemass"); ((StatusEffect)val).m_tooltip = ((StatusEffect)val).m_name; ((StatusEffect)val).m_startMessageType = (MessageType)2; ((StatusEffect)val).m_startMessage = ((StatusEffect)val).m_name + " started."; ((StatusEffect)val).m_ttl = 0f; val.m_mods.Add(new DamageModPair { m_type = (DamageType)256, m_modifier = (DamageModifier)3 }); val.m_mods.AddRange(new List<DamageModPair> { new DamageModPair { m_type = (DamageType)1, m_modifier = (DamageModifier)1 }, new DamageModPair { m_type = (DamageType)2, m_modifier = (DamageModifier)1 }, new DamageModPair { m_type = (DamageType)4, m_modifier = (DamageModifier)1 } }); ((Character)player).GetSEMan().AddStatusEffect((StatusEffect)(object)val, false, 0, 0f); } public static void CharredMeleeBlessing(Player player) { //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0067: Unknown result type (might be due to invalid IL or missing references) SE_Stats val = ScriptableObject.CreateInstance<SE_Stats>(); ((Object)val).name = "bvm_charredmeleeblessing_se"; ((StatusEffect)val).m_name = "$bvm_charredmeleeblessing"; ((StatusEffect)val).m_icon = PrefabSetups._minionBundle.LoadAsset<Sprite>("BVM_Charred"); ((StatusEffect)val).m_tooltip = ((StatusEffect)val).m_name; ((StatusEffect)val).m_startMessageType = (MessageType)2; ((StatusEffect)val).m_startMessage = ((StatusEffect)val).m_name + " started."; ((StatusEffect)val).m_ttl = 0f; val.m_modifyAttackSkill = (SkillType)1; val.m_damageModifier = Plugin._damageModifier.Value; ((Character)player).GetSEMan().AddStatusEffect((StatusEffect)(object)val, false, 0, 0f); } public static void DeathsquitoBlessing(Player player) { //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) SE_Stats val = ScriptableObject.CreateInstance<SE_Stats>(); ((Object)val).name = "bvm_deathsquitoblessing_se"; ((StatusEffect)val).m_name = "$bvm_deathsquitoblessing"; ((StatusEffect)val).m_icon = PrefabSetups._minionBundle.LoadAsset<Sprite>("BVM_Deathsquito"); ((StatusEffect)val).m_tooltip = ((StatusEffect)val).m_name; ((StatusEffect)val).m_startMessageType = (MessageType)2; ((StatusEffect)val).m_startMessage = ((StatusEffect)val).m_name + " started."; ((StatusEffect)val).m_ttl = 0f; val.m_skillLevel = (SkillType)14; val.m_skillLevelModifier = Plugin._skillLevelModifier.Value; ((Character)player).GetSEMan().AddStatusEffect((StatusEffect)(object)val, false, 0, 0f); } public static void DeerBlessing(Player player) { //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0067: Unknown result type (might be due to invalid IL or missing references) SE_Stats val = ScriptableObject.CreateInstance<SE_Stats>(); ((Object)val).name = "bvm_deerblessing_se"; ((StatusEffect)val).m_name = "$bvm_deerblessing"; ((StatusEffect)val).m_icon = PrefabSetups._minionBundle.LoadAsset<Sprite>("BVM_Deer"); ((StatusEffect)val).m_tooltip = ((StatusEffect)val).m_name; ((StatusEffect)val).m_startMessageType = (MessageType)2; ((StatusEffect)val).m_startMessage = ((StatusEffect)val).m_name + " started."; ((StatusEffect)val).m_ttl = 0f; val.m_skillLevel = (SkillType)2; val.m_skillLevelModifier = Plugin._skillLevelModifier.Value; ((Character)player).GetSEMan().AddStatusEffect((StatusEffect)(object)val, false, 0, 0f); } public static void DraugrBlessing(Player player) { //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0067: Unknown result type (might be due to invalid IL or missing references) SE_Stats val = ScriptableObject.CreateInstance<SE_Stats>(); ((Object)val).name = "bvm_draugrblessing_se"; ((StatusEffect)val).m_name = "$bvm_draugrblessing"; ((StatusEffect)val).m_icon = PrefabSetups._minionBundle.LoadAsset<Sprite>("BVM_Draugr"); ((StatusEffect)val).m_tooltip = ((StatusEffect)val).m_name; ((StatusEffect)val).m_startMessageType = (MessageType)2; ((StatusEffect)val).m_startMessage = ((StatusEffect)val).m_name + " started."; ((StatusEffect)val).m_ttl = 0f; val.m_skillLevel = (SkillType)1; val.m_skillLevelModifier = Plugin._skillLevelModifier.Value; ((Character)player).GetSEMan().AddStatusEffect((StatusEffect)(object)val, false, 0, 0f); } public static void EikthyrBlessing(Player player) { //IL_003f: Unknown result type (might be due to invalid IL or missing references) SE_Stats val = ScriptableObject.CreateInstance<SE_Stats>(); ((Object)val).name = "bvm_eikthyrblessing_se"; ((StatusEffect)val).m_name = "$bvm_eikthyrblessing"; ((StatusEffect)val).m_icon = PrefabSetups._minionBundle.LoadAsset<Sprite>("BVM_Eikthyr"); ((StatusEffect)val).m_tooltip = ((StatusEffect)val).m_name; ((StatusEffect)val).m_startMessageType = (MessageType)2; ((StatusEffect)val).m_startMessage = ((StatusEffect)val).m_name + " started."; ((StatusEffect)val).m_ttl = 0f; val.m_runStaminaDrainModifier = -0.6f; val.m_jumpStaminaUseModifier = -0.6f; ((Character)player).GetSEMan().AddStatusEffect((StatusEffect)(object)val, false, 0, 0f); } public static void ElderBlessing(Player player) { //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) SE_Stats val = ScriptableObject.CreateInstance<SE_Stats>(); ((Object)val).name = "bvm_elderblessing_se"; ((StatusEffect)val).m_name = "$bvm_elderblessing"; ((StatusEffect)val).m_icon = PrefabSetups._minionBundle.LoadAsset<Sprite>("BVM_Elder"); ((StatusEffect)val).m_tooltip = ((StatusEffect)val).m_name; ((StatusEffect)val).m_startMessageType = (MessageType)2; ((StatusEffect)val).m_startMessage = ((StatusEffect)val).m_name + " started."; ((StatusEffect)val).m_ttl = 0f; val.m_modifyAttackSkill = (SkillType)13; val.m_damageModifier = Plugin._damageModifier.Value; ((Character)player).GetSEMan().AddStatusEffect((StatusEffect)(object)val, false, 0, 0f); } public static void FaderBlessing(Player player) { //IL_003f: Unknown result type (might be due to invalid IL or missing references) SE_Stats val = ScriptableObject.CreateInstance<SE_Stats>(); ((Object)val).name = "bvm_faderblessing_se"; ((StatusEffect)val).m_name = "$bvm_faderblessing"; ((StatusEffect)val).m_icon = PrefabSetups._minionBundle.LoadAsset<Sprite>("BVM_Fader"); ((StatusEffect)val).m_tooltip = ((StatusEffect)val).m_name; ((StatusEffect)val).m_startMessageType = (MessageType)2; ((StatusEffect)val).m_startMessage = ((StatusEffect)val).m_name + " started."; ((StatusEffect)val).m_ttl = 0f; val.m_addMaxCarryWeight = 300f; val.m_speedModifier = 0.1f; ((Character)player).GetSEMan().AddStatusEffect((StatusEffect)(object)val, false, 0, 0f); } public static void FallenValkyrieBlessing(Player player) { //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) SE_Stats val = ScriptableObject.CreateInstance<SE_Stats>(); ((Object)val).name = "bvm_fallenvalkyrieblessing_se"; ((StatusEffect)val).m_name = "$bvm_fallenvalkyrieblessing"; ((StatusEffect)val).m_icon = PrefabSetups._minionBundle.LoadAsset<Sprite>("BVM_FallenValkyrie"); ((StatusEffect)val).m_tooltip = ((StatusEffect)val).m_name; ((StatusEffect)val).m_startMessageType = (MessageType)2; ((StatusEffect)val).m_startMessage = ((StatusEffect)val).m_name + " started."; ((StatusEffect)val).m_ttl = 0f; val.m_modifyAttackSkill = (SkillType)14; val.m_damageModifier = Plugin._damageModifier.Value; ((Character)player).GetSEMan().AddStatusEffect((StatusEffect)(object)val, false, 0, 0f); } public static void FenringBlessing(Player player) { //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0067: Unknown result type (might be due to invalid IL or missing references) SE_Stats val = ScriptableObject.CreateInstance<SE_Stats>(); ((Object)val).name = "bvm_fenringblessing_se"; ((StatusEffect)val).m_name = "$bvm_fenringblessing"; ((StatusEffect)val).m_icon = PrefabSetups._minionBundle.LoadAsset<Sprite>("BVM_Fenring"); ((StatusEffect)val).m_tooltip = ((StatusEffect)val).m_name; ((StatusEffect)val).m_startMessageType = (MessageType)2; ((StatusEffect)val).m_startMessage = ((StatusEffect)val).m_name + " started."; ((StatusEffect)val).m_ttl = 0f; val.m_skillLevel = (SkillType)4; val.m_skillLevelModifier = Plugin._skillLevelModifier.Value; ((Character)player).GetSEMan().AddStatusEffect((StatusEffect)(object)val, false, 0, 0f); } public static void FenringCultistBlessing(Player player) { //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) SE_Stats val = ScriptableObject.CreateInstance<SE_Stats>(); ((Object)val).name = "bvm_fenringcultistblessing_se"; ((StatusEffect)val).m_name = "$bvm_fenringcultistblessing"; ((StatusEffect)val).m_icon = PrefabSetups._minionBundle.LoadAsset<Sprite>("BVM_Fenring_Cultist"); ((StatusEffect)val).m_tooltip = ((StatusEffect)val).m_name; ((StatusEffect)val).m_startMessageType = (MessageType)2; ((StatusEffect)val).m_startMessage = ((StatusEffect)val).m_name + " started."; ((StatusEffect)val).m_ttl = 0f; val.m_skillLevel = (SkillType)11; val.m_skillLevelModifier = Plugin._skillLevelModifier.Value; ((Character)player).GetSEMan().AddStatusEffect((StatusEffect)(object)val, false, 0, 0f); } public static void GjallBlessing(Player player) { //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) SE_Stats val = ScriptableObject.CreateInstance<SE_Stats>(); ((Object)val).name = "bvm_gjallblessing_se"; ((StatusEffect)val).m_name = "$bvm_gjallblessing"; ((StatusEffect)val).m_icon = PrefabSetups._minionBundle.LoadAsset<Sprite>("BVM_Gjall"); ((StatusEffect)val).m_tooltip = ((StatusEffect)val).m_name; ((StatusEffect)val).m_startMessageType = (MessageType)2; ((StatusEffect)val).m_startMessage = ((StatusEffect)val).m_name + " started."; ((StatusEffect)val).m_ttl = 0f; val.m_modifyAttackSkill = (SkillType)9; val.m_damageModifier = Plugin._damageModifier.Value; ((Character)player).GetSEMan().AddStatusEffect((StatusEffect)(object)val, false, 0, 0f); } public static void GoblinBlessing(Player player) { //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0067: Unknown result type (might be due to invalid IL or missing references) SE_Stats val = ScriptableObject.CreateInstance<SE_Stats>(); ((Object)val).name = "bvm_goblinblessing_se"; ((StatusEffect)val).m_name = "$bvm_goblinblessing"; ((StatusEffect)val).m_icon = PrefabSetups._minionBundle.LoadAsset<Sprite>("BVM_Goblin"); ((StatusEffect)val).m_tooltip = ((StatusEffect)val).m_name; ((StatusEffect)val).m_startMessageType = (MessageType)2; ((StatusEffect)val).m_startMessage = ((StatusEffect)val).m_name + " started."; ((StatusEffect)val).m_ttl = 0f; val.m_skillLevel = (SkillType)3; val.m_skillLevelModifier = Plugin._skillLevelModifier.Value; ((Character)player).GetSEMan().AddStatusEffect((StatusEffect)(object)val, false, 0, 0f); } public static void GoblinBruteBlessing(Player player) { //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0067: Unknown result type (might be due to invalid IL or missing references) SE_Stats val = ScriptableObject.CreateInstance<SE_Stats>(); ((Object)val).name = "bvm_goblinbruteblessing_se"; ((StatusEffect)val).m_name = "$bvm_goblinbruteblessing"; ((StatusEffect)val).m_icon = PrefabSetups._minionBundle.LoadAsset<Sprite>("BVM_GoblinBrute"); ((StatusEffect)val).m_tooltip = ((StatusEffect)val).m_name; ((StatusEffect)val).m_startMessageType = (MessageType)2; ((StatusEffect)val).m_startMessage = ((StatusEffect)val).m_name + " started."; ((StatusEffect)val).m_ttl = 0f; val.m_modifyAttackSkill = (SkillType)3; val.m_damageModifier = Plugin._damageModifier.Value; ((Character)player).GetSEMan().AddStatusEffect((StatusEffect)(object)val, false, 0, 0f); } public static void GoblinShamanBlessing(Player player) { //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) SE_Stats val = ScriptableObject.CreateInstance<SE_Stats>(); ((Object)val).name = "bvm_goblinshamanblessing_se"; ((StatusEffect)val).m_name = "$bvm_goblinshamanblessing"; ((StatusEffect)val).m_icon = PrefabSetups._minionBundle.LoadAsset<Sprite>("BVM_GoblinShaman"); ((StatusEffect)val).m_tooltip = ((StatusEffect)val).m_name; ((StatusEffect)val).m_startMessageType = (MessageType)2; ((StatusEffect)val).m_startMessage = ((StatusEffect)val).m_name + " started."; ((StatusEffect)val).m_ttl = 0f; val.m_skillLevel = (SkillType)10; val.m_skillLevelModifier = Plugin._skillLevelModifier.Value; ((Character)player).GetSEMan().AddStatusEffect((StatusEffect)(object)val, false, 0, 0f); } public static void GreydwarfBlessing(Player player) { //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0067: Unknown result type (might be due to invalid IL or missing references) SE_Stats val = ScriptableObject.CreateInstance<SE_Stats>(); ((Object)val).name = "bvm_greydwarfblessing_se"; ((StatusEffect)val).m_name = "$bvm_greydwarfblessing"; ((StatusEffect)val).m_icon = PrefabSetups._minionBundle.LoadAsset<Sprite>("BVM_Greydwarf"); ((StatusEffect)val).m_tooltip = ((StatusEffect)val).m_name; ((StatusEffect)val).m_startMessageType = (MessageType)2; ((StatusEffect)val).m_startMessage = ((StatusEffect)val).m_name + " started."; ((StatusEffect)val).m_ttl = 0f; val.m_skillLevel = (SkillType)5; val.m_skillLevelModifier = Plugin._skillLevelModifier.Value; ((Character)player).GetSEMan().AddStatusEffect((StatusEffect)(object)val, false, 0, 0f); } public static void GreydwarfEliteBlessing(Player player) { //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0067: Unknown result type (might be due to invalid IL or missing references) SE_Stats val = ScriptableObject.CreateInstance<SE_Stats>(); ((Object)val).name = "bvm_greydwarfeliteblessing_se"; ((StatusEffect)val).m_name = "$bvm_greydwarfeliteblessing"; ((StatusEffect)val).m_icon = PrefabSetups._minionBundle.LoadAsset<Sprite>("BVM_Greydwarf_Elite"); ((StatusEffect)val).m_tooltip = ((StatusEffect)val).m_name; ((StatusEffect)val).m_startMessageType = (MessageType)2; ((StatusEffect)val).m_startMessage = ((StatusEffect)val).m_name + " started."; ((StatusEffect)val).m_ttl = 0f; val.m_modifyAttackSkill = (SkillType)5; val.m_damageModifier = Plugin._damageModifier.Value; ((Character)player).GetSEMan().AddStatusEffect((StatusEffect)(object)val, false, 0, 0f); } public static void GreydwarfShamanBlessing(Player player) { //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0067: Unknown result type (might be due to invalid IL or missing references) SE_Stats val = ScriptableObject.CreateInstance<SE_Stats>(); ((Object)val).name = "bvm_greydwarfshamanblessing_se"; ((StatusEffect)val).m_name = "$bvm_greydwarfshamanblessing"; ((StatusEffect)val).m_icon = PrefabSetups._minionBundle.LoadAsset<Sprite>("BVM_GreydwarfShaman"); ((StatusEffect)val).m_tooltip = ((StatusEffect)val).m_name; ((StatusEffect)val).m_startMessageType = (MessageType)2; ((StatusEffect)val).m_startMessage = ((StatusEffect)val).m_name + " started."; ((StatusEffect)val).m_ttl = 0f; val.m_skillLevel = (SkillType)6; val.m_skillLevelModifier = Plugin._skillLevelModifier.Value; ((Character)player).GetSEMan().AddStatusEffect((StatusEffect)(object)val, false, 0, 0f); } public static void HareBlessing(Player player) { //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) SE_Stats val = ScriptableObject.CreateInstance<SE_Stats>(); ((Object)val).name = "bvm_hareblessing_se"; ((StatusEffect)val).m_name = "$bvm_hareblessing"; ((StatusEffect)val).m_icon = PrefabSetups._minionBundle.LoadAsset<Sprite>("BVM_Hare"); ((StatusEffect)val).m_tooltip = ((StatusEffect)val).m_name; ((StatusEffect)val).m_startMessageType = (MessageType)2; ((StatusEffect)val).m_startMessage = ((StatusEffect)val).m_name + " started."; ((StatusEffect)val).m_ttl = 0f; val.m_skillLevel = (SkillType)100; val.m_skillLevelModifier = Plugin._skillLevelModifier.Value; ((Character)player).GetSEMan().AddStatusEffect((StatusEffect)(object)val, false, 0, 0f); } public static void HatchlingBlessing(Player player) { //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0067: Unknown result type (might be due to invalid IL or missing references) SE_Stats val = ScriptableObject.CreateInstance<SE_Stats>(); ((Object)val).name = "bvm_hatchlingblessing_se"; ((StatusEffect)val).m_name = "$bvm_hatchlingblessing"; ((StatusEffect)val).m_icon = PrefabSetups._minionBundle.LoadAsset<Sprite>("BVM_Hatchling"); ((StatusEffect)val).m_tooltip = ((StatusEffect)val).m_name; ((StatusEffect)val).m_startMessageType = (MessageType)2; ((StatusEffect)val).m_startMessage = ((StatusEffect)val).m_name + " started."; ((StatusEffect)val).m_ttl = 0f; val.m_skillLevel = (SkillType)8; val.m_skillLevelModifier = Plugin._skillLevelModifier.Value; ((Character)player).GetSEMan().AddStatusEffect((StatusEffect)(object)val, false, 0, 0f); } public static void HenBlessing(Player player) { //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) SE_Stats val = ScriptableObject.CreateInstance<SE_Stats>(); ((Object)val).name = "bvm_henblessing_se"; ((StatusEffect)val).m_name = "$bvm_henblessing"; ((StatusEffect)val).m_icon = PrefabSetups._minionBundle.LoadAsset<Sprite>("BVM_Hen"); ((StatusEffect)val).m_tooltip = ((StatusEffect)val).m_name; ((StatusEffect)val).m_startMessageType = (MessageType)2; ((StatusEffect)val).m_startMessage = ((StatusEffect)val).m_name + " started."; ((StatusEffect)val).m_ttl = 0f; val.m_skillLevel = (SkillType)105; val.m_skillLevelModifier = Plugin._skillLevelModifier.Value; ((Character)player).GetSEMan().AddStatusEffect((StatusEffect)(object)val, false, 0, 0f); } public static void LoxBlessing(Player player) { //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) SE_Stats val = ScriptableObject.CreateInstance<SE_Stats>(); ((Object)val).name = "bvm_loxblessing_se"; ((StatusEffect)val).m_name = "$bvm_loxblessing"; ((StatusEffect)val).m_icon = PrefabSetups._minionBundle.LoadAsset<Sprite>("BVM_Lox"); ((StatusEffect)val).m_tooltip = ((StatusEffect)val).m_name; ((StatusEffect)val).m_startMessageType = (MessageType)2; ((StatusEffect)val).m_startMessage = ((StatusEffect)val).m_name + " started."; ((StatusEffect)val).m_ttl = 0f; val.m_skillLevel = (SkillType)110; val.m_skillLevelModifier = Plugin._skillLevelModifier.Value; ((Character)player).GetSEMan().AddStatusEffect((StatusEffect)(object)val, false, 0, 0f); } public static void DragonBlessing(Player player) { //IL_003f: 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_0077: Unknown result type (might be due to invalid IL or missing references) //IL_007f: Unknown result type (might be due to invalid IL or missing references) //IL_0084: Unknown result type (might be due to invalid IL or missing references) //IL_008c: Unknown result type (might be due to invalid IL or missing references) SE_Stats val = ScriptableObject.CreateInstance<SE_Stats>(); ((Object)val).name = "bvm_dragonblessing_se"; ((StatusEffect)val).m_name = "$bvm_dragonblessing"; ((StatusEffect)val).m_icon = PrefabSetups._minionBundle.LoadAsset<Sprite>("BVM_Moder"); ((StatusEffect)val).m_tooltip = ((StatusEffect)val).m_name; ((StatusEffect)val).m_startMessageType = (MessageType)2; ((StatusEffect)val).m_startMessage = ((StatusEffect)val).m_name + " started."; ((StatusEffect)val).m_ttl = 0f; val.m_mods.Add(new DamageModPair { m_type = (DamageType)64, m_modifier = (DamageModifier)3 }); ((StatusEffect)val).m_attributes = (StatusAttribute)4; ((Character)player).GetSEMan().AddStatusEffect((StatusEffect)(object)val, false, 0, 0f); } public static void NeckBlessing(Player player) { //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_0080: Unknown result type (might be due to invalid IL or missing references) SE_Stats val = ScriptableObject.CreateInstance<SE_Stats>(); ((Object)val).name = "bvm_neckblessing_se"; ((StatusEffect)val).m_name = "$bvm_neckblessing"; ((StatusEffect)val).m_icon = PrefabSetups._minionBundle.LoadAsset<Sprite>("BVM_Neck"); ((StatusEffect)val).m_tooltip = ((StatusEffect)val).m_name; ((StatusEffect)val).m_startMessageType = (MessageType)2; ((StatusEffect)val).m_startMessage = ((StatusEffect)val).m_name + " started."; ((StatusEffect)val).m_ttl = 0f; val.m_skillLevel = (SkillType)104; val.m_skillLevelModifier = Plugin._skillLevelModifier.Value; val.m_skillLevel2 = (SkillType)103; val.m_skillLevelModifier2 = Plugin._skillLevelModifier.Value; ((Character)player).GetSEMan().AddStatusEffect((StatusEffect)(object)val, false, 0, 0f); } public static void SeekerBlessing(Player player) { //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0067: Unknown result type (might be due to invalid IL or missing references) SE_Stats val = ScriptableObject.CreateInstance<SE_Stats>(); ((Object)val).name = "bvm_seekerblessing_se"; ((StatusEffect)val).m_name = "$bvm_seekerblessing"; ((StatusEffect)val).m_icon = PrefabSetups._minionBundle.LoadAsset<Sprite>("BVM_Seeker"); ((StatusEffect)val).m_tooltip = ((StatusEffect)val).m_name; ((StatusEffect)val).m_startMessageType = (MessageType)2; ((StatusEffect)val).m_startMessage = ((StatusEffect)val).m_name + " started."; ((StatusEffect)val).m_ttl = 0f; val.m_modifyAttackSkill = (SkillType)2; val.m_damageModifier = Plugin._damageModifier.Value; ((Character)player).GetSEMan().AddStatusEffect((StatusEffect)(object)val, false, 0, 0f); } public static void SeekerBruteBlessing(Player player) { //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) SE_Stats val = ScriptableObject.CreateInstance<SE_Stats>(); ((Object)val).name = "bvm_seekerbruteblessing_se"; ((StatusEffect)val).m_name = "$bvm_seekerbruteblessing"; ((StatusEffect)val).m_icon = PrefabSetups._minionBundle.LoadAsset<Sprite>("BVM_SeekerBrute"); ((StatusEffect)val).m_tooltip = ((StatusEffect)val).m_name; ((StatusEffect)val).m_startMessageType = (MessageType)2; ((StatusEffect)val).m_startMessage = ((StatusEffect)val).m_name + " started."; ((StatusEffect)val).m_ttl = 0f; val.m_modifyAttackSkill = (SkillType)11; val.m_damageModifier = Plugin._damageModifier.Value; ((Character)player).GetSEMan().AddStatusEffect((StatusEffect)(object)val, false, 0, 0f); } public static void SeekerQueenBlessing(Player player) { //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0073: Unknown result type (might be due to invalid IL or missing references) SE_Stats val = ScriptableObject.CreateInstance<SE_Stats>(); ((Object)val).name = "bvm_seekerqueenblessing_se"; ((StatusEffect)val).m_name = "$bvm_seekerqueenblessing"; ((StatusEffect)val).m_icon = PrefabSetups._minionBundle.LoadAsset<Sprite>("BVM_SeekerQueen"); ((StatusEffect)val).m_tooltip = ((StatusEffect)val).m_name; ((StatusEffect)val).m_startMessageType = (MessageType)2; ((StatusEffect)val).m_startMessage = ((StatusEffect)val).m_name + " started."; ((StatusEffect)val).m_ttl = 0f; val.m_eitrRegenMultiplier = 2f; val.m_modifyAttackSkill = (SkillType)12; val.m_damageModifier = Plugin._damageModifier.Value; ((Character)player).GetSEMan().AddStatusEffect((StatusEffect)(object)val, false, 0, 0f); } public static void SkeletonBlessing(Player player) { //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0067: Unknown result type (might be due to invalid IL or missing references) SE_Stats val = ScriptableObject.CreateInstance<SE_Stats>(); ((Object)val).name = "bvm_skeletonblessing_se"; ((StatusEffect)val).m_name = "$bvm_skeletonblessing"; ((StatusEffect)val).m_icon = PrefabSetups._minionBundle.LoadAsset<Sprite>("BVM_Skeleton"); ((StatusEffect)val).m_tooltip = ((StatusEffect)val).m_name; ((StatusEffect)val).m_startMessageType = (MessageType)2; ((StatusEffect)val).m_startMessage = ((StatusEffect)val).m_name + " started."; ((StatusEffect)val).m_ttl = 0f; val.m_skillLevel = (SkillType)7; val.m_skillLevelModifier = Plugin._skillLevelModifier.Value; ((Character)player).GetSEMan().AddStatusEffect((StatusEffect)(object)val, false, 0, 0f); } public static void SkeletonPoisonBlessing(Player player) { //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) SE_Stats val = ScriptableObject.CreateInstance<SE_Stats>(); ((Object)val).name = "bvm_skeletonpoisonblessing_se"; ((StatusEffect)val).m_name = "$bvm_skeletonpoisonblessing"; ((StatusEffect)val).m_icon = PrefabSetups._minionBundle.LoadAsset<Sprite>("BVM_SkeletonPoison"); ((StatusEffect)val).m_tooltip = ((StatusEffect)val).m_name; ((StatusEffect)val).m_startMessageType = (MessageType)2; ((StatusEffect)val).m_startMessage = ((StatusEffect)val).m_name + " started."; ((StatusEffect)val).m_ttl = 0f; val.m_skillLevel = (SkillType)13; val.m_skillLevelModifier = Plugin._skillLevelModifier.Value; ((Character)player).GetSEMan().AddStatusEffect((StatusEffect)(object)val, false, 0, 0f); } public static void StoneGolemBlessing(Player player) { //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) SE_Stats val = ScriptableObject.CreateInstance<SE_Stats>(); ((Object)val).name = "bvm_stonegolemblessing_se"; ((StatusEffect)val).m_name = "$bvm_stonegolemblessing"; ((StatusEffect)val).m_icon = PrefabSetups._minionBundle.LoadAsset<Sprite>("BVM_StoneGolem"); ((StatusEffect)val).m_tooltip = ((StatusEffect)val).m_name; ((StatusEffect)val).m_startMessageType = (MessageType)2; ((StatusEffect)val).m_startMessage = ((StatusEffect)val).m_name + " started."; ((StatusEffect)val).m_ttl = 0f; val.m_skillLevel = (SkillType)12; val.m_skillLevelModifier = Plugin._skillLevelModifier.Value; ((Character)player).GetSEMan().AddStatusEffect((StatusEffect)(object)val, false, 0, 0f); } public static void SurtlingBlessing(Player player) { //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) SE_Stats val = ScriptableObject.CreateInstance<SE_Stats>(); ((Object)val).name = "bvm_surtlingblessing_se"; ((StatusEffect)val).m_name = "$bvm_surtlingblessing"; ((StatusEffect)val).m_icon = PrefabSetups._minionBundle.LoadAsset<Sprite>("BVM_Surtling"); ((StatusEffect)val).m_tooltip = ((StatusEffect)val).m_name; ((StatusEffect)val).m_startMessageType = (MessageType)2; ((StatusEffect)val).m_startMessage = ((StatusEffect)val).m_name + " started."; ((StatusEffect)val).m_ttl = 0f; val.m_skillLevel = (SkillType)9; val.m_skillLevelModifier = Plugin._skillLevelModifier.Value; ((Character)player).GetSEMan().AddStatusEffect((StatusEffect)(object)val, false, 0, 0f); } public static void TrollBlessing(Player player) { //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) SE_Stats val = ScriptableObject.CreateInstance<SE_Stats>(); ((Object)val).name = "bvm_trollblessing_se"; ((StatusEffect)val).m_name = "$bvm_trollblessing"; ((StatusEffect)val).m_icon = PrefabSetups._minionBundle.LoadAsset<Sprite>("BVM_Troll"); ((StatusEffect)val).m_tooltip = ((StatusEffect)val).m_name; ((StatusEffect)val).m_startMessageType = (MessageType)2; ((StatusEffect)val).m_startMessage = ((StatusEffect)val).m_name + " started."; ((StatusEffect)val).m_ttl = 0f; val.m_skillLevel = (SkillType)101; val.m_skillLevelModifier = Plugin._skillLevelModifier.Value; ((Character)player).GetSEMan().AddStatusEffect((StatusEffect)(object)val, false, 0, 0f); } public static void UlvBlessing(Player player) { //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) SE_Stats val = ScriptableObject.CreateInstance<SE_Stats>(); ((Object)val).name = "bvm_ulvblessing_se"; ((StatusEffect)val).m_name = "$bvm_ulvblessing"; ((StatusEffect)val).m_icon = PrefabSetups._minionBundle.LoadAsset<Sprite>("BVM_Ulv"); ((StatusEffect)val).m_tooltip = ((StatusEffect)val).m_name; ((StatusEffect)val).m_startMessageType = (MessageType)2; ((StatusEffect)val).m_startMessage = ((StatusEffect)val).m_name + " started."; ((StatusEffect)val).m_ttl = 0f; val.m_skillLevel = (SkillType)106; val.m_skillLevelModifier = Plugin._skillLevelModifier.Value; ((Character)player).GetSEMan().AddStatusEffect((StatusEffect)(object)val, false, 0, 0f); } public static void VoltureBlessing(Player player) { //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0067: Unknown result type (might be due to invalid IL or missing references) SE_Stats val = ScriptableObject.CreateInstance<SE_Stats>(); ((Object)val).name = "bvm_voltureblessing_se"; ((StatusEffect)val).m_name = "$bvm_voltureblessing"; ((StatusEffect)val).m_icon = PrefabSetups._minionBundle.LoadAsset<Sprite>("BVM_Vulture"); ((StatusEffect)val).m_tooltip = ((StatusEffect)val).m_name; ((StatusEffect)val).m_startMessageType = (MessageType)2; ((StatusEffect)val).m_startMessage = ((StatusEffect)val).m_name + " started."; ((StatusEffect)val).m_ttl = 0f; val.m_modifyAttackSkill = (SkillType)8; val.m_damageModifier = Plugin._damageModifier.Value; ((Character)player).GetSEMan().AddStatusEffect((StatusEffect)(object)val, false, 0, 0f); } public static void WolfBlessing(Player player) { //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0067: Unknown result type (might be due to invalid IL or missing references) SE_Stats val = ScriptableObject.CreateInstance<SE_Stats>(); ((Object)val).name = "bvm_wolfblessing_se"; ((StatusEffect)val).m_name = "$bvm_wolfblessing"; ((StatusEffect)val).m_icon = PrefabSetups._minionBundle.LoadAsset<Sprite>("BVM_Wolf"); ((StatusEffect)val).m_tooltip = ((StatusEffect)val).m_name; ((StatusEffect)val).m_startMessageType = (MessageType)2; ((StatusEffect)val).m_startMessage = ((StatusEffect)val).m_name + " started."; ((StatusEffect)val).m_ttl = 0f; ((StatusEffect)val).m_attributes = (StatusAttribute)8; ((Character)player).GetSEMan().AddStatusEffect((StatusEffect)(object)val, false, 0, 0f); } public static void WraithBlessing(Player player) { //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) SE_Stats val = ScriptableObject.CreateInstance<SE_Stats>(); ((Object)val).name = "bvm_wraithblessing_se"; ((StatusEffect)val).m_name = "$bvm_wraithblessing"; ((StatusEffect)val).m_icon = PrefabSetups._minionBundle.LoadAsset<Sprite>("BVM_Wraith"); ((StatusEffect)val).m_tooltip = ((StatusEffect)val).m_name; ((StatusEffect)val).m_startMessageType = (MessageType)2; ((StatusEffect)val).m_startMessage = ((StatusEffect)val).m_name + " started."; ((StatusEffect)val).m_ttl = 0f; val.m_skillLevel = (SkillType)107; val.m_skillLevelModifier = Plugin._skillLevelModifier.Value; ((Character)player).GetSEMan().AddStatusEffect((StatusEffect)(object)val, false, 0, 0f); } public static void GoblinKingBlessing(Player player) { //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0073: Unknown result type (might be due to invalid IL or missing references) //IL_007d: Unknown result type (might be due to invalid IL or missing references) //IL_0085: Unknown result type (might be due to invalid IL or missing references) //IL_008a: Unknown result type (might be due to invalid IL or missing references) //IL_0093: Unknown result type (might be due to invalid IL or missing references) //IL_009d: Unknown result type (might be due to invalid IL or missing references) //IL_00a5: Unknown result type (might be due to invalid IL or missing references) //IL_00aa: Unknown result type (might be due to invalid IL or missing references) //IL_00b3: Unknown result type (might be due to invalid IL or missing references) //IL_00c0: Unknown result type (might be due to invalid IL or missing references) //IL_00c8: Unknown result type (might be due to invalid IL or missing references) //IL_00cd: Unknown result type (might be due to invalid IL or missing references) SE_Stats val = ScriptableObject.CreateInstance<SE_Stats>(); ((Object)val).name = "bvm_goblinkingblessing_se"; ((StatusEffect)val).m_name = "$bvm_goblinkingblessing"; ((StatusEffect)val).m_icon = PrefabSetups._minionBundle.LoadAsset<Sprite>("BVM_Yagluth"); ((StatusEffect)val).m_tooltip = ((StatusEffect)val).m_name; ((StatusEffect)val).m_startMessageType = (MessageType)2; ((StatusEffect)val).m_startMessage = ((StatusEffect)val).m_name + " started."; ((StatusEffect)val).m_ttl = 0f; val.m_mods.AddRange(new List<DamageModPair> { new DamageModPair { m_type = (DamageType)32, m_modifier = (DamageModifier)1 }, new DamageModPair { m_type = (DamageType)64, m_modifier = (DamageModifier)1 }, new DamageModPair { m_type = (DamageType)128, m_modifier = (DamageModifier)1 } }); ((Character)player).GetSEMan().AddStatusEffect((StatusEffect)(object)val, false, 0, 0f); } } [HarmonyPatch] public class Patches { private static float levelAdd = 10f; [HarmonyPostfix] [HarmonyPatch(typeof(ZNetScene), "Awake")] private static void ZNetSceneAwake_Postfix(ZNetScene __instance) { MinionHelper.CreateMinions(__instance); MinionSetup.Init(__instance); } [HarmonyPostfix] [HarmonyPatch(typeof(Tameable), "GetHoverText")] private static void GetHoverText_Postfix(Tameable __instance, ref string __result) { //IL_0076: Unknown result type (might be due to invalid IL or missing references) //IL_007b: Unknown result type (might be due to invalid IL or missing references) if ((Object)(object)__instance == (Object)null || (Object)(object)__instance.m_character == (Object)null || __instance.m_character.IsDead() || !__instance.m_character.IsTamed() || !__instance.m_nview.IsValid() || !__instance.m_nview.IsOwner() || !((Object)((Component)__instance).gameObject).name.StartsWith("BVM_")) { return; } __result += "\n[<color=yellow><b>Left Shift+F</b></color>] Unsummon"; KeyboardShortcut value = Plugin._unSummonKey.Value; if (!((KeyboardShortcut)(ref value)).IsDown()) { return; } if (((Object)((Component)__instance).gameObject).name.Contains("AbominationMinion")) { __instance.UnSummon(); GameObject itemPrefab = ObjectDB.instance.GetItemPrefab("BVM_Abomination_MonsterDisk"); if (((Humanoid)Player.m_localPlayer).m_inventory.AddItem(itemPrefab, 1)) { ((Character)Player.m_localPlayer).ShowPickupMessage(itemPrefab.GetComponent<ItemDrop>().m_itemData, 1); } else { ((Character)Player.m_localPlayer).Message((MessageType)2, "$msg_noroom", 0, (Sprite)null); } ((Character)Player.m_localPlayer).GetSEMan().RemoveStatusEffect(StringExtensionMethods.GetStableHashCode("bvm_abominationblessing_se"), false); } else if (((Object)((Component)__instance).gameObject).name.Contains("AsksvinMinion")) { __instance.UnSummon(); GameObject itemPrefab2 = ObjectDB.instance.GetItemPrefab("BVM_Asksvin_MonsterDisk"); if (((Humanoid)Player.m_localPlayer).m_inventory.AddItem(itemPrefab2, 1)) { ((Character)Player.m_localPlayer).ShowPickupMessage(itemPrefab2.GetComponent<ItemDrop>().m_itemData, 1); } else { ((Character)Player.m_localPlayer).Message((MessageType)2, "$msg_noroom", 0, (Sprite)null); } ((Character)Player.m_localPlayer).GetSEMan().RemoveStatusEffect(StringExtensionMethods.GetStableHashCode("bvm_asksvinblessing_se"), false); } else if (((Object)((Component)__instance).gameObject).name.Contains("BatMinion")) { __instance.UnSummon(); GameObject itemPrefab3 = ObjectDB.instance.GetItemPrefab("BVM_Bat_MonsterDisk"); if (((Humanoid)Player.m_localPlayer).m_inventory.AddItem(itemPrefab3, 1)) { ((Character)Player.m_localPlayer).ShowPickupMessage(itemPrefab3.GetComponent<ItemDrop>().m_itemData, 1); } else { ((Character)Player.m_localPlayer).Message((MessageType)2, "$msg_noroom", 0, (Sprite)null); } ((Character)Player.m_localPlayer).GetSEMan().RemoveStatusEffect(StringExtensionMethods.GetStableHashCode("bvm_batblessing_se"), false); } else if (((Object)((Component)__instance).gameObject).name.Contains("BlobMinion")) { __instance.UnSummon(); GameObject itemPrefab4 = ObjectDB.instance.GetItemPrefab("BVM_Blob_MonsterDisk"); if (((Humanoid)Player.m_localPlayer).m_inventory.AddItem(itemPrefab4, 1)) { ((Character)Player.m_localPlayer).ShowPickupMessage(itemPrefab4.GetComponent<ItemDrop>().m_itemData, 1); } else { ((Character)Player.m_localPlayer).Message((MessageType)2, "$msg_noroom", 0, (Sprite)null); } ((Character)Player.m_localPlayer).GetSEMan().RemoveStatusEffect(StringExtensionMethods.GetStableHashCode("bvm_blobblessing_se"), false); } else if (((Object)((Component)__instance).gameObject).name.Contains("BlobEliteMinion")) { __instance.UnSummon(); GameObject itemPrefab5 = ObjectDB.instance.GetItemPrefab("BVM_BlobElite_MonsterDisk"); if (((Humanoid)Player.m_localPlayer).m_inventory.AddItem(itemPrefab5, 1)) { ((Character)Player.m_localPlayer).ShowPickupMessage(itemPrefab5.GetComponent<ItemDrop>().m_itemData, 1); } else { ((Character)Player.m_localPlayer).Message((MessageType)2, "$msg_noroom", 0, (Sprite)null); } ((Character)Player.m_localPlayer).GetSEMan().RemoveStatusEffect(StringExtensionMethods.GetStableHashCode("bvm_blobeliteblessing_se"), false); } else if (((Object)((Component)__instance).gameObject).name.Contains("BlobLavaMinion")) { __instance.UnSummon(); GameObject itemPrefab6 = ObjectDB.instance.GetItemPrefab("BVM_BlobLava_MonsterDisk"); if (((Humanoid)Player.m_localPlayer).m_inventory.AddItem(itemPrefab6, 1)) { ((Character)Player.m_localPlayer).ShowPickupMessage(itemPrefab6.GetComponent<ItemDrop>().m_itemData, 1); } else { ((Character)Player.m_localPlayer).Message((MessageType)2, "$msg_noroom", 0, (Sprite)null); } ((Character)Player.m_localPlayer).GetSEMan().RemoveStatusEffect(StringExtensionMethods.GetStableHashCode("bvm_bloblavablessing_se"), false); } else if (((Object)((Component)__instance).gameObject).name.Contains("BlobTarMinion")) { __instance.UnSummon(); GameObject itemPrefab7 = ObjectDB.instance.GetItemPrefab("BVM_BlobTar_MonsterDisk"); if (((Humanoid)Player.m_localPlayer).m_inventory.AddItem(itemPrefab7, 1)) { ((Character)Player.m_localPlayer).ShowPickupMessage(itemPrefab7.GetComponent<ItemDrop>().m_itemData, 1); } else { ((Character)Player.m_localPlayer).Message((MessageType)2, "$msg_noroom", 0, (Sprite)null); } ((Character)Player.m_localPlayer).GetSEMan().RemoveStatusEffect(StringExtensionMethods.GetStableHashCode("bvm_blobtarblessing_se"), false); } else if (((Object)((Component)__instance).gameObject).name.Contains("BoarMinion")) { __instance.UnSummon(); GameObject itemPrefab8 = ObjectDB.instance.GetItemPrefab("BVM_Boar_MonsterDisk"); if (((Humanoid)Player.m_localPlayer).m_inventory.AddItem(itemPrefab8, 1)) { ((Character)Player.m_localPlayer).ShowPickupMessage(itemPrefab8.GetComponent<ItemDrop>().m_itemData, 1