Decompiled source of Horemvores Assembly Mod v1.0.13
Assembly_Horemvore.dll
Decompiled a month ago
The result has been truncated due to the large size, download it to view full contents!
using System; using System.Collections.Generic; using System.Diagnostics; using System.IO; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Runtime.Versioning; using System.Text; using BepInEx; using BepInEx.Configuration; using Jotunn; using Jotunn.Entities; using Jotunn.Managers; using Jotunn.Utils; 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("Assembly_Horemvore")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("Assembly_Horemvore")] [assembly: AssemblyCopyright("Copyright © 2023")] [assembly: AssemblyTrademark("")] [assembly: ComVisible(false)] [assembly: Guid("b5c28acd-e0e2-4e63-8988-2276f02aa042")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: TargetFramework(".NETFramework,Version=v4.8", FrameworkDisplayName = ".NET Framework 4.8")] [assembly: AssemblyVersion("1.0.0.0")] public class IsPieceInWater_HS : MonoBehaviour { private void Start() { } private void Update() { } } namespace Assembly_Horemvore { public class GFXRotation_HS : MonoBehaviour { public enum spaceEnum { Local, World } [Header("Rotate by degrees per second")] public Vector3 rotateVector = Vector3.zero; public spaceEnum rotateSpace; private void Update() { //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_001f: Unknown result type (might be due to invalid IL or missing references) //IL_003e: Unknown result type (might be due to invalid IL or missing references) //IL_0048: Unknown result type (might be due to invalid IL or missing references) if (rotateSpace == spaceEnum.Local) { ((Component)this).transform.Rotate(rotateVector * Time.deltaTime); } if (rotateSpace == spaceEnum.World) { ((Component)this).transform.Rotate(rotateVector * Time.deltaTime, (Space)0); } } } public class RandomSpawner_HS : MonoBehaviour { private int randomArrayLength = -1; public GameObject[] m_prefabList = (GameObject[])(object)new GameObject[0]; [Header("Levels of Monsters or Items")] public int m_maxLevel = 3; public int m_minLevel = 1; public float m_levelupChance = 15f; [Header("Spawn settings")] public bool m_setPatrolSpawnPoint; private ZNetView m_nview; private GameObject m_prefab; private int selecter; private void Start() { randomArrayLength = m_prefabList.Length; m_nview = ((Component)this).GetComponentInParent<ZNetView>(); if ((Object)(object)m_nview == (Object)null) { ZLog.LogWarning((object)("RandomSpawner_HS cant find netview " + ((Object)((Component)this).gameObject).name)); } else { ((MonoBehaviour)this).Invoke("DoSpawn", 1f); } } private void DoSpawn() { //IL_0088: 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) if (!m_nview.IsValid() || !m_nview.IsOwner()) { return; } string text = "RandomSpawner_HS_" + ((Object)((Component)this).gameObject).name; if (!m_nview.GetZDO().GetBool(text, false)) { selecter = Random.Range(0, randomArrayLength); m_prefab = m_prefabList[selecter]; GameObject val = Object.Instantiate<GameObject>(m_prefab, ((Component)this).transform.position, ((Component)this).transform.rotation); BaseAI component = val.GetComponent<BaseAI>(); if ((Object)(object)component != (Object)null && m_setPatrolSpawnPoint) { component.SetPatrolPoint(); } int minLevel = m_minLevel; int maxLevel = m_maxLevel; float levelupChance = m_levelupChance; if (maxLevel > 1) { Character component2 = val.GetComponent<Character>(); if (Object.op_Implicit((Object)(object)component2)) { int i; for (i = minLevel; i < maxLevel; i++) { if (!(Random.Range(0f, 100f) <= levelupChance)) { break; } } if (i > 1) { component2.SetLevel(i); } } else { ItemDrop component3 = val.GetComponent<ItemDrop>(); if (Object.op_Implicit((Object)(object)component3)) { int j; for (j = minLevel; j < maxLevel; j++) { if (!(Random.Range(0f, 100f) <= levelupChance)) { break; } } if (j > 1) { component3.SetQuality(j); } } } } m_nview.GetZDO().Set(text, true); } ((MonoBehaviour)this).CancelInvoke("DoSpawn"); } } public class Rotator_HS : MonoBehaviour { public float x = 0f; public float y = 0f; public float z = 0f; private void OnEnable() { ((MonoBehaviour)this).InvokeRepeating("Rotate", 0f, 0.0167f); } private void OnDisable() { ((MonoBehaviour)this).CancelInvoke(); } private void Rotate() { //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_001f: Unknown result type (might be due to invalid IL or missing references) //IL_0024: Unknown result type (might be due to invalid IL or missing references) Transform transform = ((Component)this).transform; transform.localEulerAngles += new Vector3(x, y, z); } } public class SE_ThrowUp_HS : StatusEffect { [Header("__Throw Up__")] public EffectList m_pukeEffects = new EffectList(); public float m_pukeInterval = 1f; public DamageTypes m_damagePerTick; public DamageTypes m_tickDamagePerLevel; public float m_damageModifier; public int m_itemLevel = 1; private float m_pukeTimer; public override void Setup(Character character) { ((StatusEffect)this).Setup(character); } private DamageTypes GetDamage() { //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_000d: Unknown result type (might be due to invalid IL or missing references) //IL_0010: Unknown result type (might be due to invalid IL or missing references) return GetDamage(m_itemLevel); } private DamageTypes GetDamage(int itemQuality) { //IL_0012: Unknown result type (might be due to invalid IL or missing references) //IL_0017: Unknown result type (might be due to invalid IL or missing references) //IL_001b: Unknown result type (might be due to invalid IL or missing references) //IL_0035: 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_0039: Unknown result type (might be due to invalid IL or missing references) if (itemQuality <= 1) { itemQuality = 1; } DamageTypes damagePerTick = m_damagePerTick; ((DamageTypes)(ref damagePerTick)).Add(m_tickDamagePerLevel, itemQuality); ((DamageTypes)(ref damagePerTick)).Modify(m_damageModifier); return damagePerTick; } public override void UpdateStatusEffect(float dt) { //IL_0081: Unknown result type (might be due to invalid IL or missing references) //IL_0087: Expected O, but got Unknown //IL_008e: 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_009a: Unknown result type (might be due to invalid IL or missing references) //IL_009f: 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_006e: Unknown result type (might be due to invalid IL or missing references) ((StatusEffect)this).UpdateStatusEffect(dt); m_pukeTimer += dt; if (m_pukeTimer > m_pukeInterval) { m_pukeTimer = 0f; Character character = base.m_character; if (((Player)((character is Player) ? character : null)).RemoveOneFood()) { m_pukeEffects.Create(((Component)base.m_character).transform.position, ((Component)base.m_character).transform.rotation, (Transform)null, 1f, -1); } HitData val = new HitData(); val.m_point = base.m_character.GetCenterPoint(); val.m_damage = GetDamage(); base.m_character.ApplyDamage(val, true, true, (DamageModifier)0); } } } } namespace HoremvoreAssembly { [RequireComponent(typeof(Character))] public class BossStage_BossObject_HS : MonoBehaviour { public StatusEffect m_bossStatusEffect; private Character m_character; private int m_statusEffectHash; private void Start() { m_character = ((Component)this).GetComponent<Character>(); if (!Object.op_Implicit((Object)(object)m_character)) { return; } Character character = m_character; string text = ((Object)m_bossStatusEffect).name.ToString() ?? ""; bool flag = character.GetSEMan().HaveStatusEffect(text); float healthPercentage = character.GetHealthPercentage(); float maxHealth = character.GetMaxHealth(); if (!flag) { m_statusEffectHash = ((object)m_bossStatusEffect).GetHashCode(); character.GetSEMan().AddStatusEffect(m_statusEffectHash, true, 0, 0f); if (healthPercentage <= 1f) { character.Heal(maxHealth, true); } } } private void Update() { } } public class BossStage_Controller_HS : 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(); private float m_addTimer; private float m_HealthPercent; private int m_statusEffectHash; private int m_removeStatusEffectHash; private Vector3 vSpawnPoint; private Quaternion quaternion; public string m_prefabNameOfThisScriptableObject; private int iStageCount = 0; private int iForcePowerFirstEffect; private int iForcePowerSecondEffect; private int iForcePowerThirdEffect; private int iForcePowerFourthEffect; private readonly float fEndCounter = 60f; private string sStatusEffect; private bool m_isDone; private ZNetView m_nview; 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_004a: 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_0155: Unknown result type (might be due to invalid IL or missing references) //IL_015a: Unknown result type (might be due to invalid IL or missing references) //IL_015c: Unknown result type (might be due to invalid IL or missing references) //IL_0167: 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_016f: Unknown result type (might be due to invalid IL or missing references) //IL_0171: Unknown result type (might be due to invalid IL or missing references) //IL_017d: Unknown result type (might be due to invalid IL or missing references) //IL_0184: Unknown result type (might be due to invalid IL or missing references) //IL_0189: Unknown result type (might be due to invalid IL or missing references) //IL_018e: Unknown result type (might be due to invalid IL or missing references) //IL_0394: Unknown result type (might be due to invalid IL or missing references) //IL_0399: Unknown result type (might be due to invalid IL or missing references) //IL_039b: Unknown result type (might be due to invalid IL or missing references) //IL_03a6: Unknown result type (might be due to invalid IL or missing references) //IL_03ab: Unknown result type (might be due to invalid IL or missing references) //IL_03ae: Unknown result type (might be due to invalid IL or missing references) //IL_03b0: Unknown result type (might be due to invalid IL or missing references) //IL_03bc: Unknown result type (might be due to invalid IL or missing references) //IL_03c3: Unknown result type (might be due to invalid IL or missing references) //IL_03c8: Unknown result type (might be due to invalid IL or missing references) //IL_03cd: Unknown result type (might be due to invalid IL or missing references) //IL_01e3: Unknown result type (might be due to invalid IL or missing references) //IL_01e8: Unknown result type (might be due to invalid IL or missing references) //IL_01a6: Unknown result type (might be due to invalid IL or missing references) //IL_0410: Unknown result type (might be due to invalid IL or missing references) //IL_0415: Unknown result type (might be due to invalid IL or missing references) //IL_03e3: Unknown result type (might be due to invalid IL or missing references) //IL_03e8: Unknown result type (might be due to invalid IL or missing references) //IL_0773: Unknown result type (might be due to invalid IL or missing references) //IL_0778: Unknown result type (might be due to invalid IL or missing references) //IL_077a: Unknown result type (might be due to invalid IL or missing references) //IL_0785: Unknown result type (might be due to invalid IL or missing references) //IL_078a: Unknown result type (might be due to invalid IL or missing references) //IL_078d: Unknown result type (might be due to invalid IL or missing references) //IL_078f: Unknown result type (might be due to invalid IL or missing references) //IL_079b: Unknown result type (might be due to invalid IL or missing references) //IL_07a2: Unknown result type (might be due to invalid IL or missing references) //IL_07a7: Unknown result type (might be due to invalid IL or missing references) //IL_07ac: Unknown result type (might be due to invalid IL or missing references) //IL_0d91: Unknown result type (might be due to invalid IL or missing references) //IL_0d96: Unknown result type (might be due to invalid IL or missing references) //IL_0d98: Unknown result type (might be due to invalid IL or missing references) //IL_0da3: Unknown result type (might be due to invalid IL or missing references) //IL_0da8: Unknown result type (might be due to invalid IL or missing references) //IL_0dab: Unknown result type (might be due to invalid IL or missing references) //IL_0dad: Unknown result type (might be due to invalid IL or missing references) //IL_0db9: Unknown result type (might be due to invalid IL or missing references) //IL_0dc0: Unknown result type (might be due to invalid IL or missing references) //IL_0dc5: Unknown result type (might be due to invalid IL or missing references) //IL_0dca: Unknown result type (might be due to invalid IL or missing references) //IL_13af: Unknown result type (might be due to invalid IL or missing references) //IL_13b4: Unknown result type (might be due to invalid IL or missing references) //IL_13b6: Unknown result type (might be due to invalid IL or missing references) //IL_13c1: Unknown result type (might be due to invalid IL or missing references) //IL_13c6: Unknown result type (might be due to invalid IL or missing references) //IL_13c9: Unknown result type (might be due to invalid IL or missing references) //IL_13cb: Unknown result type (might be due to invalid IL or missing references) //IL_13d7: Unknown result type (might be due to invalid IL or missing references) //IL_13de: Unknown result type (might be due to invalid IL or missing references) //IL_13e3: Unknown result type (might be due to invalid IL or missing references) //IL_13e8: Unknown result type (might be due to invalid IL or missing references) //IL_0422: Unknown result type (might be due to invalid IL or missing references) //IL_0428: Unknown result type (might be due to invalid IL or missing references) //IL_02d5: Unknown result type (might be due to invalid IL or missing references) //IL_09b2: Unknown result type (might be due to invalid IL or missing references) //IL_09b7: Unknown result type (might be due to invalid IL or missing references) //IL_09b9: Unknown result type (might be due to invalid IL or missing references) //IL_09c4: Unknown result type (might be due to invalid IL or missing references) //IL_09c9: Unknown result type (might be due to invalid IL or missing references) //IL_09cc: Unknown result type (might be due to invalid IL or missing references) //IL_09ce: Unknown result type (might be due to invalid IL or missing references) //IL_09da: Unknown result type (might be due to invalid IL or missing references) //IL_09e1: Unknown result type (might be due to invalid IL or missing references) //IL_09e6: Unknown result type (might be due to invalid IL or missing references) //IL_09eb: Unknown result type (might be due to invalid IL or missing references) //IL_0801: Unknown result type (might be due to invalid IL or missing references) //IL_0806: Unknown result type (might be due to invalid IL or missing references) //IL_07c4: Unknown result type (might be due to invalid IL or missing references) //IL_0fd0: Unknown result type (might be due to invalid IL or missing references) //IL_0fd5: Unknown result type (might be due to invalid IL or missing references) //IL_0fd7: Unknown result type (might be due to invalid IL or missing references) //IL_0fe2: Unknown result type (might be due to invalid IL or missing references) //IL_0fe7: Unknown result type (might be due to invalid IL or missing references) //IL_0fea: Unknown result type (might be due to invalid IL or missing references) //IL_0fec: Unknown result type (might be due to invalid IL or missing references) //IL_0ff8: Unknown result type (might be due to invalid IL or missing references) //IL_0fff: Unknown result type (might be due to invalid IL or missing references) //IL_1004: Unknown result type (might be due to invalid IL or missing references) //IL_1009: Unknown result type (might be due to invalid IL or missing references) //IL_0e1f: Unknown result type (might be due to invalid IL or missing references) //IL_0e24: Unknown result type (might be due to invalid IL or missing references) //IL_0de2: Unknown result type (might be due to invalid IL or missing references) //IL_15ee: Unknown result type (might be due to invalid IL or missing references) //IL_15f3: Unknown result type (might be due to invalid IL or missing references) //IL_15f5: Unknown result type (might be due to invalid IL or missing references) //IL_1600: Unknown result type (might be due to invalid IL or missing references) //IL_1605: Unknown result type (might be due to invalid IL or missing references) //IL_1608: Unknown result type (might be due to invalid IL or missing references) //IL_160a: Unknown result type (might be due to invalid IL or missing references) //IL_1616: Unknown result type (might be due to invalid IL or missing references) //IL_161d: Unknown result type (might be due to invalid IL or missing references) //IL_1622: Unknown result type (might be due to invalid IL or missing references) //IL_1627: Unknown result type (might be due to invalid IL or missing references) //IL_143d: Unknown result type (might be due to invalid IL or missing references) //IL_1442: Unknown result type (might be due to invalid IL or missing references) //IL_1400: Unknown result type (might be due to invalid IL or missing references) //IL_0324: Unknown result type (might be due to invalid IL or missing references) //IL_0330: Unknown result type (might be due to invalid IL or missing references) //IL_0a2e: Unknown result type (might be due to invalid IL or missing references) //IL_0a33: Unknown result type (might be due to invalid IL or missing references) //IL_0a01: Unknown result type (might be due to invalid IL or missing references) //IL_0a06: 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_101f: Unknown result type (might be due to invalid IL or missing references) //IL_1024: Unknown result type (might be due to invalid IL or missing references) //IL_166a: Unknown result type (might be due to invalid IL or missing references) //IL_166f: Unknown result type (might be due to invalid IL or missing references) //IL_163d: Unknown result type (might be due to invalid IL or missing references) //IL_1642: Unknown result type (might be due to invalid IL or missing references) //IL_0a40: Unknown result type (might be due to invalid IL or missing references) //IL_0a46: Unknown result type (might be due to invalid IL or missing references) //IL_08f3: Unknown result type (might be due to invalid IL or missing references) //IL_105e: Unknown result type (might be due to invalid IL or missing references) //IL_1064: Unknown result type (might be due to invalid IL or missing references) //IL_0f11: Unknown result type (might be due to invalid IL or missing references) //IL_167c: Unknown result type (might be due to invalid IL or missing references) //IL_1682: Unknown result type (might be due to invalid IL or missing references) //IL_152f: Unknown result type (might be due to invalid IL or missing references) //IL_0942: Unknown result type (might be due to invalid IL or missing references) //IL_094e: Unknown result type (might be due to invalid IL or missing references) //IL_0f60: Unknown result type (might be due to invalid IL or missing references) //IL_0f6c: Unknown result type (might be due to invalid IL or missing references) //IL_157e: Unknown result type (might be due to invalid IL or missing references) //IL_158a: Unknown result type (might be due to invalid IL or missing references) //IL_0556: Unknown result type (might be due to invalid IL or missing references) //IL_0562: Unknown result type (might be due to invalid IL or missing references) //IL_056c: Unknown result type (might be due to invalid IL or missing references) //IL_0596: Unknown result type (might be due to invalid IL or missing references) //IL_05a2: Unknown result type (might be due to invalid IL or missing references) //IL_05a7: Unknown result type (might be due to invalid IL or missing references) //IL_05ac: Unknown result type (might be due to invalid IL or missing references) //IL_05b0: Unknown result type (might be due to invalid IL or missing references) //IL_05b5: Unknown result type (might be due to invalid IL or missing references) //IL_05b9: Unknown result type (might be due to invalid IL or missing references) //IL_05c2: Unknown result type (might be due to invalid IL or missing references) //IL_05cc: Unknown result type (might be due to invalid IL or missing references) //IL_05ea: Unknown result type (might be due to invalid IL or missing references) //IL_05f6: Unknown result type (might be due to invalid IL or missing references) //IL_0600: Unknown result type (might be due to invalid IL or missing references) //IL_0b74: 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_0b8a: Unknown result type (might be due to invalid IL or missing references) //IL_1192: Unknown result type (might be due to invalid IL or missing references) //IL_119e: Unknown result type (might be due to invalid IL or missing references) //IL_11a8: Unknown result type (might be due to invalid IL or missing references) //IL_17b0: Unknown result type (might be due to invalid IL or missing references) //IL_17bc: Unknown result type (might be due to invalid IL or missing references) //IL_17c6: Unknown result type (might be due to invalid IL or missing references) //IL_0bb4: Unknown result type (might be due to invalid IL or missing references) //IL_0bc0: Unknown result type (might be due to invalid IL or missing references) //IL_0bc5: Unknown result type (might be due to invalid IL or missing references) //IL_0bca: Unknown result type (might be due to invalid IL or missing references) //IL_0bce: Unknown result type (might be due to invalid IL or missing references) //IL_0bd3: Unknown result type (might be due to invalid IL or missing references) //IL_0bd7: Unknown result type (might be due to invalid IL or missing references) //IL_0be0: Unknown result type (might be due to invalid IL or missing references) //IL_0bea: Unknown result type (might be due to invalid IL or missing references) //IL_11d2: Unknown result type (might be due to invalid IL or missing references) //IL_11de: Unknown result type (might be due to invalid IL or missing references) //IL_11e3: Unknown result type (might be due to invalid IL or missing references) //IL_11e8: Unknown result type (might be due to invalid IL or missing references) //IL_11ec: Unknown result type (might be due to invalid IL or missing references) //IL_11f1: 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_11fe: Unknown result type (might be due to invalid IL or missing references) //IL_1208: Unknown result type (might be due to invalid IL or missing references) //IL_17f0: Unknown result type (might be due to invalid IL or missing references) //IL_17fc: Unknown result type (might be due to invalid IL or missing references) //IL_1801: Unknown result type (might be due to invalid IL or missing references) //IL_1806: Unknown result type (might be due to invalid IL or missing references) //IL_180a: Unknown result type (might be due to invalid IL or missing references) //IL_180f: Unknown result type (might be due to invalid IL or missing references) //IL_1813: Unknown result type (might be due to invalid IL or missing references) //IL_181c: Unknown result type (might be due to invalid IL or missing references) //IL_1826: Unknown result type (might be due to invalid IL or missing references) //IL_0c08: Unknown result type (might be due to invalid IL or missing references) //IL_0c14: Unknown result type (might be due to invalid IL or missing references) //IL_0c1e: Unknown result type (might be due to invalid IL or missing references) //IL_1226: Unknown result type (might be due to invalid IL or missing references) //IL_1232: Unknown result type (might be due to invalid IL or missing references) //IL_123c: Unknown result type (might be due to invalid IL or missing references) //IL_1844: Unknown result type (might be due to invalid IL or missing references) //IL_1850: Unknown result type (might be due to invalid IL or missing references) //IL_185a: Unknown result type (might be due to invalid IL or missing references) ((StatusEffect)this).UpdateStatusEffect(dt); m_addTimer += dt; if (!(m_addTimer > m_checkHealthInterval)) { return; } m_HealthPercent = base.m_character.GetHealthPercentage(); vSpawnPoint = ((Component)base.m_character).transform.position; m_addTimer = 0f; Vector3 val6; switch (iStageCount) { case 0: if (!(m_HealthPercent <= m_firstHealthPercent)) { break; } if (m_stageOneStartMessage != "") { MessageHud.instance.ShowMessage((MessageType)2, m_stageOneStartMessage, 0, (Sprite)null); } base.m_icon = m_stageOneIcon; m_statusEffectHash = ((object)m_firstStatusEffect).GetHashCode(); base.m_character.GetSEMan().AddStatusEffect(m_statusEffectHash, true, 0, 0f); iForcePowerFirstEffect = Random.Range(m_firstBossEffectForcePowerMin, m_firstBossEffectForcePowerMax); if (m_enableFirstWave) { int num15 = Random.Range(m_firstWaveMinToSpawn, m_firstWaveMaxToSpawn); int num16 = 0; float y3 = default(float); while (num16 < num15) { Vector3 position5 = ((Component)base.m_character).transform.position; Vector2 val11 = Random.insideUnitCircle * m_firstWaveSpawnRadius; vSpawnPoint = position5 + new Vector3(val11.x, 0f, val11.y); if (m_firstWaveSnapToTerrain) { ZoneSystem.instance.GetSolidHeight(vSpawnPoint, ref y3, m_getSolidHeightMargin); vSpawnPoint.y = y3; } vSpawnPoint.y += m_firstWaveSpawnGroundOffset; GameObject val12 = Object.Instantiate<GameObject>(m_firstWaveMonster, vSpawnPoint, Quaternion.identity); val12.AddComponent(typeof(BossStage_Object_HS)); val12.GetComponent<BossStage_Object_HS>().m_spawnedUniqueID = m_uniqueID; if (m_removeAddsAtEndOfTimer) { MonsterAI component11 = val12.GetComponent<MonsterAI>(); if (Object.op_Implicit((Object)(object)component11)) { val12.AddComponent(typeof(CharacterTimedDestruction)); val12.GetComponent<CharacterTimedDestruction>().m_timeoutMin = 60f; val12.GetComponent<CharacterTimedDestruction>().m_timeoutMax = 60f; val12.GetComponent<CharacterTimedDestruction>().m_triggerOnAwake = true; } else { val12.AddComponent(typeof(TimedDestruction)); val12.GetComponent<TimedDestruction>().m_timeout = 60f; val12.GetComponent<TimedDestruction>().m_triggerOnAwake = true; } } Projectile component12 = val12.GetComponent<Projectile>(); if (Object.op_Implicit((Object)(object)component12)) { component12.Setup(base.m_character, Vector3.zero, -1f, (HitData)null, (ItemData)null, (ItemData)null); } BaseAI component13 = val12.GetComponent<BaseAI>(); if (Object.op_Implicit((Object)(object)component13) && m_alertSpawnedCreatures) { component13.Alert(); } m_spawnEffect.Create(val12.transform.position, val12.transform.rotation, (Transform)null, 1f, -1); int num17 = num16 + 1; num16 = num17; } } if (m_enableFirstBossEffect) { int num18 = Random.Range(m_firstBossEffectMinAmount, m_firstBossEffectMaxAmount); int num19 = 0; while (num19 < num18) { Vector3 position6 = ((Component)base.m_character).transform.position; Vector2 val13 = Random.insideUnitCircle * m_firstBossEffectRadius; vSpawnPoint = position6 + new Vector3(val13.x, 0f, val13.y); if (!m_firstBossEffectRandomStartMovement) { quaternion = Quaternion.identity; } else { int num20 = Random.Range(-359, 359); quaternion = Quaternion.Euler(0f, (float)num20, 0f); } GameObject val14 = Object.Instantiate<GameObject>(m_firstBossEffect, vSpawnPoint, quaternion); val14.AddComponent(typeof(BossStage_Object_HS)); val14.GetComponent<BossStage_Object_HS>().m_spawnedUniqueID = m_uniqueID; if (m_removeAddsAtEndOfTimer) { MonsterAI component14 = val14.GetComponent<MonsterAI>(); if (Object.op_Implicit((Object)(object)component14)) { val14.AddComponent(typeof(CharacterTimedDestruction)); val14.GetComponent<CharacterTimedDestruction>().m_timeoutMin = 60f; val14.GetComponent<CharacterTimedDestruction>().m_timeoutMax = 60f; val14.GetComponent<CharacterTimedDestruction>().m_triggerOnAwake = true; } else { val14.AddComponent(typeof(TimedDestruction)); val14.GetComponent<TimedDestruction>().m_timeout = 60f; val14.GetComponent<TimedDestruction>().m_triggerOnAwake = true; } } if (m_firstBossEffectHealsBoss) { val14.GetComponent<BossStage_Object_HS>().m_healsBoss = true; if (m_destroyFirstBossEffectAfterHealingBoss) { val14.GetComponent<BossStage_Object_HS>().m_killSelf = true; } } Rigidbody component15 = val14.GetComponent<Rigidbody>(); if (Object.op_Implicit((Object)(object)component15)) { if (m_manuallySetFirstBossEffectVector3) { component15.AddForce(m_firstBossEffectAddForceVector3 * (float)iForcePowerFirstEffect * Time.fixedDeltaTime, (ForceMode)0); } else if (m_firstBossEffectMoveTowardBoss) { val6 = ((Component)base.m_character).transform.position - val14.transform.position; Vector3 normalized3 = ((Vector3)(ref val6)).normalized; component15.AddForce(normalized3 * (float)iForcePowerFirstEffect * Time.fixedDeltaTime, (ForceMode)1); } else if (m_firstBossEffectRandomStartMovement) { component15.AddForce(Vector3.forward * (float)iForcePowerFirstEffect * Time.fixedDeltaTime, (ForceMode)1); } } int num21 = num19 + 1; num19 = num21; } } iStageCount++; break; case 1: if (!(m_HealthPercent <= m_secondHealthPercent)) { break; } if (m_stageTwoStartMessage != "") { MessageHud.instance.ShowMessage((MessageType)2, m_stageOneStartMessage, 0, (Sprite)null); } sStatusEffect = ((Object)m_firstStatusEffect).name.ToString() ?? ""; if (base.m_character.GetSEMan().HaveStatusEffect(sStatusEffect)) { m_removeStatusEffectHash = ((object)m_firstStatusEffect).GetHashCode(); base.m_character.GetSEMan().RemoveStatusEffect(m_removeStatusEffectHash, false); } base.m_icon = m_stageTwoIcon; m_statusEffectHash = ((object)m_secondStatusEffect).GetHashCode(); base.m_character.GetSEMan().AddStatusEffect(m_statusEffectHash, true, 0, 0f); iForcePowerSecondEffect = Random.Range(m_secondBossEffectForcePowerMin, m_secondBossEffectForcePowerMax); if (m_enableSecondWave) { int num8 = Random.Range(m_secondWaveMinToSpawn, m_secondWaveMaxToSpawn); int num9 = 0; float y2 = default(float); while (num9 < num8) { Vector3 position3 = ((Component)base.m_character).transform.position; Vector2 val7 = Random.insideUnitCircle * m_secondWaveSpawnRadius; vSpawnPoint = position3 + new Vector3(val7.x, 0f, val7.y); if (m_secondWaveSnapToTerrain) { ZoneSystem.instance.GetSolidHeight(vSpawnPoint, ref y2, m_getSolidHeightMargin); vSpawnPoint.y = y2; } vSpawnPoint.y += m_secondWaveSpawnGroundOffset; GameObject val8 = Object.Instantiate<GameObject>(m_secondWaveMonster, vSpawnPoint, Quaternion.identity); val8.AddComponent(typeof(BossStage_Object_HS)); val8.GetComponent<BossStage_Object_HS>().m_spawnedUniqueID = m_uniqueID; if (m_removeAddsAtEndOfTimer) { MonsterAI component6 = val8.GetComponent<MonsterAI>(); if (Object.op_Implicit((Object)(object)component6)) { val8.AddComponent(typeof(CharacterTimedDestruction)); val8.GetComponent<CharacterTimedDestruction>().m_timeoutMin = 60f; val8.GetComponent<CharacterTimedDestruction>().m_timeoutMax = 60f; val8.GetComponent<CharacterTimedDestruction>().m_triggerOnAwake = true; } else { val8.AddComponent(typeof(TimedDestruction)); val8.GetComponent<TimedDestruction>().m_timeout = 60f; val8.GetComponent<TimedDestruction>().m_triggerOnAwake = true; } } Projectile component7 = val8.GetComponent<Projectile>(); if (Object.op_Implicit((Object)(object)component7)) { component7.Setup(base.m_character, Vector3.zero, -1f, (HitData)null, (ItemData)null, (ItemData)null); } BaseAI component8 = val8.GetComponent<BaseAI>(); if (Object.op_Implicit((Object)(object)component8) && m_alertSpawnedCreatures) { component8.Alert(); } m_spawnEffect.Create(val8.transform.position, val8.transform.rotation, (Transform)null, 1f, -1); int num10 = num9 + 1; num9 = num10; } } if (m_enableSecondBossEffect) { int num11 = Random.Range(m_secondBossEffectMinAmount, m_secondBossEffectMaxAmount); int num12 = 0; while (num12 < num11) { Vector3 position4 = ((Component)base.m_character).transform.position; Vector2 val9 = Random.insideUnitCircle * m_secondBossEffectRadius; vSpawnPoint = position4 + new Vector3(val9.x, 0f, val9.y); if (!m_secondBossEffectRandomStartMovement) { quaternion = Quaternion.identity; } else { int num13 = Random.Range(-359, 359); quaternion = Quaternion.Euler(0f, (float)num13, 0f); } GameObject val10 = Object.Instantiate<GameObject>(m_secondBossEffect, vSpawnPoint, quaternion); val10.AddComponent(typeof(BossStage_Object_HS)); val10.GetComponent<BossStage_Object_HS>().m_spawnedUniqueID = m_uniqueID; if (m_removeAddsAtEndOfTimer) { MonsterAI component9 = val10.GetComponent<MonsterAI>(); if (Object.op_Implicit((Object)(object)component9)) { val10.AddComponent(typeof(CharacterTimedDestruction)); val10.GetComponent<CharacterTimedDestruction>().m_timeoutMin = 60f; val10.GetComponent<CharacterTimedDestruction>().m_timeoutMax = 60f; val10.GetComponent<CharacterTimedDestruction>().m_triggerOnAwake = true; } else { val10.AddComponent(typeof(TimedDestruction)); val10.GetComponent<TimedDestruction>().m_timeout = 60f; val10.GetComponent<TimedDestruction>().m_triggerOnAwake = true; } } if (m_secondBossEffectHealsBoss) { val10.GetComponent<BossStage_Object_HS>().m_healsBoss = true; if (m_destroySecondBossEffectAfterHealingBoss) { val10.GetComponent<BossStage_Object_HS>().m_killSelf = true; } } Rigidbody component10 = val10.GetComponent<Rigidbody>(); if (Object.op_Implicit((Object)(object)component10)) { if (m_manuallySetSecondBossEffectVector3) { component10.AddForce(m_secondBossEffectAddForceVector3 * (float)iForcePowerSecondEffect * Time.fixedDeltaTime, (ForceMode)0); } else if (m_secondBossEffectMoveTowardBoss) { val6 = ((Component)base.m_character).transform.position - val10.transform.position; Vector3 normalized2 = ((Vector3)(ref val6)).normalized; component10.AddForce(normalized2 * (float)iForcePowerSecondEffect * Time.fixedDeltaTime, (ForceMode)1); } else if (m_secondBossEffectRandomStartMovement) { component10.AddForce(Vector3.forward * (float)iForcePowerSecondEffect * Time.fixedDeltaTime, (ForceMode)1); } } int num14 = num12 + 1; num12 = num14; } } iStageCount++; break; case 2: if (!(m_HealthPercent <= m_thirdHealthPercent)) { break; } if (m_stageThreeStartMessage != "") { MessageHud.instance.ShowMessage((MessageType)2, m_stageOneStartMessage, 0, (Sprite)null); } sStatusEffect = ((Object)m_secondStatusEffect).name.ToString() ?? ""; if (base.m_character.GetSEMan().HaveStatusEffect(sStatusEffect)) { m_removeStatusEffectHash = ((object)m_secondStatusEffect).GetHashCode(); base.m_character.GetSEMan().RemoveStatusEffect(m_removeStatusEffectHash, false); } base.m_icon = m_stageThreeIcon; m_statusEffectHash = ((object)m_thirdStatusEffect).GetHashCode(); base.m_character.GetSEMan().AddStatusEffect(m_statusEffectHash, true, 0, 0f); iForcePowerThirdEffect = Random.Range(m_thirdBossEffectForcePowerMin, m_thirdBossEffectForcePowerMax); if (m_enableThirdWave) { int num22 = Random.Range(m_thirdWaveMinToSpawn, m_thirdWaveMaxToSpawn); int num23 = 0; float y4 = default(float); while (num23 < num22) { Vector3 position7 = ((Component)base.m_character).transform.position; Vector2 val15 = Random.insideUnitCircle * m_thirdWaveSpawnRadius; vSpawnPoint = position7 + new Vector3(val15.x, 0f, val15.y); if (m_thirdWaveSnapToTerrain) { ZoneSystem.instance.GetSolidHeight(vSpawnPoint, ref y4, m_getSolidHeightMargin); vSpawnPoint.y = y4; } vSpawnPoint.y += m_thirdWaveSpawnGroundOffset; GameObject val16 = Object.Instantiate<GameObject>(m_thirdWaveMonster, vSpawnPoint, Quaternion.identity); val16.AddComponent(typeof(BossStage_Object_HS)); val16.GetComponent<BossStage_Object_HS>().m_spawnedUniqueID = m_uniqueID; if (m_removeAddsAtEndOfTimer) { MonsterAI component16 = val16.GetComponent<MonsterAI>(); if (Object.op_Implicit((Object)(object)component16)) { val16.AddComponent(typeof(CharacterTimedDestruction)); val16.GetComponent<CharacterTimedDestruction>().m_timeoutMin = 60f; val16.GetComponent<CharacterTimedDestruction>().m_timeoutMax = 60f; val16.GetComponent<CharacterTimedDestruction>().m_triggerOnAwake = true; } else { val16.AddComponent(typeof(TimedDestruction)); val16.GetComponent<TimedDestruction>().m_timeout = 60f; val16.GetComponent<TimedDestruction>().m_triggerOnAwake = true; } } Projectile component17 = val16.GetComponent<Projectile>(); if (Object.op_Implicit((Object)(object)component17)) { component17.Setup(base.m_character, Vector3.zero, -1f, (HitData)null, (ItemData)null, (ItemData)null); } BaseAI component18 = val16.GetComponent<BaseAI>(); if (Object.op_Implicit((Object)(object)component18) && m_alertSpawnedCreatures) { component18.Alert(); } m_spawnEffect.Create(val16.transform.position, val16.transform.rotation, (Transform)null, 1f, -1); int num24 = num23 + 1; num23 = num24; } } if (m_enableThirdBossEffect) { int num25 = Random.Range(m_thirdBossEffectMinAmount, m_thirdBossEffectMaxAmount); int num26 = 0; while (num26 < num25) { Vector3 position8 = ((Component)base.m_character).transform.position; Vector2 val17 = Random.insideUnitCircle * m_thirdBossEffectRadius; vSpawnPoint = position8 + new Vector3(val17.x, 0f, val17.y); if (!m_thirdBossEffectRandomStartMovement) { quaternion = Quaternion.identity; } else { int num27 = Random.Range(-359, 359); quaternion = Quaternion.Euler(0f, (float)num27, 0f); } GameObject val18 = Object.Instantiate<GameObject>(m_thirdBossEffect, vSpawnPoint, quaternion); val18.AddComponent(typeof(BossStage_Object_HS)); val18.GetComponent<BossStage_Object_HS>().m_spawnedUniqueID = m_uniqueID; if (m_removeAddsAtEndOfTimer) { MonsterAI component19 = val18.GetComponent<MonsterAI>(); if (Object.op_Implicit((Object)(object)component19)) { val18.AddComponent(typeof(CharacterTimedDestruction)); val18.GetComponent<CharacterTimedDestruction>().m_timeoutMin = 60f; val18.GetComponent<CharacterTimedDestruction>().m_timeoutMax = 60f; val18.GetComponent<CharacterTimedDestruction>().m_triggerOnAwake = true; } else { val18.AddComponent(typeof(TimedDestruction)); val18.GetComponent<TimedDestruction>().m_timeout = 60f; val18.GetComponent<TimedDestruction>().m_triggerOnAwake = true; } } if (m_thirdBossEffectHealsBoss) { val18.GetComponent<BossStage_Object_HS>().m_healsBoss = true; if (m_destroyThirdBossEffectAfterHealingBoss) { val18.GetComponent<BossStage_Object_HS>().m_killSelf = true; } } Rigidbody component20 = val18.GetComponent<Rigidbody>(); if (Object.op_Implicit((Object)(object)component20)) { if (m_manuallySetThirdBossEffectVector3) { component20.AddForce(m_thirdBossEffectAddForceVector3 * (float)iForcePowerThirdEffect * Time.fixedDeltaTime, (ForceMode)0); } else if (m_thirdBossEffectMoveTowardBoss) { val6 = ((Component)base.m_character).transform.position - val18.transform.position; Vector3 normalized4 = ((Vector3)(ref val6)).normalized; component20.AddForce(normalized4 * (float)iForcePowerThirdEffect * Time.fixedDeltaTime, (ForceMode)1); } else if (m_thirdBossEffectRandomStartMovement) { component20.AddForce(Vector3.forward * (float)iForcePowerThirdEffect * Time.fixedDeltaTime, (ForceMode)1); } } int num28 = num26 + 1; num26 = num28; } } iStageCount++; break; case 3: if (!(m_HealthPercent <= m_fourthHealthPercent)) { break; } if (m_stageFourStartMessage != "") { MessageHud.instance.ShowMessage((MessageType)2, m_stageOneStartMessage, 0, (Sprite)null); } sStatusEffect = ((Object)m_thirdStatusEffect).name.ToString() ?? ""; if (base.m_character.GetSEMan().HaveStatusEffect(sStatusEffect)) { m_removeStatusEffectHash = ((object)m_thirdStatusEffect).GetHashCode(); base.m_character.GetSEMan().RemoveStatusEffect(m_removeStatusEffectHash, false); } base.m_icon = m_stageFourIcon; m_statusEffectHash = ((object)m_fourthStatusEffect).GetHashCode(); base.m_character.GetSEMan().AddStatusEffect(m_statusEffectHash, true, 0, 0f); iForcePowerFourthEffect = Random.Range(m_fourthBossEffectForcePowerMin, m_fourthBossEffectForcePowerMax); if (m_enableFourthWave) { int num = Random.Range(m_fourthWaveMinToSpawn, m_fourthWaveMaxToSpawn); int num2 = 0; float y = default(float); while (num2 < num) { Vector3 position = ((Component)base.m_character).transform.position; Vector2 val2 = Random.insideUnitCircle * m_fourthWaveSpawnRadius; vSpawnPoint = position + new Vector3(val2.x, 0f, val2.y); if (m_fourthWaveSnapToTerrain) { ZoneSystem.instance.GetSolidHeight(vSpawnPoint, ref y, m_getSolidHeightMargin); vSpawnPoint.y = y; } vSpawnPoint.y += m_fourthWaveSpawnGroundOffset; GameObject val3 = Object.Instantiate<GameObject>(m_fourthWaveMonster, vSpawnPoint, Quaternion.identity); val3.AddComponent(typeof(BossStage_Object_HS)); val3.GetComponent<BossStage_Object_HS>().m_spawnedUniqueID = m_uniqueID; if (m_removeAddsAtEndOfTimer) { MonsterAI component = val3.GetComponent<MonsterAI>(); if (Object.op_Implicit((Object)(object)component)) { val3.AddComponent(typeof(CharacterTimedDestruction)); val3.GetComponent<CharacterTimedDestruction>().m_timeoutMin = 60f; val3.GetComponent<CharacterTimedDestruction>().m_timeoutMax = 60f; val3.GetComponent<CharacterTimedDestruction>().m_triggerOnAwake = true; } else { val3.AddComponent(typeof(TimedDestruction)); val3.GetComponent<TimedDestruction>().m_timeout = 60f; val3.GetComponent<TimedDestruction>().m_triggerOnAwake = true; } } Projectile component2 = val3.GetComponent<Projectile>(); if (Object.op_Implicit((Object)(object)component2)) { component2.Setup(base.m_character, Vector3.zero, -1f, (HitData)null, (ItemData)null, (ItemData)null); } BaseAI component3 = val3.GetComponent<BaseAI>(); if (Object.op_Implicit((Object)(object)component3) && m_alertSpawnedCreatures) { component3.Alert(); } m_spawnEffect.Create(val3.transform.position, val3.transform.rotation, (Transform)null, 1f, -1); int num3 = num2 + 1; num2 = num3; } } if (m_enableFourthBossEffect) { int num4 = Random.Range(m_fourthBossEffectMinAmount, m_fourthBossEffectMaxAmount); int num5 = 0; while (num5 < num4) { Vector3 position2 = ((Component)base.m_character).transform.position; Vector2 val4 = Random.insideUnitCircle * m_fourthBossEffectRadius; vSpawnPoint = position2 + new Vector3(val4.x, 0f, val4.y); if (!m_fourthBossEffectRandomStartMovement) { quaternion = Quaternion.identity; } else { int num6 = Random.Range(-359, 359); quaternion = Quaternion.Euler(0f, (float)num6, 0f); } GameObject val5 = Object.Instantiate<GameObject>(m_fourthBossEffect, vSpawnPoint, quaternion); val5.AddComponent(typeof(BossStage_Object_HS)); val5.GetComponent<BossStage_Object_HS>().m_spawnedUniqueID = m_uniqueID; if (m_removeAddsAtEndOfTimer) { MonsterAI component4 = val5.GetComponent<MonsterAI>(); if (Object.op_Implicit((Object)(object)component4)) { val5.AddComponent(typeof(CharacterTimedDestruction)); val5.GetComponent<CharacterTimedDestruction>().m_timeoutMin = 60f; val5.GetComponent<CharacterTimedDestruction>().m_timeoutMax = 60f; val5.GetComponent<CharacterTimedDestruction>().m_triggerOnAwake = true; } else { val5.AddComponent(typeof(TimedDestruction)); val5.GetComponent<TimedDestruction>().m_timeout = 60f; val5.GetComponent<TimedDestruction>().m_triggerOnAwake = true; } } if (m_fourthBossEffectHealsBoss) { val5.GetComponent<BossStage_Object_HS>().m_healsBoss = true; if (m_destroyFourthBossEffectAfterHealingBoss) { val5.GetComponent<BossStage_Object_HS>().m_killSelf = true; } } Rigidbody component5 = val5.GetComponent<Rigidbody>(); if (Object.op_Implicit((Object)(object)component5)) { if (m_manuallySetFourthBossEffectVector3) { component5.AddForce(m_fourthBossEffectAddForceVector3 * (float)iForcePowerFourthEffect * Time.fixedDeltaTime, (ForceMode)0); } else if (m_fourthBossEffectMoveTowardBoss) { val6 = ((Component)base.m_character).transform.position - val5.transform.position; Vector3 normalized = ((Vector3)(ref val6)).normalized; component5.AddForce(normalized * (float)iForcePowerFourthEffect * Time.fixedDeltaTime, (ForceMode)1); } else if (m_fourthBossEffectRandomStartMovement) { component5.AddForce(Vector3.forward * (float)iForcePowerFourthEffect * Time.fixedDeltaTime, (ForceMode)1); } } int num7 = num5 + 1; num5 = num7; } } iStageCount++; break; case 4: if (!(base.m_ttl - base.m_time <= fEndCounter)) { break; } if (m_killBossAtEndOfTimer) { Character character = base.m_character; Player val = (Player)(object)((character is Player) ? character : null); if (!Object.op_Implicit((Object)(object)val) && Object.op_Implicit((Object)(object)ZNetScene.instance)) { m_nview = ((Component)base.m_character).gameObject.GetComponent<ZNetView>(); if (Object.op_Implicit((Object)(object)m_nview)) { m_nview.ClaimOwnership(); if (m_nview.IsValid() && m_nview.IsOwner()) { ((Component)base.m_character).gameObject.AddComponent(typeof(CharacterTimedDestruction)); ((Component)base.m_character).gameObject.GetComponent<CharacterTimedDestruction>().m_timeoutMin = 60f; ((Component)base.m_character).gameObject.GetComponent<CharacterTimedDestruction>().m_timeoutMax = 60f; ((Component)base.m_character).gameObject.GetComponent<CharacterTimedDestruction>().m_triggerOnAwake = true; } } if (m_youLostMessage != "") { MessageHud.instance.ShowMessage((MessageType)2, m_youLostMessage, 0, (Sprite)null); } } } m_isDone = true; break; } } public override bool IsDone() { if (((StatusEffect)this).IsDone()) { return true; } if (m_isDone) { return true; } if (!Object.op_Implicit((Object)(object)base.m_character)) { return true; } return false; } } public class BossStage_Object_HS : MonoBehaviour { public int m_spawnedUniqueID; public bool m_healsBoss; public bool m_killSelf; private void Start() { } private void Update() { } } public class EmissiveMesh_HS : MonoBehaviour { [Header("Required")] public MeshRenderer[] renderers; public Color color = Color.white; [Header("Options")] public bool pulse = true; public float fadeLength = 1f; public float minPower = 0f; public float maxPower = 1f; public Color[] colors; private float _startPower = 1f; private float _currentPower = 1f; private float _desiredPower = 1f; private float _timer = 0f; public void SetColor(Color value) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0002: Unknown result type (might be due to invalid IL or missing references) color = value; } public void SetColor(int index) { //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_000d: Unknown result type (might be due to invalid IL or missing references) color = colors[index]; } public void SetMaxPower(float value) { maxPower = value; } public void SetLength(float value) { fadeLength = value; } public void SetEmissive(float value) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_000d: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Unknown result type (might be due to invalid IL or missing references) Color val = color * Mathf.LinearToGammaSpace(value); MeshRenderer[] array = renderers; foreach (MeshRenderer val2 in array) { ((Renderer)val2).material.SetColor("_EmissionColor", val); } } public void FadeTo(float value, float start = -1f) { _startPower = ((start < 0f) ? _currentPower : start); _desiredPower = value; _timer = 0f; } private void Start() { if (renderers.Length != 0) { _startPower = maxPower; SetEmissive(_currentPower); } } private void Update() { if (renderers.Length == 0) { Object.Destroy((Object)(object)this); } if (pulse) { FadeEmissive(); } } private void FadeEmissive() { CheckForSwitch(); _currentPower = Mathf.Lerp(_startPower, _desiredPower, _timer / fadeLength); SetEmissive(_currentPower); _timer += Time.deltaTime; } private void CheckForSwitch() { if (!(_timer < fadeLength)) { FadeTo((_desiredPower <= minPower) ? maxPower : minPower, (_desiredPower <= minPower) ? minPower : maxPower); } } } [BepInPlugin("assembly.horemvore", "Horemvores Assembly", "1.0.13")] [BepInIncompatibility("Azumatt.AzuDevMod")] [NetworkCompatibility(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] internal class HoremvoreAssemblyBundle : BaseUnityPlugin { public const string PluginGUID = "assembly.horemvore"; public const string PluginName = "Horemvores Assembly"; public const string PluginVersion = "1.0.13"; public AssetBundle assemblyAssets; public ConfigEntry<bool> ModEnable; public ConfigEntry<bool> DemoEnable; public ConfigEntry<bool> LoggingEnable; public ConfigEntry<bool> DisableLocalization; public ConfigEntry<bool> MinorBleedEnable; public ConfigEntry<bool> BleedEnable; public ConfigEntry<bool> MajorBleedEnable; public ConfigEntry<bool> CriticalBleedEnable; public ConfigEntry<bool> LifeDrainEnable; public ConfigEntry<bool> LifeSiphonEnable; public ConfigEntry<bool> DeathSiphonEnable; public ConfigEntry<bool> InfectionEnable; public ConfigEntry<bool> MajorInfectionEnable; public ConfigEntry<bool> CriticalInfectionEnable; public ConfigEntry<bool> RTDEnable; public ConfigEntry<bool> DedsArmyEnable; public ConfigEntry<bool> FantasyCreaturesEnable; public ConfigEntry<bool> GiantsEnable; public ConfigEntry<bool> MinotaursEnable; public ConfigEntry<bool> MushroomMonstersEnable; public ConfigEntry<bool> SkitteringMadnessEnable; public ConfigEntry<bool> SlimesEnable; public ConfigEntry<bool> CreepyCrawliesEnable; public ConfigEntry<bool> ItemSetsEnable; public ConfigEntry<bool> PickablesEnable; public string[] prefabList = new string[18] { "Projectile_RangerBowLightning_AH", "Projectile_RangerBow_AH", "FX_Star_AH", "Projectile_CheatStaff_AH", "Projectile_ClericStaff_AH", "Projectile_DruidStaff_AH", "Projectile_WizardStaff_AH", "FX_RareFlower_AH", "FX_TreeBase_Noise_AH", "FX_Pickable_Haste_AH", "FX_MineRock_Noise_AH", "VFX_StaminaStart_AH", "VFX_ManaStart_AH", "VFX_HealStart_AH", "VFX_JudgementHit_AH", "VFX_BleedActive_AH", "VFX_InfectionActive_AH", "VFX_LeechActive_AH" }; public string[] sfxList = new string[14] { "FX_ArrowRangerLightning_Hit_AH", "FX_ArrowRanger_Hit_AH", "FX_CheatStaff_Hit_AH", "FX_ClericStaff_Hit_AH", "FX_DruidStaff_Hit_AH", "FX_WizardStaff_Hit_AH", "SFX_FireballShoot_AH", "SFX_RareItem_AH", "SFX_NoiseDampening_AH", "SFX_NoiseReduction_AH", "SFX_Haste_AH", "SFX_Effect_OnDamaged_AH", "SFX_RemoveEffect_AH", "SFX_SetBuff_AH" }; public string[] itemList = new string[83] { "Item_Bark_SwampAspen_AH", "Item_Bark_ChillingAcacia_AH", "Item_Bark_BlisterBirch_AH", "Item_Bark_TangledElm_AH", "Item_Bark_HollowBeech_AH", "Item_BloodSaffron_AH", "Item_Dracflorus_AH", "Item_NightHood_AH", "Item_PurpleStrand_AH", "Item_Poisonflower_AH", "Item_DeathsRye_AH", "Item_VolcanoClove_AH", "Item_ShadowLavender_AH", "Item_SneezingBower_AH", "CheatStaff_AH", "HelmetDruid_AH", "ArmorDruidLegs_AH", "ArmorDruidChest_AH", "CapeDruid_AH", "RingDruid_AH", "StaffDruid_AH", "CapeRogue_AH", "HelmetRogue_AH", "ArmorRogueChest_AH", "ArmorRogueLegs_AH", "BeltRogue_AH", "SkollRogue_AH", "StaffWizard_AH", "CapeWizard_AH", "RingWizard_AH", "HelmetWizard_AH", "ArmorWizardChest_AH", "ArmorWizardLegs_AH", "CapePaladin_AH", "HelmetPaladin_AH", "ArmorPaladinChest_AH", "ArmorPaladinLegs_AH", "SwordPaladin_AH", "BeltPaladin_AH", "CapeWarrior_AH", "HelmetWarrior_AH", "ArmorWarriorChest_AH", "ArmorWarriorLegs_AH", "ShieldWarrior_AH", "HammerWarrior_AH", "CapeBarbarian_AH", "HelmetBarbarian_AH", "ArmorBarbarianChest_AH", "ArmorBarbarianLegs_AH", "RingBarbarian_AH", "BattleaxeBarbarian_AH", "BowRanger_AH", "RingRanger_AH", "CapeRanger_AH", "HelmetRanger_AH", "ArmorRangerChest_AH", "ArmorRangerLegs_AH", "CapeCleric_AH", "HelmetCleric_AH", "ArmorClericChest_AH", "ArmorClericLegs_AH", "ShieldCleric_AH", "HammerCleric_AH", "StaffCleric_AH", "RingCleric_AH", "Item_Potion_Yellow_1_AH", "Item_Potion_Yellow_2_AH", "Item_Potion_Yellow_3_AH", "Item_Potion_Bless_AH", "Item_Potion_Dispel_AH", "Item_Potion_Purify_AH", "Item_Potion_CureMinorWounds_AH", "Item_Potion_CureWounds_AH", "Item_Potion_CureMajorWounds_AH", "Item_Flask_Red_3_AH", "Item_Flask_Red_2_AH", "Item_Flask_Red_1_AH", "Item_Elixir_Red_3_AH", "Item_Elixir_Red_2_AH", "Item_Elixir_Red_1_AH", "Item_Potion_Red_3_AH", "Item_Potion_Red_2_AH", "Item_Potion_Red_1_AH" }; public string[] divingList = new string[1] { "SE_ToTheDepths_AH" }; public string[] tradeEffectList = new string[6] { "SE_PickableBuff_RareFlower_AH", "SE_PickableBuff_Haste_AH", "SE_MineRockBuff_Gems_AH", "SE_MineRockBuff_Noise_AH", "SE_TreeBaseBuff_RareWood_AH", "SE_TreeBaseBuff_Noise_AH" }; public string[] eotEffectList = new string[1] { "SE_EitrRecovery_AH" }; public string[] sotEffectList = new string[1] { "SE_StaminaRecovery_AH" }; public string[] dotEffectList = new string[19] { "SE_Judgement_AH", "SE_Vengance_AH", "SE_Smite_AH", "SE_Rend_AH", "SE_Gore_AH", "SE_Lacerate_AH", "SE_Maul_AH", "SE_Shred_AH", "SE_Mangle_AH", "SE_Maim_AH", "SE_Hemorrage_AH", "SE_Rupture_AH", "SE_LeechLife_AH", "SE_VampiresTouch_AH", "SE_LifeDrain_AH", "SE_SiphonLife_AH", "SE_VampiricEmbrace_AH", "SE_DeathSiphon_AH", "SE_DeathCoil_AH" }; public string[] hotEffectList = new string[9] { "SE_FlaskRed_1_AH", "SE_FlaskRed_2_AH", "SE_FlaskRed_3_AH", "SE_ElixirRed_1_AH", "SE_ElixirRed_2_AH", "SE_ElixirRed_3_AH", "SE_PotionRed_1_AH", "SE_PotionRed_2_AH", "SE_PotionRed_3_AH" }; public string[] infectionEffectList = new string[29] { "SE_DeathsRye_AH", "SE_Poisonflower_AH", "SE_VolcanoClove_AH", "SE_CriticalFrostbite_AH", "SE_DeadlyFrostbite_AH", "SE_Frostbite_AH", "SE_JuniorFrostbite_AH", "SE_MajorFrostbite_AH", "SE_MinorFrostbite_AH", "SE_SeniorFrostbite_AH", "SE_Burns_AH", "SE_CriticalBurns_AH", "SE_DeadlyBurns_AH", "SE_JuniorBurns_AH", "SE_MajorBurns_AH", "SE_MinorBurns_AH", "SE_SeniorBurns_AH", "SE_Weak_AH", "SE_Poison_AH", "SE_Venom_AH", "SE_Infection_AH", "SE_Scourge_AH", "SE_Disease_AH", "SE_Contagion_AH", "SE_Pestilence_AH", "SE_Bane_AH", "SE_Blight_AH", "SE_Corrosion_AH", "SE_Corruption_AH" }; public string[] passiveEffectList = new string[78] { "SE_Admin_AH", "SE_Mining_AH", "SE_WoodCutting_AH", "SE_Harvesting_AH", "SE_ShadowLavender_AH", "SE_SneezingBower_AH", "SE_DruidArmor_AH", "SE_DruidCloak_AH", "SE_DruidHelm_AH", "SE_DruidLeggings_AH", "SE_DruidUtility_AH", "SE_DruidWeapon_AH", "SE_SetEffectDruid_AH", "SE_SetEffectDruidWeapons_AH", "SE_SetDruidBuff_AH", "SE_SetEffectPaladinWeapons_AH", "SE_SetEffectRogueWeapons_AH", "SE_SetEffectClericWeapons_AH", "SE_SetEffectWarriorWeapons_AH", "SE_SetEffectWizardWeapons_AH", "SE_SetEffectBarbarianWeapons_AH", "SE_SetEffectRangerWeapons_AH", "SE_SetBarbarianBuff_AH", "SE_SetClericBuff_AH", "SE_SetPaladinBuff_AH", "SE_SetRangerBuff_AH", "SE_SetRogueBuff_AH", "SE_SetWarriorBuff_AH", "SE_SetWizardBuff_AH", "SE_SetEffectBarbarian_AH", "SE_SetEffectCleric_AH", "SE_SetEffectPaladin_AH", "SE_SetEffectRanger_AH", "SE_SetEffectRogue_AH", "SE_SetEffectWarrior_AH", "SE_SetEffectWizard_AH", "SE_BarbarianArmor_AH", "SE_BarbarianHelm_AH", "SE_BarbarianLeggings_AH", "SE_BarbarianCloak_AH", "SE_BarbarianUtility_AH", "SE_BarbarianWeapon_AH", "SE_ClericHelm_AH", "SE_ClericArmor_AH", "SE_ClericLeggings_AH", "SE_ClericUtility_AH", "SE_ClericWeapon_AH", "SE_ClericShield_AH", "SE_PaladinArmor_AH", "SE_PaladinHelm_AH", "SE_PaladinLeggings_AH", "SE_PaladinUtility_AH", "SE_PaladinWeapon_AH", "SE_PaladinCloak_AH", "SE_RangerArmor_AH", "SE_RangerHelm_AH", "SE_RangerLeggings_AH", "SE_RangerCloak_AH", "SE_RangerUtility_AH", "SE_RangerWeapon_AH", "SE_RogueArmor_AH", "SE_RogueHelm_AH", "SE_RogueLeggings_AH", "SE_RogueUtility_AH", "SE_RogueWeapon_AH", "SE_RogueCloak_AH", "SE_WarriorArmor_AH", "SE_WarriorHelm_AH", "SE_WarriorLeggings_AH", "SE_WarriorUtility_AH", "SE_WarriorWeapon_AH", "SE_WarriorShield_AH", "SE_WizardArmor_AH", "SE_WizardCloak_AH", "SE_WizardHelm_AH", "SE_WizardLeggings_AH", "SE_WizardUtility_AH", "SE_WizardWeapon_AH" }; public string[] cureEffectList = new string[7] { "SE_CureMajorWounds_AH", "SE_CureMinorWounds_AH", "SE_CureWounds_AH", "SE_Bless_AH", "SE_Cleanse_AH", "SE_Dispel_AH", "SE_Purify_AH" }; public string[] randomEffectList = new string[15] { "SE_RandomMinorFrostbite_AH", "SE_RandomFrostbite_AH", "SE_RandomMajorFrostbite_AH", "SE_RandomMinorBurn_AH", "SE_RandomBurn_AH", "SE_RandomMajorBurn_AH", "SE_RandomMinorInfection_AH", "SE_RandomInfection_AH", "SE_RandomMajorInfection_AH", "SE_RandomCriticalInfection_AH", "SE_RandomDeadlyInfection_AH", "SE_RandomMinorBleed_AH", "SE_RandomBleed_AH", "SE_RandomMajorBleed_AH", "SE_RandomCriticalBleed_AH" }; public string[] minorBleedList = new string[3] { "boar_base_attack", "Neck_BiteAttack", "Greyling_attack" }; public string[] bleedList = new string[2] { "Greydwarf_attack", "Greydwarf_elite_attack" }; public string[] majorBleedList = new string[8] { "lox_bite", "GoblinBrute_Attack", "GoblinSpear", "stonegolem_attack3_spikesweep", "stonegolem_attack1_spike", "Wolf_Attack1", "Wolf_Attack2", "Wolf_Attack3" }; public string[] criticalBleedList = new string[7] { "DvergerArbalest_shoot", "Dverger_melee", "SeekerBrute_ram", "SeekerBrute_bite", "seeker_pincers", "seeker_claw_right", "seeker_claw_left" }; public string[] infectionList = new string[2] { "skeleton_mace", "Leech_BiteAttack" }; public string[] majorInfectionList = new string[2] { "bat_melee", "Deathsquito_sting" }; public string[] criticalInfectionList = new string[2] { "tick_attack", "gjall_attack_spit" }; public string[] curseList = new string[2] { "skeleton_bow", "skeleton_sword" }; public string[] lifeDrainList = new string[2] { "skeleton_bow", "skeleton_sword" }; public string[] lifeSiphonList = new string[4] { "wraith_melee", "draugr_sword", "draugr_axe", "draugr_bow" }; public string[] deathSiphonList = new string[2] { "Fenring_attack_jump", "Fenring_attack_claw" }; public string[] rtdCriticalBleedList = new string[4] { "ElfWarriorAttackF4_RtD", "ElfWarriorAttackM4_RtD", "WolfAttack2_RtD", "HunterMelee3_RtD" }; public string[] rtdMajorBleedList = new string[4] { "BoarAttack2_RtD", "AssassinAttack2_RtD", "BerserkerAttack4_RtD", "CrusaderAttack2_RtD" }; public string[] rtdMajorBurnList = new string[2] { "FairyAttackFire1_RtD", "DemonHornAttack_RtD" }; public string[] rtdMajorFrostbiteList = new string[3] { "ElementalAttack1_RtD", "FairyAttackIce1_RtD", "PriestMelee1_RtD" }; public string[] dedsArmyInfectionList = new string[4] { "Undead_Attack3_DA", "Vampire_Attack3_DA", "Skeleton2H_Attack3_DA", "Skeleton1H_Attack3_DA" }; public string[] fantMinorBleedList = new string[2] { "Hobgoblin_Attack3_DoD", "Kobold_Attack3_DoD" }; public string[] fantBleedList = new string[2] { "Ogre_Attack3_DoD", "Ent_Attack3_DoD" }; public string[] fantMajorBleedList = new string[4] { "Cyclops_AttackSmash_DoD", "Manticore_Attack3_DoD", "Griffin_Attack3_DoD", "Harpy_Attack3_DoD" }; public string[] fantCriticalBleedList = new string[3] { "Element_AttackGrab_DoD", "Element_AttackSmash_DoD", "Element_AttackSwipe_DoD" }; public string[] fantInfectionList = new string[3] { "Manticore_Attack3_DoD", "Mummy_Attack3_DoD", "Ghoul_Attack3_DoD" }; public string[] fantMajorBurnList = new string[3] { "FireElement_AttackSwipe_DoD", "FireElement_AttackSmash_DoD", "FireElement_AttackGrab_DoD" }; public string[] fantMajorFrostbiteList = new string[3] { "IceElement_AttackSwipe_DoD", "IceElement_AttackSmash_DoD", "IceElement_AttackGrab_DoD" }; public string[] giantMinorBleedList = new string[1] { "HillGiant_Attack3_HG" }; public string[] giantBleedList = new string[1] { "Giant_Attack3_HG" }; public string[] giantMajorBurnList = new string[1] { "FireGiant_Attack3_HG" }; public string[] giantFrostbiteList = new string[1] { "MountainGiant_Attack3_HG" }; public string[] giantMajorFrostbiteList = new string[1] { "FrostGiant_Attack3_HG" }; public string[] minotaurMajorBleedList = new string[1] { "Minotaur_Attack3_HG" }; public string[] minotaurMajorBurnList = new string[1] { "FireMinotaur_Attack3_HG" }; public string[] minotaurMajorFrostbiteList = new string[1] { "FrostMinotaur_Attack3_HG" }; public string[] mushInfectionList = new string[3] { "MushroomSwamp_Attack3_MP", "MushroomForest_Attack3_MP", "MushroomMeadows_Attack3_MP" }; public string[] mushMajorInfectionList = new string[2] { "MushroomPlains_Attack3_MP", "MushroomMountain_Attack3_MP" }; public string[] mushCriticalInfectionList = new string[3] { "MushroomDeepNorth_Attack3_MP", "MushroomAshLands_Attack3_MP", "MushroomMistlands_Attack3_MP" }; public string[] scorpionCriticalInfectionList = new string[5] { "Scorpion_AttackSting_SM", "ScorpionM_AttackSting_SM", "ScorpionDN_AttackSting_SM", "ScorpionAL_AttackSting_SM", "ScorpionBoss_AttackSting_SM" }; public string[] slimeInfectionList = new string[2] { "SlimeGreen_Attack3_HS", "SlimeYellow_Attack3_HS" }; public string[] slimeMinorBurnList = new string[1] { "SlimePink_Attack3_HS" }; public string[] slimeMajorBurnList = new string[1] { "SlimeRed_Attack3_HS" }; public string[] slimeMinorFrostbiteList = new string[1] { "SlimeBlue_Attack3_HS" }; public string[] creepyMinorBleedList = new string[8] { "Attack_SpiderForest_Jump_CC", "Attack_SpiderForest_Pounce_CC", "Attack_CrabForest_Double_CC", "Attack_CrabForest_Jump_CC", "Attack_CrabOcean_Double_CC", "Attack_CrabOcean_Jump_CC", "Attack_BeetleGold_Fly_CC", "Attack_BeetleShrub_Fly_CC" }; public string[] creepyMinorInfectionList = new string[3] { "Attack_BeetleStink_Fly_CC", "Attack_SpiderSwamp_Jump_CC", "Attack_SpiderSwamp_Pounce_CC" }; public string[] creepyMinorFrostbiteList = new string[6] { "Attack_SpiderCave_Pounce_CC", "Attack_SpiderCave_Jump_CC", "Attack_InsectCave_Jump_CC", "Attack_InsectCave_Double_CC", "Attack_CrabCave_Jump_CC", "Attack_CrabCave_Double_CC" }; public string[] creepyBleedList = new string[2] { "Attack_SpiderCamel_Jump_CC", "Attack_SpiderCamel_Pounce_CC" }; public string[] creepyInfectionList = new string[2] { "Attack_InsectMist_Double_CC", "Attack_InsectMist_Jump_CC" }; public string[] creepyBurnList = new string[4] { "Attack_SpiderLava_Jump_CC", "Attack_SpiderLava_Pounce_CC", "Attack_InsectLava_Double_CC", "Attack_InsectLava_Jump_CC" }; public string[] creepyFrostbiteList = new string[4] { "Attack_InsectHoarfrost_Jump_CC", "Attack_InsectHoarfrost_Double_CC", "Attack_SpiderHoarfrost_Jump_CC", "Attack_SpiderHoarfrost_Pounce_CC" }; public CustomLocalization LocalAH; 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 //IL_00e6: Unknown result type (might be due to invalid IL or missing references) //IL_00eb: Unknown result type (might be due to invalid IL or missing references) //IL_00f4: Expected O, but got Unknown //IL_00f4: Unknown result type (might be due to invalid IL or missing references) //IL_00fe: Expected O, but got Unknown //IL_0123: Unknown result type (might be due to invalid IL or missing references) //IL_0128: Unknown result type (might be due to invalid IL or missing references) //IL_0131: Expected O, but got Unknown //IL_0131: Unknown result type (might be due to invalid IL or missing references) //IL_013b: Expected O, but got Unknown //IL_0160: Unknown result type (might be due to invalid IL or missing references) //IL_0165: Unknown result type (might be due to invalid IL or missing references) //IL_016e: Expected O, but got Unknown //IL_016e: Unknown result type (might be due to invalid IL or missing references) //IL_0178: Expected O, but got Unknown //IL_019d: 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_01ab: Expected O, but got Unknown //IL_01ab: Unknown result type (might be due to invalid IL or missing references) //IL_01b5: Expected O, but got Unknown //IL_01da: Unknown result type (might be due to invalid IL or missing references) //IL_01df: Unknown result type (might be due to invalid IL or missing references) //IL_01e8: Expected O, but got Unknown //IL_01e8: Unknown result type (might be due to invalid IL or missing references) //IL_01f2: Expected O, but got Unknown //IL_0217: 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_0225: Expected O, but got Unknown //IL_0225: Unknown result type (might be due to invalid IL or missing references) //IL_022f: Expected O, but got Unknown //IL_0254: Unknown result type (might be due to invalid IL or missing references) //IL_0259: Unknown result type (might be due to invalid IL or missing references) //IL_0262: Expected O, but got Unknown //IL_0262: Unknown result type (might be due to invalid IL or missing references) //IL_026c: Expected O, but got Unknown //IL_0291: Unknown result type (might be due to invalid IL or missing references) //IL_0296: Unknown result type (might be due to invalid IL or missing references) //IL_029f: Expected O, but got Unknown //IL_029f: Unknown result type (might be due to invalid IL or missing references) //IL_02a9: Expected O, but got Unknown //IL_02ce: 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_02dc: Expected O, but got Unknown //IL_02dc: Unknown result type (might be due to invalid IL or missing references) //IL_02e6: Expected O, but got Unknown //IL_030b: 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_0319: Expected O, but got Unknown //IL_0319: Unknown result type (might be due to invalid IL or missing references) //IL_0323: Expected O, but got Unknown //IL_0348: Unknown result type (might be due to invalid IL or missing references) //IL_034d: Unknown result type (might be due to invalid IL or missing references) //IL_0356: Expected O, but got Unknown //IL_0356: Unknown result type (might be due to invalid IL or missing references) //IL_0360: Expected O, but got Unknown //IL_0385: Unknown result type (might be due to invalid IL or missing references) //IL_038a: Unknown result type (might be due to invalid IL or missing references) //IL_0393: Expected O, but got Unknown //IL_0393: Unknown result type (might be due to invalid IL or missing references) //IL_039d: Expected O, but got Unknown //IL_03c2: Unknown result type (might be due to invalid IL or missing references) //IL_03c7: Unknown result type (might be due to invalid IL or missing references) //IL_03d0: Expected O, but got Unknown //IL_03d0: Unknown result type (might be due to invalid IL or missing references) //IL_03da: Expected O, but got Unknown //IL_03ff: Unknown result type (might be due to invalid IL or missing references) //IL_0404: Unknown result type (might be due to invalid IL or missing references) //IL_040d: Expected O, but got Unknown //IL_040d: Unknown result type (might be due to invalid IL or missing references) //IL_0417: Expected O, but got Unknown //IL_043c: Unknown result type (might be due to invalid IL or missing references) //IL_0441: Unknown result type (might be due to invalid IL or missing references) //IL_044a: Expected O, but got Unknown //IL_044a: Unknown result type (might be due to invalid IL or missing references) //IL_0454: Expected O, but got Unknown //IL_0479: Unknown result type (might be due to invalid IL or missing references) //IL_047e: Unknown result type (might be due to invalid IL or missing references) //IL_0487: Expected O, but got Unknown //IL_0487: Unknown result type (might be due to invalid IL or missing references) //IL_0491: Expected O, but got Unknown //IL_04b6: Unknown result type (might be due to invalid IL or missing references) //IL_04bb: Unknown result type (might be due to invalid IL or missing references) //IL_04c4: Expected O, but got Unknown //IL_04c4: Unknown result type (might be due to invalid IL or missing references) //IL_04ce: Expected O, but got Unknown //IL_04f3: Unknown result type (might be due to invalid IL or missing references) //IL_04f8: Unknown result type (might be due to invalid IL or missing references) //IL_0501: Expected O, but got Unknown //IL_0501: Unknown result type (might be due to invalid IL or missing references) //IL_050b: Expected O, but got Unknown //IL_0530: Unknown result type (might be due to invalid IL or missing references) //IL_0535: Unknown result type (might be due to invalid IL or missing references) //IL_053e: Expected O, but got Unknown //IL_053e: Unknown result type (might be due to invalid IL or missing references) //IL_0548: Expected O, but got Unknown //IL_056d: Unknown result type (might be due to invalid IL or missing references) //IL_0572: Unknown result type (might be due to invalid IL or missing references) //IL_057b: Expected O, but got Unknown //IL_057b: Unknown result type (might be due to invalid IL or missing references) //IL_0585: Expected O, but got Unknown //IL_05aa: Unknown result type (might be due to invalid IL or missing references) //IL_05af: Unknown result type (might be due to invalid IL or missing references) //IL_05b8: Expected O, but got Unknown //IL_05b8: Unknown result type (might be due to invalid IL or missing references) //IL_05c2: Expected O, but got Unknown //IL_05e7: Unknown result type (might be due to invalid IL or missing references) //IL_05ec: Unknown result type (might be due to invalid IL or missing references) //IL_05f5: Expected O, but got Unknown //IL_05f5: Unknown result type (might be due to invalid IL or missing references) //IL_05ff: Expected O, but got Unknown try { ((BaseUnityPlugin)this).Config.SaveOnConfigSet = true; ModEnable = ((BaseUnityPlugin)this).Config.Bind<bool>("1 Horemvores Assembly", "Enable", true, new ConfigDescription("Admin only, Enables this mod", (AcceptableValueBase)null, new object[1] { (object)new ConfigurationManagerAttributes { IsAdminOnly = true } })); PickablesEnable = ((BaseUnityPlugin)this).Config.Bind<bool>("1.001 Gathering and Collecting", "Enable", true, new ConfigDescription("Admin only, none this has been tested. It is here cause I am to lazy to go uncomment what I need to :), its off, so, if you turn it on and it implodes, just turn it off again :D. Enables pickables, trees and ores, to give a bonus effect when picked.", (AcceptableValueBase)null, new object[1] { (object)new ConfigurationManagerAttributes { IsAdminOnly = true } })); RTDEnable = ((BaseUnityPlugin)this).Config.Bind<bool>("1.01 Ready to Die", "Enable", false, new ConfigDescription("Admin only, enables adding random effects to monsters from this mod.", (AcceptableValueBase)null, new object[1] { (object)new ConfigurationManagerAttributes { IsAdminOnly = true } })); DedsArmyEnable = ((BaseUnityPlugin)this).Config.Bind<bool>("1.02 Deds Army", "Enable", false, new ConfigDescription("Admin only, enables adding random effects to monsters from this mod.", (AcceptableValueBase)null, new object[1] { (object)new ConfigurationManagerAttributes { IsAdminOnly = true } })); FantasyCreaturesEnable = ((BaseUnityPlugin)this).Config.Bind<bool>("1.03 Fantasy Creatures", "Enable", false, new ConfigDescription("Admin only, enables adding random effects to monsters from this mod.", (AcceptableValueBase)null, new object[1] { (object)new ConfigurationManagerAttributes { IsAdminOnly = true } })); GiantsEnable = ((BaseUnityPlugin)this).Config.Bind<bool>("1.04 Fee Fi Fo", "Enable", false, new ConfigDescription("Admin only, enables adding random effects to monsters from this mod.", (AcceptableValueBase)null, new object[1] { (object)new ConfigurationManagerAttributes { IsAdminOnly = true } })); MinotaursEnable = ((BaseUnityPlugin)this).Config.Bind<bool>("1.05 Minotaurs", "Enable", false, new ConfigDescription("Admin only, enables adding random effects to monsters from this mod.", (AcceptableValueBase)null, new object[1] { (object)new ConfigurationManagerAttributes { IsAdminOnly = true } })); MushroomMonstersEnable = ((BaseUnityPlugin)this).Config.Bind<bool>("1.06 Mushroom Monsters", "Enable", false, new ConfigDescription("Admin only, enables adding random effects to monsters from this mod.", (AcceptableValueBase)null, new object[1] { (object)new ConfigurationManagerAttributes { IsAdminOnly = true } })); SkitteringMadnessEnable = ((BaseUnityPlugin)this).Config.Bind<bool>("1.07 Skittering Madness", "Enable", false, new ConfigDescription("Admin only, enables adding random effects to monsters from this mod.", (AcceptableValueBase)null, new object[1] { (object)new ConfigurationManagerAttributes { IsAdminOnly = true } })); SlimesEnable = ((BaseUnityPlugin)this).Config.Bind<bool>("1.08 Slimes R Us", "Enable", false, new ConfigDescription("Admin only, enables adding random effects to monsters from this mod.", (AcceptableValueBase)null, new object[1] { (object)new ConfigurationManagerAttributes { IsAdminOnly = true } })); ItemSetsEnable = ((BaseUnityPlugin)this).Config.Bind<bool>("1.09 Items", "Enable", true, new ConfigDescription("Admin only, adds potions and 8 armour and 8 weapon sets with custom effects.", (AcceptableValueBase)null, new object[1] { (object)new ConfigurationManagerAttributes { IsAdminOnly = true } })); DemoEnable = ((BaseUnityPlugin)this).Config.Bind<bool>("1.1 Demo", "Enable", false, new ConfigDescription("Admin only, enables the status effect demo", (AcceptableValueBase)null, new object[1] { (object)new ConfigurationManagerAttributes { IsAdminOnly = true } })); MinorBleedEnable = ((BaseUnityPlugin)this).Config.Bind<bool>("1.11 Demo - Minor Bleed", "Enable", true, new ConfigDescription("Admin only, adds the status effect Random Minor Bleed to Vanilla Monsters", (AcceptableValueBase)null, new object[1] { (object)new ConfigurationManagerAttributes { IsAdminOnly = true } })); BleedEnable = ((BaseUnityPlugin)this).Config.Bind<bool>("1.12 Demo - Bleed", "Enable", true, new ConfigDescription("Admin only, adds the status effect Random Bleed to Vanilla Monsters", (AcceptableValueBase)null, new object[1] { (object)new ConfigurationManagerAttributes { IsAdminOnly = true } })); MajorBleedEnable = ((BaseUnityPlugin)this).Config.Bind<bool>("1.13 Demo - Major Bleed", "Enable", true, new ConfigDescription("Admin only, adds the status effect Random Major Bleed to Vanilla Monsters", (AcceptableValueBase)null, new object[1] { (object)new ConfigurationManagerAttributes { IsAdminOnly = true } })); CriticalBleedEnable = ((BaseUnityPlugin)this).Config.Bind<bool>("1.14 Demo - Critical Bleed", "Enable", true, new ConfigDescription("Admin only, adds the status effect Random Critical Bleed to Vanilla Monsters", (AcceptableValueBase)null, new object[1] { (object)new ConfigurationManagerAttributes { IsAdminOnly = true } })); LifeDrainEnable = ((BaseUnityPlugin)this).Config.Bind<bool>("1.15 Demo - Life Drain", "Enable", true, new ConfigDescription("Admin only, adds the status effect Life Drain to Vanilla Monsters", (AcceptableValueBase)null, new object[1] { (object)new ConfigurationManagerAttributes { IsAdminOnly = true } })); LifeSiphonEnable = ((BaseUnityPlugin)this).Config.Bind<bool>("1.16 Demo - Life Siphon", "Enable", true, new ConfigDescription("Admin only, adds the status effect Life Siphon to Vanilla Monsters", (AcceptableValueBase)null, new object[1] { (object)new ConfigurationManagerAttributes { IsAdminOnly = true } })); DeathSiphonEnable = ((BaseUnityPlugin)this).Config.Bind<bool>("1.17 Demo - Death Siphon", "Enable", true, new ConfigDescription("Admin only, adds the status effect Death Siphon to Vanilla Monsters", (AcceptableValueBase)null, new object[1] { (object)new ConfigurationManagerAttributes { IsAdminOnly = true } })); InfectionEnable = ((BaseUnityPlugin)this).Config.Bind<bool>("1.18 Demo - Infection", "Enable", true, new ConfigDescription("Admin only, adds the status effect Random Infection to Vanilla Monsters", (AcceptableValueBase)null, new object[1] { (object)new ConfigurationManagerAttributes { IsAdminOnly = true } })); MajorInfectionEnable = ((BaseUnityPlugin)this).Config.Bind<bool>("1.19 Demo - Major Infection", "Enable", true, new ConfigDescription("Admin only, adds the status effect Random Major Infection to Vanilla Monsters", (AcceptableValueBase)null, new object[1] { (object)new ConfigurationManagerAttributes { IsAdminOnly = true } })); CriticalInfectionEnable = ((BaseUnityPlugin)this).Config.Bind<bool>("1.20 Demo - Critical Infection", "Enable", true, new ConfigDescription("Admin only, adds the status effect Random Critical Infection to Vanilla Monsters", (AcceptableValueBase)null, new object[1] { (object)new ConfigurationManagerAttributes { IsAdminOnly = true } })); CreepyCrawliesEnable = ((BaseUnityPlugin)this).Config.Bind<bool>("1.3 Creepy Crawlies", "Enable", true, new ConfigDescription("Admin only, enables adding random effects to monsters from this mod.", (AcceptableValueBase)null, new object[1] { (object)new ConfigurationManagerAttributes { IsAdminOnly = true } })); DisableLocalization = ((BaseUnityPlugin)this).Config.Bind<bool>("1.5 Localization", "Disable", false, new ConfigDescription("Enable or Disable the hardcoded English localization.", (AcceptableValueBase)null, new object[1] { (object)new ConfigurationManagerAttributes { IsAdminOnly = true } })); LoggingEnable = ((BaseUnityPlugin)this).Config.Bind<bool>("2 Logging", "Enable", false, new ConfigDescription("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() { try { CreateConfigurationValues(); if (ModEnable.Value) { if (!DisableLocalization.Value) { AddLocalization(); } AddTranslationsFromJson(); LoadBundle(); AddVFX(); AddSFX(); AddEoTEffects(); AddSoTEffects(); AddHoTEffects(); AddDoTEffects(); AddInfectionEffects(); AddRandomEffects(); AddPassiveEffects(); AddCureEffects(); AddDivingEffects(); if (ItemSetsEnable.Value) { AddItems(); } if (RTDEnable.Value) { PrefabManager.OnPrefabsRegistered += UpdateReadyToDie; } if (DedsArmyEnable.Value) { PrefabManager.OnPrefabsRegistered += UpdateDedsArmy; } if (FantasyCreaturesEnable.Value) { PrefabManager.OnPrefabsRegistered += UpdateFantasyCreatures; } if (GiantsEnable.Value) { PrefabManager.OnPrefabsRegistered += UpdateGiants; } if (MinotaursEnable.Value) { PrefabManager.OnPrefabsRegistered += UpdateMinotaurs; } if (MushroomMonstersEnable.Value) { PrefabManager.OnPrefabsRegistered += UpdateMushroomMonsters; } if (SkitteringMadnessEnable.Value) { PrefabManager.OnPrefabsRegistered += UpdateScorpions; } if (SlimesEnable.Value) { PrefabManager.OnPrefabsRegistered += UpdateSlimes; } if (CreepyCrawliesEnable.Value) { PrefabManager.OnPrefabsRegistered += UpdateCreepyCrawlies; } if (DemoEnable.Value) { PrefabManager.OnVanillaPrefabsAvailable += UpdateVanillaBleedAttacks; PrefabManager.OnVanillaPrefabsAvailable += UpdateVanillaInfectionAttacks; } if (PickablesEnable.Value) { PrefabManager.OnPrefabsRegistered += UpdatePickables; PrefabManager.OnPrefabsRegistered += UpdateTrees; } PrefabManager.OnPrefabsRegistered += FixSFX; UnloadBundle(); } } catch (Exception arg) { ((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while initalizing plugin: {arg}"); } } public void AddLocalization() { try { LocalAH = LocalizationManager.Instance.GetLocalization(); CustomLocalization localAH = LocalAH; string text = "English"; localAH.AddTranslation(ref text, new Dictionary<string, string> { { "se_divedamage_ah", "Diving Rate Damage" }, { "se_limitdivespeed_ah", "Diving Rate" }, { "se_diveduration_ah", "Dive Duration" }, { "se_surfaceduration_ah", "Surface Duration" }, { "se_dropchance_ah", "Rare Item Drop Chance" }, { "se_gatherbuff_ah", "Gathering Buff: " }, { "se_rareitem_ah", "Found: " }, { "se_pickableeffect_ah", "Buff" }, { "effect_curemajorwounds_ah", "Cure Major Wounds" }, { "effect_curewounds_ah", "Cure Wounds" }, { "effect_cureminorwounds_ah", "Cure Minor Wounds" }, { "effect_cleanse_ah", "Cleanse" }, { "effect_purify_ah", "Purify" }, { "effect_dispelspell_ah", "Dispel" }, { "effect_bless_ah", "Bless" }, { "effect_smite_ah", "Smite" }, { "effect_fanknives_ah", "Fan of Knives" }, { "effect_roguedance_ah", "Shadow Dance" }, { "effect_staminarecovery_ah", "Stamina Recovery" }, { "effect_staminarecovery_tooltip_ah", "Effects" }, { "effect_eitrrecovery_ah", "Eitr Recovery" }, { "effect_eitrrecovery_tooltip_ah", "Effects" }, { "effect_judgement_ah", "Judgement" }, { "effect_judgement_tooltip_ah", "Effects" }, { "effect_vengance_ah", "Vengance" }, { "effect_vengance_tooltip_ah", "Effects" }, { "plant_bloodsaffron_ah", "Blood Saffron" }, { "plant_dracflorus_ah", "Dracflorus" }, { "plant_purplestrand_ah", "Purple Strand" }, { "plant_nighthood_ah", "Night Hood" }, { "plant_deathsrye_ah", "Death's Rye" }, { "plant_poisonflower_ah", "Poisonflower" }, { "plant_shadowlavender_ah", "Shadow Lavender" }, { "plant_volcanocolve_ah", "Volcano Clove" }, { "plant_sneezingbower_ah", "Sneezing Bower" }, { "item_flower_desc_ah", "Know any good Botanists? No? Well, your a Viking, you will figure it out!" }, { "item_flowerhostile_desc_ah", "Know any good Botanists? No? Well, down the hatch, one for the team!" }, { "item_flowerhostile_repeate_ah", "Deadly Dose" }, { "item_bark_blisterbirch_ah", "Blister Birch Bark" }, { "item_bark_chillingacacia_ah", "Chilling Acacia Bark" }, { "item_bark_hollowbeech_ah", "Hollow Beech Bark" }, { "item_bark_swampaspen_ah", "Swamp Aspen Bark" }, { "item_bark_tangledelm_ah", "Tangled Elm Bark" }, { "item_bark_desc_ah", "What a strange looking piece of bark, wonder what it is?" }, { "item_potion_bless_ah", "Bless" }, { "item_potion_bless_desc_ah", "Removes certain afflictions" }, { "item_potion_dispel_ah", "Dispel" }, { "item_potion_dispel_desc_ah", "Removes certain afflictions" }, { "item_potion_purify_ah", "Purify" }, { "item_potion_purify_desc_ah", "Removes certain afflictions" }, { "item_potion_cleanse_ah", "Cleanse" }, { "item_potion_cleanse_desc_ah", "Removes certain afflictions" }, { "item_potion_cureminorwounds_ah", "Cure Minor Wounds" }, { "item_potion_cureminorwounds_desc_ah", "Removes certain afflictions" }, { "item_potion_curewounds_ah", "Cure Wounds" }, { "item_potion_curewounds_desc_ah", "Removes certain afflictions" }, { "item_potion_curemajorwounds_ah", "Cure Major Wounds" }, { "item_potion_curemajorwounds_desc_ah", "Removes certain afflictions" }, { "item_staff_cheat_ah", "Cheat Staff" }, { "item_staff_cheat_desc_ah", "Lazer's!!!" }, { "item_staff_druid_ah", "Staff of Nature" }, { "item_staff_druid_desc_ah", "Looks to be of asgardian origin." }, { "item_helmet_druid_ah", "Helmet of Nature" }, { "item_helmet_druid_desc_ah", "Looks to be of asgardian origin." }, { "item_chest_druid_ah", "Armor of Nature" }, { "item_chest_druid_desc_ah", "Looks to be of asgardian origin." }, { "item_legs_druid_ah", "Leggings of Nature" }, { "item_legs_druid_desc_ah", "Looks to be of asgardian origin." }, { "item_cape_druid_ah", "Cloak of Nature" }, { "item_cape_druid_desc_ah", "Looks to be of asgardian origin." }, { "item_ring_druid_ah", "Ring of Nature" }, { "item_ring_druid_desc_ah", "Looks to be of asgardian origin." }, { "item_cape_rogue_ah", "Shadow Cape" }, { "item_cape_rogue_desc_ah", "This once belonged to Loki, before he went green..." }, { "item_belt_rogue_ah", "Shadow Belt" }, { "item_belt_rogue_desc_ah", "This once belonged to Loki, before he went green..." }, { "item_knife_rogue_ah", "Darkness" }, { "item_knife_rogue_desc_ah", "This once belonged to Loki, before he went green..." }, { "item_helmet_rogue_ah", "Shadow Hood" }, { "item_helmet_rogue_desc_ah", "This once belonged to Loki, before he went green..." }, { "item_chest_rogue_ah", "Shadow Armor" }, { "item_chest_rogue_desc_ah", "This once belonged to Loki, before he went green..." }, { "item_legs_rogue_ah", "Shadow Leggings" }, { "item_legs_rogue_desc_ah", "This once belonged to Loki, before he went green..." }, { "item_ring_wizard_ah", "Arcane Ring" }, { "item_ring_wizard_desc_ah", "Some Dark Elf once owned this." }, { "item_staff_wizard_ah", "Arcane Staff" }, { "item_staff_wizard_desc_ah", "Some Dark Elf once owned this." }, { "item_cape_wizard_ah", "Arcane Cape" }, { "item_cape_wizard_desc_ah", "Some Dark Elf once owned this." }, { "item_helmet_wizard_ah", "Arcane Hood" }, { "item_helmet_wizard_desc_ah", "Some Dark Elf once owned this." }, { "item_chest_wizard_ah", "Arcane Armor" }, { "item_chest_wizard_desc_ah", "Some Dark Elf once owned this." }, { "item_legs_wizard_ah", "Arcane Leggings" }, { "item_legs_wizard_desc_ah", "Some Dark Elf once owned this." }, { "item_sword_paladin_ah", "Oathsunder" }, { "item_sword_paladin_desc_ah", "Looks to be of asgardian origin." }, { "item_belt_paladin_ah", "Divine Belt" }, { "item_belt_paladin_desc_ah", "Looks to be of asgardian origin." }, { "item_cape_paladin_ah", "Divine Cape" }, { "item_cape_paladin_desc_ah", "Looks to be of asgardian origin." }, { "item_helmet_paladin_ah", "Divine Helmet" }, { "item_helmet_paladin_desc_ah", "Looks to be of asgardian origin." }, { "item_chest_paladin_ah", "Divine Armor" }, { "item_chest_paladin_desc_ah", "Looks to be of asgardian origin." }, { "item_legs_paladin_ah", "Divine Leggings" }, { "item_legs_paladin_desc_ah", "Looks to be of asgardian origin." }, { "item_cape_warrior_ah", "Defender's Cape" }, { "item_cape_warrior_desc_ah", "Looks to be of asgardian origin." }, { "item_helmet_warrior_ah", "Defender's Helmet" }, { "item_helmet_warrior_desc_ah", "Looks to be of asgardian origin." }, { "item_chest_warrior_ah", "Defender's Armor" }, { "item_chest_warrior_desc_ah", "Looks to be of asgardian origin." }, { "item_legs_warrior_ah", "Defender's Greaves" }, { "item_legs_warrior_desc_ah", "Looks to be of asgardian origin." }, { "item_shield_warrior_ah", "Protector" }, { "item_shield_warrior_desc_ah", "Looks to be of asgardian origin." }, { "item_hammer_warrior_ah", "Restitution" }, { "item_hammer_warrior_desc_ah", "Looks to be of asgardian origin." }, { "item_ring_barbarian_ah", "Primal Ring" }, { "item_ring_barbarian_desc_ah", "Looks to be of asgardian origin." }, { "item_battleaxe_barbarian_ah", "Primal Axe" }, { "item_battleaxe_barbarian_desc_ah", "Looks to be of asgardian origin." }, { "item_cape_barbarian_ah", "Primal Cape" }, { "item_cape_barbarian_desc_ah", "Looks to be of asgardian origin." }, { "item_helmet_barbaria