Please disclose if any significant portion of your mod was created using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
Decompiled source of Minionz v1.0.7
Minionz.dll
Decompiled 7 months 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