Decompiled source of Monsters of Kali v1.0.1
KalisMonsters.dll
Decompiled 9 months ago
The result has been truncated due to the large size, download it to view full contents!
using System; using System.Collections.Generic; using System.Diagnostics; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Runtime.Versioning; using BepInEx; using BepInEx.Configuration; using Jotunn; using Jotunn.Configs; using Jotunn.Entities; using Jotunn.Managers; using Jotunn.Utils; using SpawnThat.Spawners; using UnityEngine; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: AssemblyTitle("KalisMonsters")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("KalisMonsters")] [assembly: AssemblyCopyright("Copyright © 2023")] [assembly: AssemblyTrademark("")] [assembly: ComVisible(false)] [assembly: Guid("41fc00f3-a7f4-4b05-9bd0-042a0869bd76")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: TargetFramework(".NETFramework,Version=v4.8", FrameworkDisplayName = ".NET Framework 4.8")] [assembly: AssemblyVersion("1.0.0.0")] [RequireComponent(typeof(Character))] public class BossStage_BossObject_KM : MonoBehaviour { public StatusEffect m_bossStatusEffect; private Character m_character; private int m_statusEffectHash; private bool hasEffect; private float getHealthPercent; private float getMaxHealth; private string thisEffect; private void Start() { } public void Setup(Character character) { m_character = character; } private void Awake() { m_character = ((Component)this).GetComponent<Character>(); if (!Object.op_Implicit((Object)(object)m_character)) { return; } thisEffect = ((Object)m_bossStatusEffect).name.ToString() ?? ""; hasEffect = m_character.GetSEMan().HaveStatusEffect(thisEffect); getHealthPercent = m_character.GetHealthPercentage(); getMaxHealth = m_character.GetMaxHealth(); if (!hasEffect) { m_statusEffectHash = ((object)m_bossStatusEffect).GetHashCode(); m_character.GetSEMan().AddStatusEffect(m_statusEffectHash, true, 0, 0f); if (getHealthPercent <= 1f) { m_character.Heal(getMaxHealth, true); } } } } public class ParticleCollision_SpawnAoE : MonoBehaviour { public GameObject[] EffectsOnCollision; public float DestroyTimeDelay = 5f; public bool UseWorldSpacePosition; public float Offset = 0f; public Vector3 rotationOffset = new Vector3(0f, 0f, 0f); public bool useOnlyRotationOffset = true; public bool UseFirePointRotation; public bool DestoyMainEffect = false; private ParticleSystem part; private List<ParticleCollisionEvent> collisionEvents = new List<ParticleCollisionEvent>(); private ParticleSystem ps; private void Start() { part = ((Component)this).GetComponent<ParticleSystem>(); } private void OnParticleCollision(GameObject other) { //IL_003a: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0043: Unknown result type (might be due to invalid IL or missing references) //IL_004f: Unknown result type (might be due to invalid IL or missing references) //IL_0054: Unknown result type (might be due to invalid IL or missing references) //IL_0058: Unknown result type (might be due to invalid IL or missing references) //IL_0063: 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_006f: Unknown result type (might be due to invalid IL or missing references) //IL_0075: Unknown result type (might be due to invalid IL or missing references) //IL_010d: Unknown result type (might be due to invalid IL or missing references) //IL_0112: 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_0158: Unknown result type (might be due to invalid IL or missing references) //IL_015d: Unknown result type (might be due to invalid IL or missing references) //IL_0161: Unknown result type (might be due to invalid IL or missing references) //IL_016d: Unknown result type (might be due to invalid IL or missing references) //IL_0172: Unknown result type (might be due to invalid IL or missing references) //IL_0176: 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_018e: Unknown result type (might be due to invalid IL or missing references) //IL_0194: Unknown result type (might be due to invalid IL or missing references) //IL_0199: Unknown result type (might be due to invalid IL or missing references) //IL_019e: Unknown result type (might be due to invalid IL or missing references) //IL_0136: Unknown result type (might be due to invalid IL or missing references) //IL_013b: Unknown result type (might be due to invalid IL or missing references) int num = ParticlePhysicsExtensions.GetCollisionEvents(part, other, collisionEvents); for (int i = 0; i < num; i++) { GameObject[] effectsOnCollision = EffectsOnCollision; foreach (GameObject val in effectsOnCollision) { ParticleCollisionEvent val2 = collisionEvents[i]; Vector3 intersection = ((ParticleCollisionEvent)(ref val2)).intersection; val2 = collisionEvents[i]; GameObject val3 = Object.Instantiate<GameObject>(val, intersection + ((ParticleCollisionEvent)(ref val2)).normal * Offset, default(Quaternion)); Aoe component = val3.gameObject.GetComponent<Aoe>(); if (Object.op_Implicit((Object)(object)component)) { val3.gameObject.GetComponent<Aoe>().m_ignorePVP = false; val3.gameObject.GetComponent<Aoe>().m_hitFriendly = true; } if (!UseWorldSpacePosition) { val3.transform.parent = ((Component)this).transform; } if (UseFirePointRotation) { val3.transform.LookAt(((Component)this).transform.position); continue; } if (rotationOffset != Vector3.zero && useOnlyRotationOffset) { val3.transform.rotation = Quaternion.Euler(rotationOffset); continue; } Transform transform = val3.transform; val2 = collisionEvents[i]; Vector3 intersection2 = ((ParticleCollisionEvent)(ref val2)).intersection; val2 = collisionEvents[i]; transform.LookAt(intersection2 + ((ParticleCollisionEvent)(ref val2)).normal); Transform transform2 = val3.transform; transform2.rotation *= Quaternion.Euler(rotationOffset); } } if (DestoyMainEffect) { Object.Destroy((Object)(object)((Component)this).gameObject, DestroyTimeDelay + 0.5f); } } } namespace KalisMonsters { [BepInPlugin("horemvore.KaliMonsters", "Kali Monsters", "1.0.1")] [BepInIncompatibility("Azumatt.AzuDevMod")] [NetworkCompatibility(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] internal class KalisMonstersBundle : BaseUnityPlugin { public const string PluginGUID = "horemvore.KaliMonsters"; public const string PluginName = "Kali Monsters"; public const string PluginVersion = "1.0.1"; public static bool isModded = true; public AssetBundle FrogAssets; public ConfigEntry<bool> ModEnable; public ConfigEntry<bool> BossEnable; public ConfigEntry<bool> LoggingEnable; public string[] itemList = new string[67] { "Item_PotionRedMedium_FM", "Item_PotionTeal_FM", "Item_PotionTealTall_FM", "Item_PotionRedTall_FM", "Item_PotionBlue_FM", "Item_PotionRed_FM", "Item_Scales_FM", "Item_Sandglass_FM", "Item_Retort_FM", "Item_FlaskPropTall_FM", "Item_FlaskPropSmall_FM", "Item_FlaskPropSide_FM", "Item_FrogLegMeat_FM", "Item_DestanySummon_FM", "Item_TranslationStone_FM", "Item_UsciasSummon_FM", "Item_AztecMask_FM", "Item_KnightMask_FM", "Item_TotemMask_FM", "Item_ChineseMask_FM", "Item_VoodooMask_FM", "Item_DeathMask_FM", "Item_JesterMask_FM", "Item_ClownMask_FM", "Item_BronzeMask_FM", "Item_SciFiMask_FM", "Item_AlienMask_FM", "Item_UndeadMask_FM", "Attack_WyrmPlains_Bite_FM", "Attack_WyrmPlains_Claw_FM", "Attack_WyrmPlains_Spit_FM", "Attack_PlainsInsect_Claw_FM", "Attack_PlainsInsect_Double_FM", "Attack_PlainsInsect_Spit_FM", "Attack_MistlandsBossFrog_Tongue_FM", "Attack_MistlandsBossFrog_Spit_FM", "Attack_MistlandsBossFrog_Jump_FM", "Attack_MistlandsBossFrog_AoE_FM", "Attack_MistlandsBossFrog_BouncingBall_FM", "Attack_MistlandsBossFrog_Rumble_FM", "Attack_SwampFrog_Tongue_FM", "Attack_SwampFrog_Spit_FM", "Attack_SwampFrog_Jump_FM", "Attack_PlainsFrog_Tongue_FM", "Attack_PlainsFrog_Spit_FM", "Attack_PlainsFrog_Jump_FM", "Attack_AshLandsFrog_Jump_FM", "Attack_AshLandsFrog_Spit_FM", "Attack_AshLandsFrog_Tongue_FM", "Attack_DeepNorthFrog_Tongue_FM", "Attack_DeepNorthFrog_Spit_FM", "Attack_DeepNorthFrog_Jump_FM", "Attack_BeetleMeadows_Fly_FM", "Attack_BeetleMeadows_Ground_FM", "Attack_WyrmSwamp_Bite_FM", "Attack_WyrmSwamp_Claw_FM", "Attack_WyrmSwamp_Spit_FM", "Attack_ForestBossFrog_Tongue_FM", "Attack_ForestBossFrog_Spit_FM", "Attack_ForestBossFrog_Jump_FM", "Attack_PantherGuard_Bite_FM", "Attack_PantherGuard_Claw_FM", "Attack_ForestBossFrog_AoE_FM", "Attack_ForestBossFrog_Roots_FM", "Attack_ForestBossFrog_RootSummon_FM", "Attack_ForestBossFrog_PoisonRain_FM", "Attack_ForestBossFrog_PoisonFog_FM" }; public string[] ragdollList = new string[10] { "Ragdoll_Wyrm_Plains_FM", "Ragdoll_InsectPlains_FM", "Ragdoll_ForestBossFrog_FM", "Ragdoll_PantherGuard_FM", "Ragdoll_SwampFrog_FM", "Ragdoll_PlainsFrog_FM", "Ragdoll_AshLandsFrog_FM", "Ragdoll_DeepNorthFrog_FM", "Ragdoll_BeetleMeadows_FM", "Ragdoll_Wyrm_Swamp_FM" }; public string[] sfxList = new string[24] { "SFX_FrogAlert_FM", "SFX_FrogDeath_FM", "SFX_FrogIdle_FM", "SFX_FrogJump_FM", "SFX_FrogJumpAttack_FM", "SFX_FrogSpitHit_FM", "SFX_FrogSpitHitFire_FM", "SFX_FrogSpitHitFrost_FM", "SFX_FrogTongueHit_FM", "SFX_InsectAlert_FM", "SFX_InsectAttack_FM", "SFX_InsectDeath_FM", "SFX_InsectIdle_FM", "SFX_PantherAlert_FM", "SFX_PantherDeath_FM", "SFX_PantherHit_FM", "SFX_PantherIdle_FM", "SFX_PantherWakeup_FM", "SFX_WyrmAlert_FM", "SFX_WyrmAttack_FM", "SFX_WyrmDeath_FM", "SFX_WyrmHit_FM", "SFX_WyrmIdle_FM", "SFX_WyrmWakeup_FM" }; public string[] musicList = new string[2] { "BlackForestBoss_LocationMusic_FM", "MistlandsBoss_LocationMusic_FM" }; public string[] prefabList = new string[30] { "Pickable_TotemElder_FM", "Environment_Envoy_FM", "Envoy_Trader_FM", "Spawner_BeetleMeadows_FM", "Spawner_PantherGuard_FM", "Spawner_InsectPlains_FM", "Spawner_WyrmPlains_FM", "Projectile_FrogSpit_FM", "Projectile_FrogSpitFire_FM", "Projectile_FrogSpitFrost_FM", "Projectile_WyrmSwamp_Spit_FM", "Projectile_InsectSpitFire_FM", "VFX_FrogSpitHit_FM", "VFX_FrogJump_AttackFire_FM", "VFX_FrogSpitHitFire_FM", "VFX_FrogSpitHitFrost_FM", "VFX_FrogJump_AttackFrost_FM", "VFX_Frogboss_S3_Destroy_KM", "VFX_Frogboss_S3_Hit_KM", "Spawn_Roots_FM", "AoE_MistlandsFrogBoss_Rumble_FM", "AoE_BouncingBall_FM", "AoE_BouncingBall_Hit_FM", "AoE_FrogBossMistlands_FM", "AoE_PoisonRainBossHit_FM", "AoE_PoisonRainBoss_FM", "AoE_PosionFogBoss_FM", "AoE_FrogBoss_S1_KM", "AoE_FrogBoss_S3_KM", "AoE_FrogBoss_FM" }; public string[] aoeAudioFix = new string[1] { "AoE_MistlandsFrogBoss_Rumble_FM" }; public CustomLocalization LocalFM; public void CreateConfigurationValues() { //IL_002f: Unknown result type (might be due to invalid IL or missing references) //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_003d: Expected O, but got Unknown //IL_003d: Unknown result type (might be due to invalid IL or missing references) //IL_0047: Expected O, but got Unknown //IL_006c: Unknown result type (might be due to invalid IL or missing references) //IL_0071: Unknown result type (might be due to invalid IL or missing references) //IL_007a: Expected O, but got Unknown //IL_007a: Unknown result type (might be due to invalid IL or missing references) //IL_0084: Expected O, but got Unknown //IL_00a9: 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_00b7: Expected O, but got Unknown //IL_00b7: Unknown result type (might be due to invalid IL or missing references) //IL_00c1: Expected O, but got Unknown try { ((BaseUnityPlugin)this).Config.SaveOnConfigSet = true; ModEnable = ((BaseUnityPlugin)this).Config.Bind<bool>("0 Frog Monsters", "Enable", true, new ConfigDescription("Admin only, Enables this mod", (AcceptableValueBase)null, new object[1] { (object)new ConfigurationManagerAttributes { IsAdminOnly = true } })); BossEnable = ((BaseUnityPlugin)this).Config.Bind<bool>("1 Boss Locations, Runestones and Vegvisirs", "Enable", true, new ConfigDescription("Admin only, Enables Uscias and Destany locations, works on World Generation, with a mod like Upgrade World or the vanilla console command: genloc", (AcceptableValueBase)null, new object[1] { (object)new ConfigurationManagerAttributes { IsAdminOnly = true } })); LoggingEnable = ((BaseUnityPlugin)this).Config.Bind<bool>("2 Logging", "Enable", true, new ConfigDescription("Admin only, Enables logging", (AcceptableValueBase)null, new object[1] { (object)new ConfigurationManagerAttributes { IsAdminOnly = true } })); SynchronizationManager.OnConfigurationSynchronized += delegate(object obj, ConfigurationSynchronizationEventArgs attr) { if (attr.InitialSynchronization) { Logger.LogMessage((object)"Initial Config sync event received for Frog Monster's"); } else { Logger.LogMessage((object)"Config sync event received for Frog Monster's"); } }; } catch (Exception arg) { ((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding configuration values: {arg}"); } } private void Awake() { CreateConfigurationValues(); if (ModEnable.Value) { AddLocalization(); LoadBundle(); AddStatusEffects(); AddPrefabs(); AddRagdolls(); AddSFX(); AddMusic(); AddItems(); AddFrogMonsters(); AddBeetleMonsters(); AddWyrmMonsters(); AddInsectMonsters(); AddPantherMonsters(); AddSummonMonsters(); ZoneManager.OnVanillaLocationsAvailable += AddLocations; if (BossEnable.Value) { AddFrogBosses(); ZoneManager.OnVanillaLocationsAvailable += AddFrogLocations; PrefabManager.OnPrefabsRegistered += AddBossDrops; } PrefabManager.OnVanillaPrefabsAvailable += FixSFX; PrefabManager.OnVanillaPrefabsAvailable += FixMusic; PrefabManager.OnVanillaPrefabsAvailable += FixAoEAudio; SpawnerConfigurationManager.OnConfigure += ConfigureBiomeSpawners; } } public void AddLocalization() { try { LocalFM = LocalizationManager.Instance.GetLocalization(); CustomLocalization localFM = LocalFM; string text = "English"; localFM.AddTranslation(ref text, new Dictionary<string, string> { { "piece_runstone_uscais_fm", "Uscais" }, { "piece_runstone_destany_fm", "Destany" }, { "vegvisir_destany_fm", "<size=20><color=#b25e4b>Group Encounter:</color></size>" }, { "enemy_tentaroot_fm", "Fentaroot" }, { "item_summonmistlandsboss_fm", "Voodoo Totem" }, { "item_summonmistlandsboss_desc_fm", "This is required to summon Destany" }, { "prop_destanysummoningbowl_name_fm", "<size=20><color=#b2924b>Forever Eye</color></size>" }, { "prop_destanysummoningbowl_use_fm", "<color=orange>Destany</color> requires Voodoo Totems\n<size=20><color=#b25e4b>Group Encounter</color></size>\nType: <color=#4b9fb2>3 to 5 Man</color>\nDifficulty Tier: <color=blue>Mistlands</color>" }, { "npc_envoy_alreadyhave1_fm", "You have already given me that." }, { "npc_envoy_alreadyhave2_fm", "Keep it. I have no use for that." }, { "npc_envoy_alreadyhave3_fm", "I do not need that, I already have one." }, { "npc_envoy_foundquestitem_fm", "You have a Translation Stone! My, My this will make things easier! I am a collector of unusal artifacts and I am interested in anything unusal you find in this god forsaken land." }, { "npc_envoy_found1_fm", "That one must have been a challenge, but you won't regret it! You should check out my Wares!" }, { "npc_envoy_random1_fm", "\tThanks for the help, I really appreciate it." }, { "npc_envoy_anyrandom1_fm", "There are rumours about you, you know? I wonder if they match reality." }, { "npc_envoy_talk1_fm", "Sebblshld jnjl iepbi hrni jnvrh" }, { "npc_envoy_talk2_fm", "Iepbi mgl hrl clo he naaeghmbnho" }, { "npc_envoy_talk3_fm", "Iepbi zeg fglmczmih, iepbi zeg dnjjlg" }, { "npc_envoy_talk4_fm", "Mbmoi aegl iepbi, mbmoi ve zlhsr" }, { "npc_envoy_talk5_fm", "Zlld rna hrni iepb, zlld rna hrmh iepb" }, { "npc_envoy_greet1_fm", "Veed dmo" }, { "npc_envoy_greet2_fm", "Rlbbe ihgmjvlg" }, { "npc_envoy_bye1_fm", "Flvejl" }, { "npc_envoy_bye2_fm", "Vlh beih" }, { "npc_envoy_trade1_fm", "Rmh de oep mjh?" }, { "npc_envoy_trade2_fm", "Oep mjh ieal nhlai?" }, { "npc_envoy_buy1_fm", "Vnwl al oepg fbeed!" }, { "npc_envoy_buy2_fm", "N nbb rmwl oepg iepb!" }, { "npc_envoy_sell1_fm", "Fbeed ni hrl wgnsl!" }, { "npc_envoy_sell2_fm", "Oep el al oepg iepb!" }, { "npc_envoy_fm", "Envoy" }, { "item_prop_desc_fm", "This is a household prop." }, { "item_flasksmall_fm", "Small Flask" }, { "item_flaskside_fm", "Flask" }, { "item_flasktall_fm", "Tall Flask" }, { "item_retort_fm", "Retort" }, { "item_sandglass_fm", "Sandglass" }, { "item_scales_fm", "Scales" }, { "item_potionblue_fm", "Blue Potion" }, { "item_potionred_fm", "Red Potion" }, { "item_potionredmedium_fm", "Red Flask" }, { "item_potionredtall_fm", "Tall Red Potion" }, { "item_potionteal_fm", "Teal Flask" }, { "item_potiontealtall_fm", "Teal Potion" }, { "item_translationstone_fm", "Demonic Translation Stone" }, { "item_translationstone_desc_fm", "Envoy will be interested in this" }, { "item_alienmask_fm", "Alien Mask" }, { "item_aztecmask_fm", "Aztec Mask" }, { "item_bronzemask_fm", "Statue Mask" }, { "item_chinesemask_fm", "Dragon Mask" }, { "item_clownmask_fm", "Clown Mask" }, { "item_deathmask_fm", "Death Mask" }, { "item_jestermask_fm", "Jester Mask" }, { "item_knightmask_fm", "Knight Mask" }, { "item_scifimask_fm", "Space Mask" }, { "item_totemmask_fm", "Totem Mask" }, { "item_undeadmask_fm", "Undead Mask" }, { "item_voodoomask_fm", "Voodoo Mask" }, { "item_mask_desc_fm", "A Mask of unknown origin" }, { "lore_destany_lable_fm", "Geremlins ate all the words" }, { "lore_destany_text_fm", "Geremlins ate all the words" }, { "lore_uscais_lable_fm", "Behind the mask, gaze eyes of old, \nHidden under canopies foretold. \nHis terror lurks with stoney face, \nSpare yourself from his deathly grace." }, { "effect_meadowsboss_stages_km", "Boss Fight" }, { "effect_meadowsboss_stages_tooltip_km", "Four Stage Boss Fight" }, { "prop_usciassummoningbowl_name_fm", "<size=20><color=#b2924b>Forever Eye</color></size>" }, { "prop_usciassummoningbowl_use_fm", "<color=orange>Uscias The Forgotten</color> requires Elder Totems\n<size=20><color=#b25e4b>Group Encounter</color></size>\nType: <color=#4b9fb2>3 to 5 Man</color>\nDifficulty Tier: <color=blue>Mountain</color>" }, { "item_summonforestboss_fm", "Elder Totem" }, { "item_summonforestboss_desc_fm", "This is required to summon Uscias" }, { "vegvisir_uscias_mp", "<size=20><color=#b25e4b>Group Encounter:</color></size>" }, { "location_uscias_mp", "Uscias The Forgotten" }, { "enemy_insectplains_fm", "Insect" }, { "enemy_wyrmplains_fm", "Fire Wyrm" }, { "enemy_wyrm_fm", "Wyrm" }, { "enemy_beetle_fm", "Beetle" }, { "enemy_pantherguard_fm", "Mitsuru" }, { "enemy_deepnorthfrog_fm", "Lip-rhilosh" }, { "enemy_ashlandsfrog_fm", "Rih-bebes" }, { "enemy_plainsfrog_fm", "Noorin'brah" }, { "enemy_frog_fm", "Ras-kebihn" }, { "enemy_uscias_fm", "Uscias The Forgotten" }, { "enemy_destany_fm", "Destany Melodic Dreamer" } }); } catch (Exception arg) { ((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding Localication: {arg}"); } } public void LoadBundle() { try { FrogAssets = AssetUtils.LoadAssetBundleFromResources("frogmonsters", Assembly.GetExecutingAssembly()); } catch (Exception arg) { ((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while loading bundles: {arg}"); } } private void AddStatusEffects() { //IL_0022: Unknown result type (might be due to invalid IL or missing references) //IL_0029: Expected O, but got Unknown //IL_006c: Unknown result type (might be due to invalid IL or missing references) //IL_0073: Expected O, but got Unknown //IL_00b6: Unknown result type (might be due to invalid IL or missing references) //IL_00bd: Expected O, but got Unknown //IL_0100: Unknown result type (might be due to invalid IL or missing references) //IL_0107: Expected O, but got Unknown //IL_014c: Unknown result type (might be due to invalid IL or missing references) //IL_0153: Expected O, but got Unknown //IL_0198: Unknown result type (might be due to invalid IL or missing references) //IL_019f: Expected O, but got Unknown //IL_01e5: Unknown result type (might be due to invalid IL or missing references) //IL_01ec: Expected O, but got Unknown //IL_0232: Unknown result type (might be due to invalid IL or missing references) //IL_0239: Expected O, but got Unknown //IL_027f: Unknown result type (might be due to invalid IL or missing references) //IL_0286: Expected O, but got Unknown try { SE_Smoke val = FrogAssets.LoadAsset<SE_Smoke>("SE_ForestBossFrog_Hurt_FM"); if (Object.op_Implicit((Object)(object)val)) { CustomStatusEffect val2 = new CustomStatusEffect((StatusEffect)(object)val, true); ItemManager.Instance.AddStatusEffect(val2); } else { ((BaseUnityPlugin)this).Logger.LogMessage((object)"SE_ForestBossFrog_Hurt_FM not found"); } SE_Stats val3 = FrogAssets.LoadAsset<SE_Stats>("SE_ForestBossFrog_Heal_FM"); if (Object.op_Implicit((Object)(object)val3)) { CustomStatusEffect val4 = new CustomStatusEffect((StatusEffect)(object)val3, true); ItemManager.Instance.AddStatusEffect(val4); } else { ((BaseUnityPlugin)this).Logger.LogMessage((object)"SE_ForestBossFrog_Heal_FM not found"); } SE_Stats val5 = FrogAssets.LoadAsset<SE_Stats>("SE_MedowsBoss_S1_KM"); if (Object.op_Implicit((Object)(object)val5)) { CustomStatusEffect val6 = new CustomStatusEffect((StatusEffect)(object)val5, true); ItemManager.Instance.AddStatusEffect(val6); } else { ((BaseUnityPlugin)this).Logger.LogMessage((object)"SE_MedowsBoss_S1_KM not found"); } SE_Stats val7 = FrogAssets.LoadAsset<SE_Stats>("SE_MedowsBoss_S2_KM"); if (Object.op_Implicit((Object)(object)val7)) { CustomStatusEffect val8 = new CustomStatusEffect((StatusEffect)(object)val7, true); ItemManager.Instance.AddStatusEffect(val8); } else { ((BaseUnityPlugin)this).Logger.LogMessage((object)"SE_MedowsBoss_S2_KM not found"); } SE_Stats val9 = FrogAssets.LoadAsset<SE_Stats>("SE_MedowsBoss_S3_KM"); if (Object.op_Implicit((Object)(object)val3)) { CustomStatusEffect val10 = new CustomStatusEffect((StatusEffect)(object)val9, true); ItemManager.Instance.AddStatusEffect(val10); } else { ((BaseUnityPlugin)this).Logger.LogMessage((object)"SE_MedowsBoss_S3_KM not found"); } SE_Stats val11 = FrogAssets.LoadAsset<SE_Stats>("SE_MedowsBoss_S4_KM"); if (Object.op_Implicit((Object)(object)val3)) { CustomStatusEffect val12 = new CustomStatusEffect((StatusEffect)(object)val11, true); ItemManager.Instance.AddStatusEffect(val12); } else { ((BaseUnityPlugin)this).Logger.LogMessage((object)"SE_MedowsBoss_S4_KM not found"); } SE_DoT_KM sE_DoT_KM = FrogAssets.LoadAsset<SE_DoT_KM>("SE_ForestFrogBoss_S3_KM"); if (Object.op_Implicit((Object)(object)sE_DoT_KM)) { CustomStatusEffect val13 = new CustomStatusEffect((StatusEffect)(object)sE_DoT_KM, true); ItemManager.Instance.AddStatusEffect(val13); } else { ((BaseUnityPlugin)this).Logger.LogMessage((object)"SE_ForestFrogBoss_S3_KM not found"); } SE_HoT_KM sE_HoT_KM = FrogAssets.LoadAsset<SE_HoT_KM>("SE_BossHeal_S3_KM"); if (Object.op_Implicit((Object)(object)sE_HoT_KM)) { CustomStatusEffect val14 = new CustomStatusEffect((StatusEffect)(object)sE_HoT_KM, true); ItemManager.Instance.AddStatusEffect(val14); } else { ((BaseUnityPlugin)this).Logger.LogMessage((object)"SE_BossHeal_S3_KM not found"); } BossStage_Controller_KM bossStage_Controller_KM = FrogAssets.LoadAsset<BossStage_Controller_KM>("SE_BlackForestFrogBoss_StageController_KM"); if (Object.op_Implicit((Object)(object)bossStage_Controller_KM)) { CustomStatusEffect val15 = new CustomStatusEffect((StatusEffect)(object)bossStage_Controller_KM, true); ItemManager.Instance.AddStatusEffect(val15); } else { ((BaseUnityPlugin)this).Logger.LogMessage((object)"SE_BossHeal_S3_KM not found"); } } catch (Exception arg) { ((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding Status Effects: {arg}"); } } private void AddPrefabs() { //IL_0033: Unknown result type (might be due to invalid IL or missing references) //IL_003a: Expected O, but got Unknown try { string[] array = prefabList; foreach (string text in array) { GameObject val = FrogAssets.LoadAsset<GameObject>(text); if ((Object)(object)val != (Object)null) { CustomPrefab val2 = new CustomPrefab(val, false); PrefabManager.Instance.AddPrefab(val2); } else if (LoggingEnable.Value) { ((BaseUnityPlugin)this).Logger.LogMessage((object)("Failed to add: " + text + " to the Object database")); } if (LoggingEnable.Value) { ((BaseUnityPlugin)this).Logger.LogMessage((object)("Added: " + text + " to the Object database")); } } } catch (Exception arg) { ((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding Prefabs: {arg}"); } } private void AddItems() { //IL_0033: Unknown result type (might be due to invalid IL or missing references) //IL_003a: Expected O, but got Unknown try { string[] array = itemList; foreach (string text in array) { GameObject val = FrogAssets.LoadAsset<GameObject>(text); if ((Object)(object)val != (Object)null) { CustomItem val2 = new CustomItem(val, true); ItemManager.Instance.AddItem(val2); } else if (LoggingEnable.Value) { ((BaseUnityPlugin)this).Logger.LogMessage((object)("Failed to add: " + text + " to the Object database")); } if (LoggingEnable.Value) { ((BaseUnityPlugin)this).Logger.LogMessage((object)("Added: " + text + " to the Object database")); } } } catch (Exception arg) { ((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding item prefabs: {arg}"); } } private void AddRagdolls() { //IL_0033: Unknown result type (might be due to invalid IL or missing references) //IL_003a: Expected O, but got Unknown try { string[] array = ragdollList; foreach (string text in array) { GameObject val = FrogAssets.LoadAsset<GameObject>(text); if ((Object)(object)val != (Object)null) { CustomPrefab val2 = new CustomPrefab(val, true); PrefabManager.Instance.AddPrefab(val2); } else if (LoggingEnable.Value) { ((BaseUnityPlugin)this).Logger.LogMessage((object)("Failed to add: " + text + " to the Object database")); } if (LoggingEnable.Value) { ((BaseUnityPlugin)this).Logger.LogMessage((object)("Added: " + text + " to the Object database")); } } } catch (Exception arg) { ((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding Ragdolls: {arg}"); } } private void AddSFX() { //IL_0033: Unknown result type (might be due to invalid IL or missing references) //IL_003a: Expected O, but got Unknown try { string[] array = sfxList; foreach (string text in array) { GameObject val = FrogAssets.LoadAsset<GameObject>(text); if ((Object)(object)val != (Object)null) { CustomPrefab val2 = new CustomPrefab(val, false); PrefabManager.Instance.AddPrefab(val2); } else if (LoggingEnable.Value) { ((BaseUnityPlugin)this).Logger.LogMessage((object)("Failed to add: " + text + " to the Object database")); } if (LoggingEnable.Value) { ((BaseUnityPlugin)this).Logger.LogMessage((object)("Added: " + text + " to the Object database")); } } } catch (Exception arg) { ((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding sfx prefabs: {arg}"); } } private void AddMusic() { //IL_0033: Unknown result type (might be due to invalid IL or missing references) //IL_003a: Expected O, but got Unknown try { string[] array = musicList; foreach (string text in array) { GameObject val = FrogAssets.LoadAsset<GameObject>(text); if ((Object)(object)val != (Object)null) { CustomPrefab val2 = new CustomPrefab(val, false); PrefabManager.Instance.AddPrefab(val2); } else if (LoggingEnable.Value) { ((BaseUnityPlugin)this).Logger.LogMessage((object)("Failed to add: " + text + " to the Object database")); } if (LoggingEnable.Value) { ((BaseUnityPlugin)this).Logger.LogMessage((object)("Added: " + text + " to the Object database")); } } } catch (Exception arg) { ((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding music prefabs: {arg}"); } } private void AddFrogMonsters() { //IL_0026: Unknown result type (might be due to invalid IL or missing references) //IL_002d: Expected O, but got Unknown //IL_0037: Unknown result type (might be due to invalid IL or missing references) //IL_003c: Unknown result type (might be due to invalid IL or missing references) //IL_0048: Unknown result type (might be due to invalid IL or missing references) //IL_0054: 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_0064: Unknown result type (might be due to invalid IL or missing references) //IL_006c: Unknown result type (might be due to invalid IL or missing references) //IL_0075: Expected O, but got Unknown //IL_0077: Unknown result type (might be due to invalid IL or missing references) //IL_007c: Unknown result type (might be due to invalid IL or missing references) //IL_0088: Unknown result type (might be due to invalid IL or missing references) //IL_0094: Unknown result type (might be due to invalid IL or missing references) //IL_009c: 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_00b5: Expected O, but got Unknown //IL_00bc: Unknown result type (might be due to invalid IL or missing references) //IL_00c3: Expected O, but got Unknown //IL_010a: Unknown result type (might be due to invalid IL or missing references) //IL_0111: Expected O, but got Unknown //IL_011b: Unknown result type (might be due to invalid IL or missing references) //IL_0120: Unknown result type (might be due to invalid IL or missing references) //IL_012c: Unknown result type (might be due to invalid IL or missing references) //IL_0138: Unknown result type (might be due to invalid IL or missing references) //IL_0140: Unknown result type (might be due to invalid IL or missing references) //IL_0148: Unknown result type (might be due to invalid IL or missing references) //IL_0150: Unknown result type (might be due to invalid IL or missing references) //IL_0159: Expected O, but got Unknown //IL_015b: Unknown result type (might be due to invalid IL or missing references) //IL_0160: Unknown result type (might be due to invalid IL or missing references) //IL_016c: Unknown result type (might be due to invalid IL or missing references) //IL_0178: Unknown result type (might be due to invalid IL or missing references) //IL_0180: Unknown result type (might be due to invalid IL or missing references) //IL_0188: Unknown result type (might be due to invalid IL or missing references) //IL_0190: Unknown result type (might be due to invalid IL or missing references) //IL_0199: Expected O, but got Unknown //IL_01a0: Unknown result type (might be due to invalid IL or missing references) //IL_01a7: Expected O, but got Unknown //IL_01ee: Unknown result type (might be due to invalid IL or missing references) //IL_01f5: Expected O, but got Unknown //IL_01ff: Unknown result type (might be due to invalid IL or missing references) //IL_0204: Unknown result type (might be due to invalid IL or missing references) //IL_0210: Unknown result type (might be due to invalid IL or missing references) //IL_021c: Unknown result type (might be due to invalid IL or missing references) //IL_0224: Unknown result type (might be due to invalid IL or missing references) //IL_022c: Unknown result type (might be due to invalid IL or missing references) //IL_0234: Unknown result type (might be due to invalid IL or missing references) //IL_023d: Expected O, but got Unknown //IL_023f: Unknown result type (might be due to invalid IL or missing references) //IL_0244: Unknown result type (might be due to invalid IL or missing references) //IL_0250: Unknown result type (might be due to invalid IL or missing references) //IL_025c: Unknown result type (might be due to invalid IL or missing references) //IL_0264: Unknown result type (might be due to invalid IL or missing references) //IL_026c: Unknown result type (might be due to invalid IL or missing references) //IL_0274: Unknown result type (might be due to invalid IL or missing references) //IL_027d: Expected O, but got Unknown //IL_0284: Unknown result type (might be due to invalid IL or missing references) //IL_028b: Expected O, but got Unknown //IL_02d2: Unknown result type (might be due to invalid IL or missing references) //IL_02d9: Expected O, but got Unknown //IL_02e3: Unknown result type (might be due to invalid IL or missing references) //IL_02e8: Unknown result type (might be due to invalid IL or missing references) //IL_02f4: Unknown result type (might be due to invalid IL or missing references) //IL_0300: Unknown result type (might be due to invalid IL or missing references) //IL_0308: Unknown result type (might be due to invalid IL or missing references) //IL_0310: Unknown result type (might be due to invalid IL or missing references) //IL_0318: Unknown result type (might be due to invalid IL or missing references) //IL_0321: Expected O, but got Unknown //IL_0323: Unknown result type (might be due to invalid IL or missing references) //IL_0328: Unknown result type (might be due to invalid IL or missing references) //IL_0334: Unknown result type (might be due to invalid IL or missing references) //IL_0340: Unknown result type (might be due to invalid IL or missing references) //IL_0348: Unknown result type (might be due to invalid IL or missing references) //IL_0350: Unknown result type (might be due to invalid IL or missing references) //IL_0358: Unknown result type (might be due to invalid IL or missing references) //IL_0361: Expected O, but got Unknown //IL_0368: Unknown result type (might be due to invalid IL or missing references) //IL_036f: Expected O, but got Unknown try { GameObject val = FrogAssets.LoadAsset<GameObject>("SwampFrog_FM"); if ((Object)(object)val != (Object)null) { CreatureConfig val2 = new CreatureConfig(); val2.DropConfigs = (DropConfig[])(object)new DropConfig[2] { new DropConfig { Item = "Ooze", Chance = 0.5f, MinAmount = 1, MaxAmount = 2, OnePerPlayer = false, LevelMultiplier = false }, new DropConfig { Item = "Item_FrogLegMeat_FM", Chance = 0.5f, MinAmount = 1, MaxAmount = 2, OnePerPlayer = false, LevelMultiplier = false } }; CustomCreature val3 = new CustomCreature(val, true, val2); CreatureManager.Instance.AddCreature(val3); } else { ((BaseUnityPlugin)this).Logger.LogMessage((object)"SwampFrog_FM not found"); } GameObject val4 = FrogAssets.LoadAsset<GameObject>("PlainsFrog_FM"); if ((Object)(object)val4 != (Object)null) { CreatureConfig val2 = new CreatureConfig(); val2.DropConfigs = (DropConfig[])(object)new DropConfig[2] { new DropConfig { Item = "Ooze", Chance = 0.5f, MinAmount = 1, MaxAmount = 2, OnePerPlayer = false, LevelMultiplier = false }, new DropConfig { Item = "Item_FrogLegMeat_FM", Chance = 0.5f, MinAmount = 1, MaxAmount = 2, OnePerPlayer = false, LevelMultiplier = false } }; CustomCreature val5 = new CustomCreature(val4, true, val2); CreatureManager.Instance.AddCreature(val5); } else { ((BaseUnityPlugin)this).Logger.LogMessage((object)"AshLandsFrog_FM not found"); } GameObject val6 = FrogAssets.LoadAsset<GameObject>("AshLandsFrog_FM"); if ((Object)(object)val6 != (Object)null) { CreatureConfig val2 = new CreatureConfig(); val2.DropConfigs = (DropConfig[])(object)new DropConfig[2] { new DropConfig { Item = "Ooze", Chance = 0.5f, MinAmount = 1, MaxAmount = 2, OnePerPlayer = false, LevelMultiplier = false }, new DropConfig { Item = "Item_FrogLegMeat_FM", Chance = 0.5f, MinAmount = 1, MaxAmount = 2, OnePerPlayer = false, LevelMultiplier = false } }; CustomCreature val7 = new CustomCreature(val6, true, val2); CreatureManager.Instance.AddCreature(val7); } else { ((BaseUnityPlugin)this).Logger.LogMessage((object)"AshLandsFrog_FM not found"); } GameObject val8 = FrogAssets.LoadAsset<GameObject>("DeepNorthFrog_FM"); if ((Object)(object)val8 != (Object)null) { CreatureConfig val2 = new CreatureConfig(); val2.DropConfigs = (DropConfig[])(object)new DropConfig[2] { new DropConfig { Item = "Ooze", Chance = 0.5f, MinAmount = 1, MaxAmount = 2, OnePerPlayer = false, LevelMultiplier = false }, new DropConfig { Item = "Item_FrogLegMeat_FM", Chance = 0.5f, MinAmount = 1, MaxAmount = 2, OnePerPlayer = false, LevelMultiplier = false } }; CustomCreature val9 = new CustomCreature(val8, true, val2); CreatureManager.Instance.AddCreature(val9); } else { ((BaseUnityPlugin)this).Logger.LogMessage((object)"DeepNorthFrog_FM not found"); } } catch (Exception arg) { ((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding frog monsters: {arg}"); } } private void AddPantherMonsters() { //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_0026: Expected O, but got Unknown //IL_002f: Unknown result type (might be due to invalid IL or missing references) //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_0040: Unknown result type (might be due to invalid IL or missing references) //IL_004c: Unknown result type (might be due to invalid IL or missing references) //IL_0054: 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_0064: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Expected O, but got Unknown //IL_0073: Unknown result type (might be due to invalid IL or missing references) //IL_0079: Expected O, but got Unknown try { GameObject val = FrogAssets.LoadAsset<GameObject>("PantherGuard_FM"); if (Object.op_Implicit((Object)(object)val)) { CreatureConfig val2 = new CreatureConfig(); val2.DropConfigs = (DropConfig[])(object)new DropConfig[1] { new DropConfig { Item = "Ooze", Chance = 0.5f, MinAmount = 1, MaxAmount = 2, OnePerPlayer = false, LevelMultiplier = false } }; CustomCreature val3 = new CustomCreature(val, true, val2); CreatureManager.Instance.AddCreature(val3); } else { ((BaseUnityPlugin)this).Logger.LogMessage((object)"PantherGuard_FM not found"); } } catch (Exception arg) { ((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding Panther monsters: {arg}"); } } private void AddBeetleMonsters() { //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_0026: Expected O, but got Unknown //IL_002f: Unknown result type (might be due to invalid IL or missing references) //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_0040: Unknown result type (might be due to invalid IL or missing references) //IL_004c: Unknown result type (might be due to invalid IL or missing references) //IL_0054: 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_0064: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Expected O, but got Unknown //IL_0073: Unknown result type (might be due to invalid IL or missing references) //IL_0079: Expected O, but got Unknown try { GameObject val = FrogAssets.LoadAsset<GameObject>("Beetle_Meadows_FM"); if (Object.op_Implicit((Object)(object)val)) { CreatureConfig val2 = new CreatureConfig(); val2.DropConfigs = (DropConfig[])(object)new DropConfig[1] { new DropConfig { Item = "Ooze", Chance = 0.25f, MinAmount = 1, MaxAmount = 2, OnePerPlayer = false, LevelMultiplier = false } }; CustomCreature val3 = new CustomCreature(val, true, val2); CreatureManager.Instance.AddCreature(val3); } else { ((BaseUnityPlugin)this).Logger.LogMessage((object)"Beetle_Meadows_FM not found"); } } catch (Exception arg) { ((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding Misc monsters: {arg}"); } } private void AddWyrmMonsters() { //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Expected O, but got Unknown //IL_0031: Unknown result type (might be due to invalid IL or missing references) //IL_0036: Unknown result type (might be due to invalid IL or missing references) //IL_0042: Unknown result type (might be due to invalid IL or missing references) //IL_004e: 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_005e: Unknown result type (might be due to invalid IL or missing references) //IL_0066: Unknown result type (might be due to invalid IL or missing references) //IL_006f: Expected O, but got Unknown //IL_0076: Unknown result type (might be due to invalid IL or missing references) //IL_007c: Expected O, but got Unknown //IL_00bf: Unknown result type (might be due to invalid IL or missing references) //IL_00c6: Expected O, but got Unknown //IL_00d0: Unknown result type (might be due to invalid IL or missing references) //IL_00d5: Unknown result type (might be due to invalid IL or missing references) //IL_00e1: Unknown result type (might be due to invalid IL or missing references) //IL_00ed: Unknown result type (might be due to invalid IL or missing references) //IL_00f5: Unknown result type (might be due to invalid IL or missing references) //IL_00fd: Unknown result type (might be due to invalid IL or missing references) //IL_0105: Unknown result type (might be due to invalid IL or missing references) //IL_010e: Expected O, but got Unknown //IL_0115: Unknown result type (might be due to invalid IL or missing references) //IL_011c: Expected O, but got Unknown try { GameObject val = FrogAssets.LoadAsset<GameObject>("Wyrm_Swamp_FM"); if (Object.op_Implicit((Object)(object)val)) { CreatureConfig val2 = new CreatureConfig(); val2.DropConfigs = (DropConfig[])(object)new DropConfig[1] { new DropConfig { Item = "Guck", Chance = 0.25f, MinAmount = 1, MaxAmount = 2, OnePerPlayer = false, LevelMultiplier = false } }; CustomCreature val3 = new CustomCreature(val, true, val2); CreatureManager.Instance.AddCreature(val3); } else { ((BaseUnityPlugin)this).Logger.LogMessage((object)"Wyrm_Swamp_FM not found"); } GameObject val4 = FrogAssets.LoadAsset<GameObject>("Wyrm_Plains_FM"); if ((Object)(object)val4 != (Object)null) { CreatureConfig val2 = new CreatureConfig(); val2.DropConfigs = (DropConfig[])(object)new DropConfig[1] { new DropConfig { Item = "Guck", Chance = 0.25f, MinAmount = 1, MaxAmount = 2, OnePerPlayer = false, LevelMultiplier = false } }; CustomCreature val5 = new CustomCreature(val4, true, val2); CreatureManager.Instance.AddCreature(val5); } else { ((BaseUnityPlugin)this).Logger.LogMessage((object)"Wyrm_Plains_FM not found"); } } catch (Exception arg) { ((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding Wyrm monsters: {arg}"); } } private void AddInsectMonsters() { //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_0026: Expected O, but got Unknown //IL_002f: Unknown result type (might be due to invalid IL or missing references) //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_0040: Unknown result type (might be due to invalid IL or missing references) //IL_004c: Unknown result type (might be due to invalid IL or missing references) //IL_0054: 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_0064: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Expected O, but got Unknown //IL_0073: Unknown result type (might be due to invalid IL or missing references) //IL_0079: Expected O, but got Unknown try { GameObject val = FrogAssets.LoadAsset<GameObject>("Insect_Plains_FM"); if (Object.op_Implicit((Object)(object)val)) { CreatureConfig val2 = new CreatureConfig(); val2.DropConfigs = (DropConfig[])(object)new DropConfig[1] { new DropConfig { Item = "Guck", Chance = 0.25f, MinAmount = 1, MaxAmount = 2, OnePerPlayer = false, LevelMultiplier = false } }; CustomCreature val3 = new CustomCreature(val, true, val2); CreatureManager.Instance.AddCreature(val3); } else { ((BaseUnityPlugin)this).Logger.LogMessage((object)"Insect_Plains_FM not found"); } } catch (Exception arg) { ((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding Insect monsters: {arg}"); } } private void AddSummonMonsters() { //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_0026: Expected O, but got Unknown //IL_002f: Unknown result type (might be due to invalid IL or missing references) //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_0040: Unknown result type (might be due to invalid IL or missing references) //IL_004c: Unknown result type (might be due to invalid IL or missing references) //IL_0054: 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_0064: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Expected O, but got Unknown //IL_0073: Unknown result type (might be due to invalid IL or missing references) //IL_0079: Expected O, but got Unknown try { GameObject val = FrogAssets.LoadAsset<GameObject>("BFBossTentaroot_FM"); if (Object.op_Implicit((Object)(object)val)) { CreatureConfig val2 = new CreatureConfig(); val2.DropConfigs = (DropConfig[])(object)new DropConfig[1] { new DropConfig { Item = "Wood", Chance = 5f, MinAmount = 1, MaxAmount = 2, OnePerPlayer = false, LevelMultiplier = false } }; CustomCreature val3 = new CustomCreature(val, true, val2); CreatureManager.Instance.AddCreature(val3); } else { ((BaseUnityPlugin)this).Logger.LogMessage((object)"BFBossTentaroot_FM not found"); } } catch (Exception arg) { ((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding Misc monsters: {arg}"); } } private void AddFrogBosses() { //IL_0023: Unknown result type (might be due to invalid IL or missing references) //IL_002a: Expected O, but got Unknown //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_0039: 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_0051: Unknown result type (might be due to invalid IL or missing references) //IL_005a: Unknown result type (might be due to invalid IL or missing references) //IL_0063: Unknown result type (might be due to invalid IL or missing references) //IL_006b: Unknown result type (might be due to invalid IL or missing references) //IL_0074: Expected O, but got Unknown //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) //IL_0087: 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_009b: Unknown result type (might be due to invalid IL or missing references) //IL_00a3: Unknown result type (might be due to invalid IL or missing references) //IL_00ab: Unknown result type (might be due to invalid IL or missing references) //IL_00b4: Expected O, but got Unknown //IL_00bb: Unknown result type (might be due to invalid IL or missing references) //IL_00c1: Expected O, but got Unknown //IL_0106: Unknown result type (might be due to invalid IL or missing references) //IL_010d: Expected O, but got Unknown //IL_0117: Unknown result type (might be due to invalid IL or missing references) //IL_011c: 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_0134: Unknown result type (might be due to invalid IL or missing references) //IL_013d: Unknown result type (might be due to invalid IL or missing references) //IL_0146: Unknown result type (might be due to invalid IL or missing references) //IL_014e: Unknown result type (might be due to invalid IL or missing references) //IL_0157: Expected O, but got Unknown //IL_0159: Unknown result type (might be due to invalid IL or missing references) //IL_015e: Unknown result type (might be due to invalid IL or missing references) //IL_016a: Unknown result type (might be due to invalid IL or missing references) //IL_0176: Unknown result type (might be due to invalid IL or missing references) //IL_017e: Unknown result type (might be due to invalid IL or missing references) //IL_0186: 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_0197: Expected O, but got Unknown //IL_019e: Unknown result type (might be due to invalid IL or missing references) //IL_01a5: Expected O, but got Unknown try { GameObject val = FrogAssets.LoadAsset<GameObject>("BlackForestBossFrog_FM"); if (Object.op_Implicit((Object)(object)val)) { CreatureConfig val2 = new CreatureConfig(); val2.DropConfigs = (DropConfig[])(object)new DropConfig[2] { new DropConfig { Item = "Coins", Chance = 1f, MinAmount = 17, MaxAmount = 29, OnePerPlayer = false, LevelMultiplier = false }, new DropConfig { Item = "Item_FrogLegMeat_FM", Chance = 1f, MinAmount = 2, MaxAmount = 4, OnePerPlayer = false, LevelMultiplier = false } }; CustomCreature val3 = new CustomCreature(val, true, val2); CreatureManager.Instance.AddCreature(val3); } else { ((BaseUnityPlugin)this).Logger.LogMessage((object)"BlackForestBossFrog_FM not found"); } GameObject val4 = FrogAssets.LoadAsset<GameObject>("MistlandBossFrog_FM"); if (Object.op_Implicit((Object)(object)val4)) { CreatureConfig val2 = new CreatureConfig(); val2.DropConfigs = (DropConfig[])(object)new DropConfig[2] { new DropConfig { Item = "Coins", Chance = 1f, MinAmount = 34, MaxAmount = 58, OnePerPlayer = false, LevelMultiplier = false }, new DropConfig { Item = "Item_FrogLegMeat_FM", Chance = 1f, MinAmount = 2, MaxAmount = 4, OnePerPlayer = false, LevelMultiplier = false } }; CustomCreature val5 = new CustomCreature(val4, true, val2); CreatureManager.Instance.AddCreature(val5); } else { ((BaseUnityPlugin)this).Logger.LogMessage((object)"MistlandBossFrog_FM not found"); } } catch (Exception arg) { ((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding frog bosses: {arg}"); } } private void AddFrogLocations() { //IL_0072: 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_0087: Unknown result type (might be due to invalid IL or missing references) //IL_008f: 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_00a7: 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_00bb: Unknown result type (might be due to invalid IL or missing references) //IL_00c7: Unknown result type (might be due to invalid IL or missing references) //IL_00d3: Unknown result type (might be due to invalid IL or missing references) //IL_00e4: Expected O, but got Unknown //IL_00df: Unknown result type (might be due to invalid IL or missing references) //IL_00e9: Expected O, but got Unknown //IL_017c: Unknown result type (might be due to invalid IL or missing references) //IL_0181: 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_0192: Unknown result type (might be due to invalid IL or missing references) //IL_019a: Unknown result type (might be due to invalid IL or missing references) //IL_01a2: Unknown result type (might be due to invalid IL or missing references) //IL_01ae: Unknown result type (might be due to invalid IL or missing references) //IL_01ba: 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_01d2: Unknown result type (might be due to invalid IL or missing references) //IL_01e3: Expected O, but got Unknown //IL_01de: Unknown result type (might be due to invalid IL or missing references) //IL_01e8: Expected O, but got Unknown //IL_027d: Unknown result type (might be due to invalid IL or missing references) //IL_0282: Unknown result type (might be due to invalid IL or missing references) //IL_028a: Unknown result type (might be due to invalid IL or missing references) //IL_0293: Unknown result type (might be due to invalid IL or missing references) //IL_029b: Unknown result type (might be due to invalid IL or missing references) //IL_02a3: Unknown result type (might be due to invalid IL or missing references) //IL_02af: Unknown result type (might be due to invalid IL or missing references) //IL_02bb: Unknown result type (might be due to invalid IL or missing references) //IL_02c7: Unknown result type (might be due to invalid IL or missing references) //IL_02d3: Unknown result type (might be due to invalid IL or missing references) //IL_02e4: Expected O, but got Unknown //IL_02df: Unknown result type (might be due to invalid IL or missing references) //IL_02e9: Expected O, but got Unknown //IL_037e: Unknown result type (might be due to invalid IL or missing references) //IL_0383: Unknown result type (might be due to invalid IL or missing references) //IL_038c: Unknown result type (might be due to invalid IL or missing references) //IL_0395: Unknown result type (might be due to invalid IL or missing references) //IL_039d: Unknown result type (might be due to invalid IL or missing references) //IL_03a5: Unknown result type (might be due to invalid IL or missing references) //IL_03b1: 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_03c9: Unknown result type (might be due to invalid IL or missing references) //IL_03d5: Unknown result type (might be due to invalid IL or missing references) //IL_03e6: Expected O, but got Unknown //IL_03e1: Unknown result type (might be due to invalid IL or missing references) //IL_03eb: Expected O, but got Unknown //IL_0480: Unknown result type (might be due to invalid IL or missing references) //IL_0485: Unknown result type (might be due to invalid IL or missing references) //IL_048e: Unknown result type (might be due to invalid IL or missing references) //IL_0497: Unknown result type (might be due to invalid IL or missing references) //IL_049f: Unknown result type (might be due to invalid IL or missing references) //IL_04a7: Unknown result type (might be due to invalid IL or missing references) //IL_04b3: Unknown result type (might be due to invalid IL or missing references) //IL_04bf: Unknown result type (might be due to invalid IL or missing references) //IL_04cb: Unknown result type (might be due to invalid IL or missing references) //IL_04d7: Unknown result type (might be due to invalid IL or missing references) //IL_04e8: Expected O, but got Unknown //IL_04e3: Unknown result type (might be due to invalid IL or missing references) //IL_04ed: Expected O, but got Unknown //IL_0595: Unknown result type (might be due to invalid IL or missing references) //IL_059a: Unknown result type (might be due to invalid IL or missing references) //IL_05a6: Unknown result type (might be due to invalid IL or missing references) //IL_05ae: Unknown result type (might be due to invalid IL or missing references) //IL_05b6: Unknown result type (might be due to invalid IL or missing references) //IL_05be: Unknown result type (might be due to invalid IL or missing references) //IL_05ca: Unknown result type (might be due to invalid IL or missing references) //IL_05d6: Unknown result type (might be due to invalid IL or missing references) //IL_05e2: Unknown result type (might be due to invalid IL or missing references) //IL_05ee: Unknown result type (might be due to invalid IL or missing references) //IL_05ff: Expected O, but got Unknown //IL_05fa: Unknown result type (might be due to invalid IL or missing references) //IL_0604: Expected O, but got Unknown try { GameObject prefab = PrefabManager.Instance.GetPrefab("Loc_BlackForestBoss_FM"); AudioSource prefab2 = Cache.GetPrefab<AudioSource>("sfx_arrow_hit"); AudioSource prefab3 = Cache.GetPrefab<AudioSource>("Music_FulingCamp"); if (!Object.op_Implicit((Object)(object)prefab)) { GameObject val = ZoneManager.Instance.CreateLocationContainer(FrogAssets.LoadAsset<GameObject>("Loc_BlackForestBoss_FM")); val.GetComponentInChildren<AudioSource>().outputAudioMixerGroup = prefab3.outputAudioMixerGroup; ZoneManager.Instance.AddCustomLocation(new CustomLocation(val, true, new LocationConfig { Biome = (Biome)8, Quantity = 3, Priotized = true, ExteriorRadius = 32f, MinAltitude = 5f, MaxAltitude = 10f, ClearArea = true, MinDistance = 1000f, MaxDistance = 4000f, MinDistanceFromSimilar = 1000f })); if (LoggingEnable.Value) { ((BaseUnityPlugin)this).Logger.LogMessage((object)("Added: " + ((Object)val).name + " to the Location database")); } } else { ((BaseUnityPlugin)this).Logger.LogMessage((object)"Black Forest boss location already added"); } GameObject prefab4 = PrefabManager.Instance.GetPrefab("Loc_VegvisirBFBoss_FM"); if (!Object.op_Implicit((Object)(object)prefab4)) { GameObject val2 = ZoneManager.Instance.CreateLocationContainer(FrogAssets.LoadAsset<GameObject>("Loc_VegvisirBFBoss_FM")); ZoneManager.Instance.AddCustomLocation(new CustomLocation(val2, true, new LocationConfig { Biome = (Biome)8, Quantity = 25, Priotized = true, ClearArea = true, ExteriorRadius = 8f, MinAltitude = 5f, MinDistance = 1000f, MaxDistance = 5000f, MinDistanceFromSimilar = 500f })); if (LoggingEnable.Value) { ((BaseUnityPlugin)this).Logger.LogMessage((object)("Added: " + ((Object)val2).name + " to the Location database")); } } else { ((BaseUnityPlugin)this).Logger.LogMessage((object)"Black Forest boss vegvisir location already added"); } GameObject prefab5 = PrefabManager.Instance.GetPrefab("Loc_RunestoneBFBoss_FM"); if (!Object.op_Implicit((Object)(object)prefab5)) { GameObject val3 = ZoneManager.Instance.CreateLocationContainer(FrogAssets.LoadAsset<GameObject>("Loc_RunestoneBFBoss_FM")); ZoneManager.Instance.AddCustomLocation(new CustomLocation(val3, true, new LocationConfig { Biome = (Biome)8, Quantity = 10, Priotized = true, ClearArea = true, ExteriorRadius = 8f, MinAltitude = 5f, MinDistance = 1000f, MaxDistance = 5000f, MinDistanceFromSimilar = 500f })); if (LoggingEnable.Value) { ((BaseUnityPlugin)this).Logger.LogMessage((object)("Added: " + ((Object)val3).name + " to the Location database")); } } else { ((BaseUnityPlugin)this).Logger.LogMessage((object)"Black Forest boss runstone location already added"); } GameObject prefab6 = PrefabManager.Instance.GetPrefab("Loc_VegvisirDestany_FM"); if (!Object.op_Implicit((Object)(object)prefab6)) { GameObject val4 = ZoneManager.Instance.CreateLocationContainer(FrogAssets.LoadAsset<GameObject>("Loc_VegvisirDestany_FM")); ZoneManager.Instance.AddCustomLocation(new CustomLocation(val4, true, new LocationConfig { Biome = (Biome)16, Quantity = 25, Priotized = true, ClearArea = true, ExteriorRadius = 8f, MinAltitude = 5f, MinDistance = 1000f, MaxDistance = 6000f, MinDistanceFromSimilar = 500f })); if (LoggingEnable.Value) { ((BaseUnityPlugin)this).Logger.LogMessage((object)("Added: " + ((Object)val4).name + " to the Location database")); } } else { ((BaseUnityPlugin)this).Logger.LogMessage((object)"Destany vegvisir location already added"); } GameObject prefab7 = PrefabManager.Instance.GetPrefab("Loc_RunestoneDestany_FM"); if (!Object.op_Implicit((Object)(object)prefab7)) { GameObject val5 = ZoneManager.Instance.CreateLocationContainer(FrogAssets.LoadAsset<GameObject>("Loc_RunestoneDestany_FM")); ZoneManager.Instance.AddCustomLocation(new CustomLocation(val5, true, new LocationConfig { Biome = (Biome)16, Quantity = 10, Priotized = true, ClearArea = true, ExteriorRadius = 8f, MinAltitude = 5f, MinDistance = 1000f, MaxDistance = 6000f, MinDistanceFromSimilar = 500f })); if (LoggingEnable.Value) { ((BaseUnityPlugin)this).Logger.LogMessage((object)("Added: " + ((Object)val5).name + " to the Location database")); } } else { ((BaseUnityPlugin)this).Logger.LogMessage((object)"Destany runestone location already added"); } GameObject prefab8 = PrefabManager.Instance.GetPrefab("Loc_DestanyBoss_FM"); if (!Object.op_Implicit((Object)(object)prefab8)) { GameObject val6 = ZoneManager.Instance.CreateLocationContainer(FrogAssets.LoadAsset<GameObject>("Loc_DestanyBoss_FM")); val6.GetComponentInChildren<AudioSource>().outputAudioMixerGroup = prefab3.outputAudioMixerGroup; ZoneManager.Instance.AddCustomLocation(new CustomLocation(val6, true, new LocationConfig { Biome = (Biome)512, Quantity = 3, Priotized = true, ClearArea = true, ExteriorRadius = 8f, MinAltitude = 5f, MinDistance = 1000f, MaxDistance = 8000f, MinDistanceFromSimilar = 500f })); if (LoggingEnable.Value) { ((BaseUnityPlugin)this).Logger.LogMessage((object)("Added: " + ((Object)val6).name + " to the Location database")); } } else { ((BaseUnityPlugin)this).Logger.LogMessage((object)"Destany runestone location already added"); } } catch (Exception arg) { ((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding Locations: {arg}"); } finally { ZoneManager.OnVanillaLocationsAvailable -= AddFrogLocations; } } private void AddLocations() { //IL_0095: Unknown result type (might be due to invalid IL or missing references) //IL_009a: Unknown result type (might be due to invalid IL or missing references) //IL_00a2: 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_00b2: 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_00c6: Unknown result type (might be due to invalid IL or missing references) //IL_00d2: Unknown result type (might be due to invalid IL or missing references) //IL_00de: 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_00fb: Expected O, but got Unknown //IL_00f6: Unknown result type (might be due to invalid IL or missing references) //IL_0100: Expected O, but got Unknown try { AudioSource prefab = Cache.GetPrefab<AudioSource>("sfx_arrow_hit"); AudioSource prefab2 = Cache.GetPrefab<AudioSource>("Music_FulingCamp"); GameObject prefab3 = PrefabManager.Instance.GetPrefab("Loc_EnvoyCamp_FM"); if (!Object.op_Implicit((Object)(object)prefab3)) { GameObject val = ZoneManager.Instance.CreateLocationContainer(FrogAssets.LoadAsset<GameObject>("Loc_EnvoyCamp_FM")); AudioSource[] componentsInChildren = val.GetComponentsInChildren<AudioSource>(); AudioSource[] array = componentsInChildren; foreach (AudioSource val2 in array) { val2.outputAudioMixerGroup = prefab.outputAudioMixerGroup; } ZoneManager.Instance.AddCustomLocation(new CustomLocation(val, true, new LocationConfig { Biome = (Biome)1, Quantity = 1, Priotized = true, ClearArea = true, ExteriorRadius = 8f, MinAltitude = 1f, MinDistance = 200f, MaxDistance = 1000f, MinDistanceFromSimilar = 500f })); if (LoggingEnable.Value) { ((BaseUnityPlugin)this).Logger.LogMessage((object)("Added: " + ((Object)val).name + " to the Location database")); } } else { ((BaseUnityPlugin)this).Logger.LogMessage((object)"Envoy location already added"); } } catch (Exception arg) { ((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding Locations: {arg}"); } finally { ZoneManager.OnVanillaLocationsAvailable -= AddLocations; } } private void AddBossDrops() { //IL_003e: Unknown result type (might be due to invalid IL or missing references) //IL_0043: Unknown result type (might be due to invalid IL or missing references) //IL_004a: Unknown result type (might be due to invalid IL or missing references) //IL_0055: 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_0068: Expected O, but got Unknown try { GameObject prefab = PrefabManager.Instance.GetPrefab("Item_UsciasSummon_FM"); Humanoid prefab2 = Cache.GetPrefab<Humanoid>("gd_king"); if (Object.op_Implicit((Object)(object)prefab)) { if (Object.op_Implicit((Object)(object)prefab2)) { ((Component)prefab2).GetComponent<CharacterDrop>().m_drops.Add(new Drop { m_prefab = prefab, m_chance = 0.5f, m_amountMin = 1, m_amountMax = 1 }); } else { ((BaseUnityPlugin)this).Logger.LogMessage((object)"Elder not found to add summon drop"); } } else { ((BaseUnityPlugin)this).Logger.LogMessage((object)"Summon items not found for drops"); } } catch (Exception arg) { ((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding boss drops: {arg}"); } finally { PrefabManager.OnPrefabsRegistered -= AddBossDrops; } } private void FixSFX() { try { AudioSource prefab = Cache.GetPrefab<AudioSource>("sfx_arrow_hit"); string[] array = sfxList; foreach (string text in array) { GameObject prefab2 = Cache.GetPrefab<GameObject>(text); prefab2.GetComponentInChildren<AudioSource>().outputAudioMixerGroup = prefab.outputAudioMixerGroup; ((BaseUnityPlugin)this).Logger.LogMessage((object)("Audio Mixer set on: " + text)); } } catch { ((BaseUnityPlugin)this).Logger.LogWarning((object)"SFX Fix Failed"); } } private void FixMusic() { try { AudioSource prefab = Cache.GetPrefab<AudioSource>("Music_FulingCamp"); string[] array = musicList; foreach (string text in array) { GameObject prefab2 = Cache.GetPrefab<GameObject>(text); prefab2.GetComponent<AudioSource>().outputAudioMixerGroup = prefab.outputAudioMixerGroup; ((BaseUnityPlugin)this).Logger.LogMessage((object)("Audio Mixer set on: " + text)); } } catch { ((BaseUnityPlugin)this).Logger.LogWarning((object)"Music Fix Failed"); } } private void FixAoEAudio() { try { AudioSource prefab = Cache.GetPrefab<AudioSource>("sfx_arrow_hit"); string[] array = aoeAudioFix; foreach (string text in array) { GameObject prefab2 = Cache.GetPrefab<GameObject>(text); AudioSource[] componentsInChildren = prefab2.GetComponentsInChildren<AudioSource>(); AudioSource[] array2 = componentsInChildren; foreach (AudioSource val in array2) { val.outputAudioMixerGroup = prefab.outputAudioMixerGroup; ((BaseUnityPlugin)this).Logger.LogMessage((object)("Audio Mixer set on: " + text)); } } } catch { ((BaseUnityPlugin)this).Logger.LogWarning((object)"SFX Fix Failed for AoE"); } } public static void ConfigureBiomeSpawners(ISpawnerConfigurationCollection config) { try { ConfigureWorldSpawners(config); } catch (Exception ex) { Console.WriteLine("Cepera made something go horribly wrong: " + ex.Message + "\nStackTrace:\n" + ex.StackTrace); } } private static void ConfigureWorldSpawners(ISpawnerConfigurationCollection config) { try { ISpawnerConfigurationCollectionWorldSpawnerExtensions.ConfigureWorldSpawner(config, 22666u).SetPrefabName("SwampFrog_FM").SetTemplateName("Frog") .SetConditionBiomes((Biome[])(object)new Biome[1] { (Biome)2 }) .SetSpawnChance(12f) .SetSpawnInterval(TimeSpan.FromSeconds(360.0)) .SetPackSizeMin(1u) .SetPackSizeMax(2u) .SetMaxSpawned(1u) .SetSpawnAtDistanceToPlayerMin(45f) .SetSpawnAtDistanceToPlayerMax(60f) .SetConditionRequiredGlobalKey("defeated_gdking") .SetMinDistanceToOther(75f) .SetConditionAltitudeMin(0.1f); ISpawnerConfigurationCollectionWorldSpawnerExtensions.ConfigureWorldSpawner(config, 22667u).SetPrefabName("PlainsFrog_FM").SetTemplateName("Frog") .SetConditionBiomes((Biome[])(object)new Biome[1] { (Biome)16 }) .SetSpawnChance(12f) .SetSpawnInterval(TimeSpan.FromSeconds(360.0)) .SetPackSizeMin(1u) .SetPackSizeMax(2u) .SetMaxSpawned(1u) .SetSpawnAtDistanceToPlayerMin(45f) .SetSpawnAtDistanceToPlayerMax(60f) .SetConditionRequiredGlobalKey("defeated_bonemass") .SetMinDistanceToOther(75f) .SetConditionAltitudeMin(0.1f); ISpawnerConfigurationCollectionWorldSpawnerExtensions.ConfigureWorldSpawner(config, 22668u).SetPrefabName("AshLandsFrog_FM").SetTemplateName("Frog") .SetConditionBiomes((Biome[])(object)new Biome[1] { (Biome)32 }) .SetSpawnChance(12f) .SetSpawnInterval(TimeSpan.FromSeconds(360.0)) .SetPackSizeMin(1u) .SetPackSizeMax(2u) .SetMaxSpawned(1u) .SetSpawnAtDistanceToPlayerMin(45f) .SetSpawnAtDistanceToPlayerMax(60f) .SetConditionRequiredGlobalKey("defeated_queen") .SetMinDistanceToOther(75f) .SetConditionAltitudeMin(0.1f); ISpawnerConfigurationCollectionWorldSpawnerExtensions.ConfigureWorldSpawner(config, 22669u).SetPrefabName("DeepNorthFrog_FM").SetTemplateName("Frog") .SetConditionBiomes((Biome[])(object)new Biome[1] { (Biome)64 }) .SetSpawnChance(12f) .SetSpawnInterval(TimeSpan.FromSeconds(360.0)) .SetPackSizeMin(1u) .SetPackSizeMax(2u) .SetMaxSpawned(1u) .SetSpawnAtDistanceToPlayerMin(45f) .SetSpawnAtDistanceToPlayerMax(60f) .SetConditionRequiredGlobalKey("defeated_queen") .SetMinDistanceToOther(75f) .SetConditionAltitudeMin(0.1f); } catch (Exception ex) { Console.WriteLine("Cepera made something go horribly wrong: " + ex.Message + "\nStackTrace:\n" + ex.StackTrace); } } } public class BossStage_Object_KM : MonoBehaviour { public int m_spawnedUniqueID; public bool m_healsBoss; public bool m_killSelf; private void Start() { } private void Update() { } } public class SE_AddRandomEffect_KM : StatusEffect { private int iRandomArrayLength = -1; [NonSerialized] private float m_msgTimerRepeate; [Header("__Add Random Effects__")] public string m_prefabNameOfThisStatusEffect = "Used to prevent re-applications of this effect"; public bool m_removeThisEffectOnCriticalFail; public bool m_removeThisEffectOnCriticalSuccess; public float m_tickInterval = 12f; public int m_hitChance = 25; public StatusEffect[] m_statusEffectList = (StatusEffect[])(object)new StatusEffect[0]; public StatusEffect m_criticalFailEffect; public StatusEffect m_criticalSuccessEffect; [Header("Critical Fail Overide")] public bool m_useAsAdditonalEffect; public int m_additonalEffectChance = 33; [Header("Additional Boss Effect")] public bool m_useAdditionalBossEffect; public StatusEffect m_bossEffect; public int m_bossEffectChance = 66; [Header("SE Man Overides")] public int m_itemLevelOfEffect; public float m_skillLevelOfEffect; private int m_hitRoll; private int m_statusEffectHash; private int m_changer; private float m_addTimer; public void Awake() { iRandomArrayLength = m_statusEffectList.Length; } public override bool CanAdd(Character character) { if (character.GetSEMan().HaveStatusEffect(m_prefabNameOfThisStatusEffect)) { return false; } return ((StatusEffect)this).CanAdd(character); } public override void Setup(Character character) { ((StatusEffect)this).Setup(character); } public override void UpdateStatusEffect(float dt) { //IL_005f: Unknown result type (might be due to invalid IL or missing references) ((StatusEffect)this).UpdateStatusEffect(dt); if (base.m_repeatInterval > 0f && !string.IsNullOrEmpty(base.m_repeatMessage)) { m_msgTimerRepeate += dt; if (m_msgTimerRepeate > base.m_repeatInterval) { m_msgTimerRepeate = 0f; base.m_character.Message(base.m_repeatMessageType, base.m_repeatMessage, 0, (Sprite)null); } } m_addTimer += dt; if (!(m_addTimer > m_tickInterval)) { return; } m_addTimer = 0f; m_hitRoll = Random.Range(0, 100); if (m_useAsAdditonalEffect && m_hitRoll <= m_additonalEffectChance) { m_statusEffectHash = ((object)m_criticalFailEffect).GetHashCode(); base.m_character.GetSEMan().AddStatusEffect(m_statusEffectHash, true, m_itemLevelOfEffect, m_skillLevelOfEffect); } if (m_useAdditionalBossEffect && m_hitRoll <= m_bossEffectChance) { m_statusEffectHash = ((object)m_bossEffect).GetHashCode(); base.m_character.GetSEMan().AddStatusEffect(m_statusEffectHash, true, m_itemLevelOfEffect, m_skillLevelOfEffect); } if (m_hitRoll != 0) { if (m_hitRoll != 100) { if (m_hitRoll <= m_hitChance && iRandomArrayLength >= 1) { m_changer = Random.Range(1, iRandomArrayLength); m_statusEffectHash = ((object)m_statusEffectList[m_changer]).GetHashCode(); base.m_character.GetSEMan().AddStatusEffect(m_statusEffectHash, true, m_itemLevelOfEffect, m_skillLevelOfEffect); } } else if (Object.op_Implicit((Object)(object)m_criticalSuccessEffect)) { m_statusEffectHash = ((object)m_criticalSuccessEffect).GetHashCode(); base.m_character.GetSEMan().AddStatusEffect(m_statusEffectHash, true, m_itemLevelOfEffect, m_skillLevelOfEffect); } } else if (Object.op_Implicit((Object)(object)m_criticalFailEffect) && !m_useAsAdditonalEffect) { m_statusEffectHash = ((object)m_criticalFailEffect).GetHashCode(); base.m_character.GetSEMan().AddStatusEffect(m_statusEffectHash, true, m_itemLevelOfEffect, m_skillLevelOfEffect); } if (!m_removeThisEffectOnCriticalSuccess && !m_removeThisEffectOnCriticalFail) { } } } public class SE_DoT_KM : StatusEffect { [SerializeField] private float m_msgTimerRepeate; [Header("__Damage Over Time__")] public DamageTypes m_damagePerTick; public float m_tickInterval = 1f; public SkillType m_attackersSkill; public float m_attackersSkillLevel; [Header("DoT Level Values")] public DamageTypes m_tickDamagePerLevel; public float m_levelDamageModifier = 0.05f; public bool m_useAttackerLevel; public int m_itemLevel = 0; public bool m_useSEManLevelValues; [Header("Life Drain")] public bool m_enableLifeDrain; public float m_healthPerTick = 0.25f; public float m_lifeGainPerSkillLevelModifier = 0.25f; public bool m_usePercentOfDamage; public float m_healPercent; private Character m_attacker; private float m_timer; private float m_damageModifier; private float m_leechLevelAmount; private float m_leechAmount; private float m_totalDamage; public override bool CanAdd(Character character) { return ((StatusEffect)this).CanAdd(character); } public override void SetAttacker(Character attacker) { //IL_0051: Unknown result type (might be due to invalid IL or missing references) //IL_0057: Invalid comparison between Unknown and I4 //IL_0069: Unknown result type (might be due to invalid IL or missing references) ZLog.Log((object)("Setting up attacker " + attacker.m_name)); m_attacker = attacker; if (m_enableLifeDrain && m_attackersSkillLevel <= 0f) { Character attacker2 = m_attacker; if (Object.op_Implicit((Object)(object)((attacker2 is Player) ? attacker2 : null)) && (int)m_attackersSkill > 0) { m_attackersSkillLevel = m_attacker.GetSkillLevel(m_attackersSkill); } else { m_attackersSkillLevel = m_attacker.GetLevel(); } } if (m_useAttackerLevel) { m_itemLevel = m_attacker.GetLevel(); } m_leechLevelAmount = m_lifeGainPerSkillLevelModifier * m_attackersSkillLevel; m_leechAmount = m_healthPerTick * m_leechLevelAmount; ZLog.Log((object)("Setting up attacker complete " + attacker.m_name)); } public override void UpdateStatusEffect(float dt) { //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_00d6: Unknown result type (might be due to invalid IL or missing references) //IL_00dc: Expected O, but got Unknown //IL_00e3: Unknown result type (might be due to invalid IL or missing references) //IL_00e8: 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) //IL_00f4: 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) ((StatusEffect)this).UpdateStatusEffect(dt); base.m_time += dt; if (base.m_repeatInterval > 0f && !string.IsNullOrEmpty(base.m_repeatMessage)) { m_msgTimerRepeate += dt; if (m_msgTimerRepeate > base.m_repeatInterval) { m_msgTimerRepeate = 0f; base.m_character.Message(base.m_repeatMessageType, base.m_repeatMessage, 0, (Sprite)null); } } m_timer += dt; if (!(m_timer > m_tickInterval)) { return; } m_timer = 0f; if (!m_useSEManLevelValues) { m_damageModifier = (float)m_itemLevel * m_levelDamageModifier; } HitData val = new HitData(); val.m_point = base.m_character.GetCenterPoint(); val.m_damage = m_damagePerTick; ((DamageTypes)(ref val.m_damage)).Add(m_tickDamagePerLevel, m_itemLevel); ((DamageTypes)(ref val.m_damage)).Modify(m_damageModifier); m_totalDamage = val.GetTotalDamage(); if (m_enableLifeDrain && !Object.op_Implicit((Object)(object)m_attacker)) { if (m_usePercentOfDamage) { m_leechAmount = m_totalDamage / 100f * m_healPercent; } m_attacker.Heal(m_leechAmount, true); } base.m_character.ApplyDamage(val, true, false, (DamageModifier)0); } public override void SetLevel(int itemLevel, float skillLevel) { if (m_useSEManLevelValues) { m_damageModifier = (float)itemLevel * skillLevel; Terminal.Log((object)$"DoT setting itemlevel: {itemLevel} = itemlevel: {m_itemLevel}, skilllevel: {skillLevel} = itemLevelDamageModifier: {m_levelDamageModifier}"); ((StatusEffect)this).SetLevel(itemLevel, skillLevel); } } } public class BossStage_Controller_KM : StatusEffect { [Header("__Boss Stage Controller__")] public int m_uniqueID; public float m_checkHealthInterval = 60f; public string m_youLostMessage; public bool m_killBossAtEndOfTimer; public bool m_removeAddsAtEndOfTimer; [Header("Stage One")] public string m_stageOneStartMessage; public Sprite m_stageOneIcon; public float m_firstHealthPercent = 0.8f; public StatusEffect m_firstStatusEffect; [Header("Stage One - Monster Wave")] public bool m_enableFirstWave; public GameObject m_firstWaveMonster; public int m_firstWaveMinToSpawn; public int m_firstWaveMaxToSpawn; public float m_firstWaveSpawnRadius; public bool m_firstWaveSnapToTerrain; public float m_firstWaveSpawnGroundOffset; [Header("Stage One - Boss Effect")] public bool m_enableFirstBossEffect; public GameObject m_firstBossEffect; public float m_firstBossEffectRadius; public int m_firstBossEffectMinAmount; public int m_firstBossEffectMaxAmount; public bool m_firstBossEffectMoveTowardBoss; public bool m_firstBossEffectHealsBoss; public bool m_destroyFirstBossEffectAfterHealingBoss; public bool m_firstBossEffectRandomStartMovement; [Header("Stage One - Boss Effect - Manual Settings")] public int m_firstBossEffectForcePowerMin = 1; public int m_firstBossEffectForcePowerMax = 5; public bool m_manuallySetFirstBossEffectVector3; public Vector3 m_firstBossEffectAddForceVector3; [Header("Stage Two")] public string m_stageTwoStartMessage; public Sprite m_stageTwoIcon; public float m_secondHealthPercent = 0.6f; public StatusEffect m_secondStatusEffect; [Header("Stage Two - Monster Wave")] public bool m_enableSecondWave; public GameObject m_secondWaveMonster; public int m_secondWaveMinToSpawn; public int m_secondWaveMaxToSpawn; public float m_secondWaveSpawnRadius; public bool m_secondWaveSnapToTerrain; public float m_secondWaveSpawnGroundOffset; [Header("Stage Two - Boss Effect")] public bool m_enableSecondBossEffect; public GameObject m_secondBossEffect; public float m_secondBossEffectRadius; public int m_secondBossEffectMinAmount; public int m_secondBossEffectMaxAmount; public bool m_secondBossEffectMoveTowardBoss; public bool m_secondBossEffectRandomStartMovement; public bool m_secondBossEffectHealsBoss; public bool m_destroySecondBossEffectAfterHealingBoss; [Header("Stage Two - Boss Effect - Manual Settings")] public int m_secondBossEffectForcePowerMin = 1; public int m_secondBossEffectForcePowerMax = 5; public bool m_manuallySetSecondBossEffectVector3; public Vector3 m_secondBossEffectAddForceVector3; [Header("Stage Three")] public string m_stageThreeStartMessage; public Sprite m_stageThreeIcon; public float m_thirdHealthPercent = 0.4f; public StatusEffect m_thirdStatusEffect; [Header("Stage Three - Monster Wave")] public bool m_enableThirdWave; public GameObject m_thirdWaveMonster; public int m_thirdWaveMinToSpawn; public int m_thirdWaveMaxToSpawn; public float m_thirdWaveSpawnRadius; public bool m_thirdWaveSnapToTerrain; public float m_thirdWaveSpawnGroundOffset; [Header("Stage Three - Boss Effect")] public bool m_enableThirdBossEffect; public GameObject m_thirdBossEffect; public float m_thirdBossEffectRadius; public int m_thirdBossEffectMinAmount; public int m_thirdBossEffectMaxAmount; public bool m_thirdBossEffectMoveTowardBoss; public bool m_thirdBossEffectRandomStartMovement; public bool m_thirdBossEffectHealsBoss; public bool m_destroyThirdBossEffectAfterHealingBoss; [Header("Stage Three - Boss Effect - Manual Settings")] public int m_thirdBossEffectForcePowerMin = 1; public int m_thirdBossEffectForcePowerMax = 5; public bool m_manuallySetThirdBossEffectVector3; public Vector3 m_thirdBossEffectAddForceVector3; [Header("Stage Four")] public string m_stageFourStartMessage; public Sprite m_stageFourIcon; public float m_fourthHealthPercent = 0.2f; public StatusEffect m_fourthStatusEffect; [Header("Stage Four - Monster Wave")] public bool m_enableFourthWave; public GameObject m_fourthWaveMonster; public int m_fourthWaveMinToSpawn; public int m_fourthWaveMaxToSpawn; public float m_fourthWaveSpawnRadius; public bool m_fourthWaveSnapToTerrain; public float m_fourthWaveSpawnGroundOffset; [Header("Stage Four - Boss Effect")] public bool m_enableFourthBossEffect; public GameObject m_fourthBossEffect; public float m_fourthBossEffectRadius; public int m_fourthBossEffectMinAmount; public int m_fourthBossEffectMaxAmount; public bool m_fourthBossEffectMoveTowardBoss; public bool m_fourthBossEffectRandomStartMovement; public bool m_fourthBossEffectHealsBoss; public bool m_destroyFourthBossEffectAfterHealingBoss; [Header("Stage Four - Boss Effect - Manual Settings")] public int m_fourthBossEffectForcePowerMin = 1; public int m_fourthBossEffectForcePowerMax = 5; public bool m_manuallySetFourthBossEffectVector3; public Vector3 m_fourthBossEffectAddForceVector3; [Header("Shared Settings")] public bool m_alertSpawnedCreatures; public int m_getSolidHeightMargin = 1000; public EffectList m_spawnEffect = new EffectList(); public string m_prefabNameOfThisScriptableObject; private float m_msgTimerRepeate; private float m_addTimer; private float m_HealthPercent; private int m_statusEffectHash; private int m_removeStatusEffectHash; private Vector3 vSpawnPoint; private Quaternion quaternion; private int iStageCount = 0; private int iForcePowerFirstEffect; private int iForcePowerSecondEffect; private int iForcePowerThirdEffect; private int iForcePowerFourthEffect; private readonly float fEndCounter = 60f; private string sStatusEffect; public void OnEnable() { m_prefabNameOfThisScriptableObject = ((Object)this).name.ToString() ?? ""; } public override bool CanAdd(Character character) { if (character.GetSEMan().HaveStatusEffect(m_prefabNameOfThisScriptableObject)) { return false; } if (!((Character)((Component)character).GetComponent<Humanoid>()).m_boss) { return false; } return ((StatusEffect)this).CanAdd(character); } public override void Setup(Character character) { ((StatusEffect)this).Setup(character); } public override void UpdateStatusEffect(float dt) { //IL_00b5: 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_005f: Unknown result type (might be due to invalid IL or missing references) //IL_01b8: Unknown result type (might be due to invalid IL or missing references) //IL_01bd: Unknown result type (might be due to invalid IL or missing references) //IL_01bf: Unknown result type (might be due to invalid IL or missing references) //IL_01ca: Unknown result type (might be due to invalid IL or missing references) //IL_01cf: Unknown result type (might be due to invalid IL or missing references) //IL_01d2: Unknown result type (might be due to invalid IL or missing references) //IL_01d4: Unknown result type (might be due to invalid IL or missing references) //IL_01e0: Unknown result type (might be due to invalid IL or missing references) //IL_01e7: Unknown result type (might be due to invalid IL or missing references) //IL_01ec: Unknown result type (might be due to invalid IL or missing references) //IL_01f1: Unknown result type (might be due to invalid IL or missing references) //IL_0359: Unknown result type (might be due to invalid IL or missing references) //IL_035e: Unknown result type (might be due to invalid IL or missing references) //IL_0360: Unknown result type (might be due to invalid IL or missing references) //IL_036b: Unknown result type (might be due to invalid IL or missing references) //IL_0370: Unknown result type (might be due to invalid IL or missing references) //IL_0373: Unknown result type (might be due to invalid IL or missing references) //IL_0375: Unknown result type (might be due to invalid IL or missing references) //IL_0381: Unknown result type (might be due to invalid IL or missing references) //IL_0388: Unknown result type (might be due to invalid IL or missing references) //IL_038d: Unknown result type (might be due to invalid IL or missing references) //IL_0392: Unknown result type (might be due to invalid IL or missing references) //IL_0246: Unknown result type (might be due to invalid IL or missing references) //IL_024b: 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_03d5: 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_03a8: Unknown result type (might be due to invalid IL or missing references) //IL_03ad: 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_068e: Unknown result type (might be due to invalid IL or missing references) //IL_0693: Unknown result type (might be due to invalid IL or missing references) //IL_0695: Unknown result type (might be due to invalid IL or missing references) //IL_06a0: Unknown result type (might be due to invalid IL or missing references) //IL_06a5: Unknown result type (might be due to invalid IL or missing references) //IL_06a8: Unknown result type (might be due to invalid IL or missing references) //IL_06aa: Unknown result type (might be due to invalid IL or missing references) //IL_06b6: Unknown result type (might be due to invalid IL or missing references) //IL_06bd: Unknown result type (might be due to invalid IL or missing references) //IL_06c2: Unknown result type (might be due to invalid IL or missing references) //IL_06c7: Unknown result type (might be due to invalid IL or missing references) //IL_0b64: Unknown result type (might be due to invalid IL or missing references) //IL_0b69: Unknown result type (might be due to invalid IL or missing references) //IL_0b6b: Unknown result type (might be due to invalid IL or missing references) //IL_0b76: Unknown result type (might be due to invalid IL or missing references) //IL_0b7b: Unknown result type (might be due to invalid IL or missing references) //IL_0b7e: Unknown result type (might be due to invalid IL or missing references) //IL_0b80: Unknown result type (might be due to invalid IL or missing references) //IL_0b8c: Unknown result type (might be due to invalid IL or missing references) //IL_0b93: Unknown result type (might be due to invalid IL or missing references) //IL_0b98: Unknown result type (might be due to invalid IL or missing references) //IL_0b9d: Unknown result type (might be due to invalid IL or missing references) //IL_103a: Unknown result type (might be due to invalid IL or missing references) //IL_103f: Unknown result type (might be due to invalid IL or missing references) //IL_1041: Unknown result type (might be due to invalid IL or missing references) //IL_104c: Unknown result type (might be due to invalid IL or missing references) //IL_1051: Unknown result type (might be due to invalid IL or missing references) //IL_1054: Unknown result type (might be due to invalid IL or missing references) //IL_1056: Unknown result type (might be due to invalid IL or missing references) //IL_1062: Unknown result type (might be due to invalid IL or missing references) //IL_1069: Unknown result type (might be due to invalid IL or missing references) //IL_106e: Unknown result type (might be due to invalid IL or missing references) //IL_1073: Unknown result type (might be due to invalid IL or missing references) //IL_03e7: Unknown result type (might be due to invalid IL or missing references) //IL_03ed: Unknown result type (might be due to invalid IL or missing references) //IL_02e9: Unknown result type (might be due to invalid IL or missing references) //IL_02f5: Unknown result type (might be due to invalid IL or missing references) //IL_082f: Unknown result type (might be due to invalid IL or missing references) //IL_0834: Unknown result type (might be due to invalid IL or missing references) //IL_0836: Unknown result type (might be due to invalid IL or missing references) //IL_0841: Unknown result type (might be due to invalid IL or missing references) //IL_0846: Unknown result type (might be due to invalid IL or missing references) //IL_0849: Unknown result type (might be due to invalid IL or missing references) //IL_084b: Unknown result type (might be due to invalid IL or missing references) //IL_0857: Unknown result type (might be due to invalid IL or missing references) //IL_085e: Unknown result type (might be due to invalid IL or missing references) //IL_0863: Unknown result type (might be due to invalid IL or missing references) //IL_0868: Unknown result type (might be due to invalid IL or missing references) //IL_071c: Unknown result type (might be due to invalid IL or missing references) //IL_0721: Unknown result type (might be due to invalid IL or missing references) //IL_06df: Unknown result type (might be due to invalid IL or missing references) //IL_0d05: Unknown result type (might be due to invalid IL or missing references) //IL_0d0a: Unknown result type (might be due to invalid IL or missing references) //IL_0d0c: Unknown result type (might be due to invalid IL or missing references) //IL_0d17: Unknown result type (might be due to invalid IL or missing references) //IL_0d1c: Unknown result type (might be due to invalid IL or missing references) //IL_0d1f: Unknown result type (might be due to invalid IL or missing references) //IL_0d21: Unknown result type (might be due to invalid IL or missing references) //IL_0d2d: Unknown result type (might be due to invalid IL or missing references) //IL_0d34: Unknown result type (might be due to invalid IL or missing references) //IL_0d39: Unknown result type (might be due to invalid IL or missing references) //IL_0d3e: Unknown result type (might be due to invalid IL or missing references) //IL_0bf2: Unknown result type (might be due to invalid IL or missing references) //IL_0bf7: Unknown result type (might be due to invalid IL or missing references) //IL_0bb5: Unknown result type (might be due to invalid IL or missing references) //IL_11db: Unknown result type (might be due to invalid IL or missing references) //IL_11e0: Unknown result type (might be due to invalid IL or missing references) //IL_11e2: Unknown result type (might be due to invalid IL or missing references) //IL_11ed: Unknown result type (might be due to invalid IL or missing references) //IL_11f2: Unknown result type (might be due to invalid IL or missing references) //IL_11f5: Unknown result type (might be due to invalid IL or missing references) //IL_11f7: Unknown result type (might be due to invalid IL or missing references) //IL_1203: Unknown result type (might be due to invalid IL or missing references) //IL_120a: Unknown result type (might be due to invalid IL or missing references) //IL_120f: Unknown result type (might be due to invalid IL or missing references) //IL_1214: Unknown result type (might be due to invalid IL or missing references) //IL_10c8: Unknown result type (might be due to invalid IL or missing references) //IL_10cd: Unknown result type (might be due to invalid IL or missing references) //IL_108b: Unknown result type (might be due to invalid IL or missing references) //IL_08ab: Unknown result type (might be due to invalid IL or missing references) //IL_08b0: Unknown result type (might be due to invalid IL or missing references) //IL_087e: Unknown result type (might be due to invalid IL or missing references) //IL_0883: Unknown result type (might be due to invalid IL or missing references) //IL_0770: Unknown result type (might be due to invalid IL or missing references) //IL_0d81: Unknown result type (might be due to invalid IL or missing references) //IL_0d86: Unknown result type (might be due to invalid IL or missing references) //IL_0d54: Unknown result type (might be due to invalid IL or missing references) //IL_0d59: Unknown result type (might be due to invalid IL or missing references) //IL_0c46: Unknown result type (might be due to invalid IL or missing references) //IL_1257: Unknown result type (might be due to invalid IL or missing references) //IL_125c: Unknown result ty