// Token: 0x06000A29 RID: 2601 RVA: 0x00032748 File Offset: 0x00030948 static BuffMask() { for (BuffIndex buffIndex = BuffIndex.Slow50; buffIndex < BuffIndex.Count; buffIndex++) { if (BuffCatalog.GetBuffDef(buffIndex).isElite) { BuffMask.eliteMask |= 1u << (int)buffIndex; } } }
private static void Init() { BuffIndex buffIndex = BuffIndex.Slow50; BuffIndex buffCount = (BuffIndex)BuffCatalog.buffCount; while (buffIndex < buffCount) { if (BuffCatalog.GetBuffDef(buffIndex).isElite) { BuffMask.eliteMask |= 1UL << (int)buffIndex; } buffIndex++; } }
// Token: 0x06000A37 RID: 2615 RVA: 0x00047218 File Offset: 0x00045418 static BuffCatalog() { BuffCatalog.RegisterBuff(BuffIndex.ArmorBoost, new BuffDef { iconPath = "Textures/BuffIcons/texBuffGenericShield", buffColor = new Color(0.8392157f, 0.7882353f, 0.227450982f) }); BuffCatalog.RegisterBuff(BuffIndex.Slow50, new BuffDef { iconPath = "Textures/BuffIcons/texBuffSlow50Icon", buffColor = new Color(0.917647064f, 0.407843143f, 0.419607848f) }); BuffCatalog.RegisterBuff(BuffIndex.ClayGoo, new BuffDef { iconPath = "Textures/BuffIcons/texBuffSlow50Icon", buffColor = new Color(0.2f, 0.09019608f, 0.09019608f) }); BuffCatalog.RegisterBuff(BuffIndex.AttackSpeedOnCrit, new BuffDef { iconPath = "Textures/BuffIcons/texBuffAttackSpeedOnCritIcon", buffColor = new Color(0.9098039f, 0.5058824f, 0.239215687f), canStack = true }); BuffCatalog.RegisterBuff(BuffIndex.BeetleJuice, new BuffDef { iconPath = "Textures/BuffIcons/texBuffBeetleJuiceIcon", buffColor = new Color(0.8392157f, 0.7882353f, 0.227450982f), canStack = true }); BuffCatalog.RegisterBuff(BuffIndex.OnFire, new BuffDef { iconPath = "Textures/BuffIcons/texBuffOnFireIcon", buffColor = new Color(0.9137255f, 0.372549027f, 0.1882353f), canStack = true }); BuffCatalog.RegisterBuff(BuffIndex.MedkitHeal, new BuffDef { iconPath = "Textures/BuffIcons/texBuffMedkitHealIcon", buffColor = new Color(0.784313738f, 0.9372549f, 0.427450985f) }); BuffCatalog.RegisterBuff(BuffIndex.Warbanner, new BuffDef { iconPath = "Textures/BuffIcons/texBuffWarbannerIcon", buffColor = new Color(0.8392157f, 0.7882353f, 0.227450982f) }); BuffCatalog.RegisterBuff(BuffIndex.EnrageAncientWisp, new BuffDef()); BuffCatalog.RegisterBuff(BuffIndex.Cloak, new BuffDef { iconPath = "Textures/BuffIcons/texBuffCloakIcon", buffColor = new Color(0.3764706f, 0.843137264f, 0.8980392f) }); BuffCatalog.RegisterBuff(BuffIndex.CloakSpeed, new BuffDef { iconPath = "Textures/BuffIcons/texMovespeedBuffIcon", buffColor = new Color(0.3764706f, 0.843137264f, 0.8980392f) }); BuffCatalog.RegisterBuff(BuffIndex.LightningShield, new BuffDef { iconPath = null }); BuffCatalog.RegisterBuff(BuffIndex.FullCrit, new BuffDef { iconPath = "Textures/BuffIcons/texBuffFullCritIcon", buffColor = new Color(0.8392157f, 0.227450982f, 0.227450982f) }); BuffCatalog.RegisterBuff(BuffIndex.TempestSpeed, new BuffDef { iconPath = "Textures/BuffIcons/texBuffTempestSpeedIcon", buffColor = new Color(0.8392157f, 0.7882353f, 0.227450982f) }); BuffCatalog.RegisterBuff(BuffIndex.EngiShield, new BuffDef { iconPath = "Textures/BuffIcons/texBuffEngiShieldIcon", buffColor = new Color(0.3764706f, 0.843137264f, 0.8980392f) }); BuffCatalog.RegisterBuff(BuffIndex.BugWings, new BuffDef { iconPath = "Textures/BuffIcons/texMovespeedBuffIcon", buffColor = new Color(0.3764706f, 0.843137264f, 0.8980392f) }); BuffCatalog.RegisterBuff(BuffIndex.TeslaField, new BuffDef { iconPath = "Textures/BuffIcons/texBuffTeslaIcon", buffColor = new Color(0.858823538f, 0.533333361f, 0.9843137f) }); BuffCatalog.RegisterBuff(BuffIndex.WarCryBuff, new BuffDef { iconPath = "Textures/BuffIcons/texWarcryBuffIcon", buffColor = new Color(0.827451f, 0.196078435f, 0.09803922f) }); BuffCatalog.RegisterBuff(BuffIndex.Slow30, new BuffDef()); BuffCatalog.RegisterBuff(BuffIndex.EngiTeamShield, new BuffDef()); BuffCatalog.RegisterBuff(BuffIndex.CommandoBoost, new BuffDef()); BuffCatalog.RegisterBuff(BuffIndex.GoldEmpowered, new BuffDef { iconPath = "Textures/BuffIcons/texBuffAttackSpeedOnCritIcon", buffColor = new Color(1f, 0.7882353f, 0.05490196f) }); BuffCatalog.RegisterBuff(BuffIndex.Immune, new BuffDef { iconPath = "Textures/BuffIcons/texBuffGenericShield", buffColor = new Color(1f, 0.7882353f, 0.05490196f) }); BuffCatalog.RegisterBuff(BuffIndex.Cripple, new BuffDef { iconPath = "Textures/BuffIcons/texBuffCrippleIcon" }); BuffCatalog.RegisterBuff(BuffIndex.Slow80, new BuffDef { iconPath = "Textures/BuffIcons/texBuffSlow50Icon", buffColor = new Color(0.647058845f, 0.870588243f, 0.929411769f) }); BuffCatalog.RegisterBuff(BuffIndex.Slow60, new BuffDef { iconPath = "Textures/BuffIcons/texBuffSlow50Icon", buffColor = new Color(0.6784314f, 0.6117647f, 0.4117647f) }); BuffCatalog.RegisterBuff(BuffIndex.AffixRed, new BuffDef { eliteIndex = EliteIndex.Fire, iconPath = "Textures/BuffIcons/texBuffAffixRed" }); BuffCatalog.RegisterBuff(BuffIndex.AffixBlue, new BuffDef { eliteIndex = EliteIndex.Lightning, iconPath = "Textures/BuffIcons/texBuffAffixBlue" }); BuffCatalog.RegisterBuff(BuffIndex.NoCooldowns, new BuffDef { iconPath = "Textures/BuffIcons/texNoCooldownsBuffIcon", buffColor = new Color(0.733333349f, 0.545098066f, 0.9764706f) }); BuffCatalog.RegisterBuff(BuffIndex.AffixWhite, new BuffDef { eliteIndex = EliteIndex.Ice, iconPath = "Textures/BuffIcons/texBuffAffixWhite" }); BuffCatalog.RegisterBuff(BuffIndex.HiddenInvincibility, new BuffDef { iconPath = "Textures/BuffIcons/texBuffGenericShield", buffColor = new Color(0.545098066f, 0.807843149f, 0.8392157f) }); for (BuffIndex buffIndex = BuffIndex.Slow50; buffIndex < BuffIndex.Count; buffIndex++) { if (BuffCatalog.buffDefs[(int)buffIndex] == null) { Debug.LogWarningFormat("Unregistered buff {0}!", new object[] { Enum.GetName(typeof(BuffIndex), buffIndex) }); } } BuffCatalog.eliteBuffIndices = (from buffDef in BuffCatalog.buffDefs where buffDef.isElite select buffDef.buffIndex).ToArray <BuffIndex>(); }
private bool PerformEquipmentAction(EquipmentIndex equipmentIndex) { if (!NetworkServer.active) { Debug.LogWarning("[Server] function 'System.Boolean RoR2.EquipmentSlot::PerformEquipmentAction(RoR2.EquipmentIndex)' called on client"); return(false); } switch (equipmentIndex) { case EquipmentIndex.CommandMissile: this.remainingMissiles += 12; return(true); case EquipmentIndex.Saw: { Vector3 position = base.transform.position; Ray aimRay = this.GetAimRay(); bool crit = Util.CheckRoll(this.characterBody.crit, this.characterBody.master); ProjectileManager.instance.FireProjectile(Resources.Load <GameObject>("Prefabs/Projectiles/Sawmerang"), aimRay.origin, Util.QuaternionSafeLookRotation(aimRay.direction), base.gameObject, this.characterBody.damage, 0f, crit, DamageColorIndex.Default, null, -1f); return(true); } case EquipmentIndex.Fruit: if (this.healthComponent) { Util.PlaySound("Play_item_use_fruit", base.gameObject); EffectData effectData = new EffectData(); effectData.origin = base.transform.position; effectData.SetNetworkedObjectReference(base.gameObject); EffectManager.SpawnEffect(Resources.Load <GameObject>("Prefabs/Effects/FruitHealEffect"), effectData, true); this.healthComponent.HealFraction(0.5f, default(ProcChainMask)); return(true); } return(true); case EquipmentIndex.Meteor: { MeteorStormController component = UnityEngine.Object.Instantiate <GameObject>(Resources.Load <GameObject>("Prefabs/NetworkedObjects/MeteorStorm"), this.characterBody.corePosition, Quaternion.identity).GetComponent <MeteorStormController>(); component.owner = base.gameObject; component.ownerDamage = this.characterBody.damage; component.isCrit = Util.CheckRoll(this.characterBody.crit, this.characterBody.master); NetworkServer.Spawn(component.gameObject); return(true); } case EquipmentIndex.SoulJar: return(true); case EquipmentIndex.Blackhole: { Vector3 position2 = base.transform.position; Ray aimRay2 = this.GetAimRay(); ProjectileManager.instance.FireProjectile(Resources.Load <GameObject>("Prefabs/Projectiles/GravSphere"), position2, Util.QuaternionSafeLookRotation(aimRay2.direction), base.gameObject, 0f, 0f, false, DamageColorIndex.Default, null, -1f); return(true); } case EquipmentIndex.GhostGun: { GameObject gameObject = UnityEngine.Object.Instantiate <GameObject>(Resources.Load <GameObject>("Prefabs/NetworkedObjects/GhostGun"), base.transform.position, Quaternion.identity); gameObject.GetComponent <GhostGunController>().owner = base.gameObject; NetworkServer.Spawn(gameObject); return(true); } case EquipmentIndex.CritOnUse: this.characterBody.AddTimedBuff(BuffIndex.FullCrit, 8f); return(true); case EquipmentIndex.DroneBackup: { Util.PlaySound("Play_item_use_radio", base.gameObject); int sliceCount = 4; float num = 25f; if (NetworkServer.active) { float y = Quaternion.LookRotation(this.GetAimRay().direction).eulerAngles.y; float d = 3f; foreach (float num2 in new DegreeSlices(sliceCount, 0.5f)) { Quaternion rotation = Quaternion.Euler(0f, y + num2, 0f); Quaternion rotation2 = Quaternion.Euler(0f, y + num2 + 180f, 0f); Vector3 position3 = base.transform.position + rotation * (Vector3.forward * d); CharacterMaster characterMaster = this.SummonMaster(Resources.Load <GameObject>("Prefabs/CharacterMasters/DroneBackupMaster"), position3, rotation2); if (characterMaster) { characterMaster.gameObject.AddComponent <MasterSuicideOnTimer>().lifeTimer = num + UnityEngine.Random.Range(0f, 3f); } } } this.subcooldownTimer = 0.5f; return(true); } case EquipmentIndex.OrbitalLaser: { Vector3 position4 = base.transform.position; RaycastHit raycastHit; if (Physics.Raycast(this.GetAimRay(), out raycastHit, 900f, LayerIndex.world.mask | LayerIndex.defaultLayer.mask)) { position4 = raycastHit.point; } GameObject gameObject2 = (GameObject)UnityEngine.Object.Instantiate(Resources.Load("Prefabs/NetworkedObjects/OrbitalLaser"), position4, Quaternion.identity); gameObject2.GetComponent <OrbitalLaserController>().ownerBody = this.characterBody; NetworkServer.Spawn(gameObject2); return(true); } case EquipmentIndex.BFG: this.bfgChargeTimer = 2f; this.subcooldownTimer = 2.2f; return(true); case EquipmentIndex.Enigma: { EquipmentIndex equipmentIndex2 = EquipmentCatalog.enigmaEquipmentList[UnityEngine.Random.Range(0, EquipmentCatalog.enigmaEquipmentList.Count - 1)]; this.PerformEquipmentAction(equipmentIndex2); return(true); } case EquipmentIndex.Jetpack: { JetpackController jetpackController = JetpackController.FindJetpackController(base.gameObject); if (!jetpackController) { GameObject gameObject3 = UnityEngine.Object.Instantiate <GameObject>(Resources.Load <GameObject>("Prefabs/NetworkedObjects/JetpackController")); jetpackController = gameObject3.GetComponent <JetpackController>(); jetpackController.NetworktargetObject = base.gameObject; NetworkServer.Spawn(gameObject3); return(true); } jetpackController.ResetTimer(); return(true); } case EquipmentIndex.Lightning: { this.UpdateTargets(); HurtBox hurtBox = this.currentTargetHurtBox; if (hurtBox) { this.subcooldownTimer = 0.2f; OrbManager.instance.AddOrb(new LightningStrikeOrb { attacker = base.gameObject, damageColorIndex = DamageColorIndex.Item, damageValue = this.characterBody.damage * 30f, isCrit = Util.CheckRoll(this.characterBody.crit, this.characterBody.master), procChainMask = default(ProcChainMask), procCoefficient = 1f, target = hurtBox }); this.InvalidateCurrentTarget(); return(true); } return(false); } case EquipmentIndex.PassiveHealing: if (this.passiveHealingFollower) { this.UpdateTargets(); this.passiveHealingFollower.AssignNewTarget(this.currentTargetBodyObject); this.InvalidateCurrentTarget(); return(true); } return(true); case EquipmentIndex.BurnNearby: if (this.characterBody) { this.characterBody.AddHelfireDuration(8f); return(true); } return(true); case EquipmentIndex.SoulCorruptor: { this.UpdateTargets(); HurtBox hurtBox2 = this.currentTargetHurtBox; if (!hurtBox2) { return(false); } if (!hurtBox2.healthComponent || hurtBox2.healthComponent.combinedHealthFraction > 0.25f) { return(false); } Util.TryToCreateGhost(hurtBox2.healthComponent.body, this.characterBody, 30); hurtBox2.healthComponent.Suicide(base.gameObject, null, DamageType.Generic); this.InvalidateCurrentTarget(); return(true); } case EquipmentIndex.Scanner: NetworkServer.Spawn(UnityEngine.Object.Instantiate <GameObject>(Resources.Load <GameObject>("Prefabs/NetworkedObjects/ChestScanner"), this.characterBody.corePosition, Quaternion.identity)); return(true); case EquipmentIndex.CrippleWard: NetworkServer.Spawn(UnityEngine.Object.Instantiate <GameObject>(Resources.Load <GameObject>("Prefabs/NetworkedObjects/CrippleWard"), this.characterBody.corePosition, Quaternion.identity)); this.inventory.SetEquipmentIndex(EquipmentIndex.None); return(true); case EquipmentIndex.Gateway: return(this.FireGateway()); case EquipmentIndex.Tonic: this.characterBody.AddTimedBuff(BuffIndex.TonicBuff, EquipmentSlot.tonicBuffDuration); if (!Util.CheckRoll(80f, this.characterBody.master)) { this.characterBody.pendingTonicAfflictionCount++; return(true); } return(true); case EquipmentIndex.QuestVolatileBattery: return(false); case EquipmentIndex.Cleanse: { Vector3 corePosition = this.characterBody.corePosition; EffectData effectData2 = new EffectData { origin = corePosition }; effectData2.SetHurtBoxReference(this.characterBody.mainHurtBox); EffectManager.SpawnEffect(Resources.Load <GameObject>("Prefabs/Effects/CleanseEffect"), effectData2, true); BuffIndex buffIndex = BuffIndex.Slow50; BuffIndex buffCount = (BuffIndex)BuffCatalog.buffCount; while (buffIndex < buffCount) { if (BuffCatalog.GetBuffDef(buffIndex).isDebuff) { this.characterBody.ClearTimedBuffs(buffIndex); } buffIndex++; } DotController.RemoveAllDots(base.gameObject); SetStateOnHurt component2 = base.GetComponent <SetStateOnHurt>(); if (component2) { component2.Cleanse(); } float num3 = 6f; float num4 = num3 * num3; TeamIndex teamIndex = this.teamComponent.teamIndex; List <ProjectileController> instancesList = InstanceTracker.GetInstancesList <ProjectileController>(); List <ProjectileController> list = new List <ProjectileController>(); int i = 0; int count = instancesList.Count; while (i < count) { ProjectileController projectileController = instancesList[i]; if (projectileController.teamFilter.teamIndex != teamIndex && (projectileController.transform.position - corePosition).sqrMagnitude < num4) { list.Add(projectileController); } i++; } int j = 0; int count2 = list.Count; while (j < count2) { ProjectileController projectileController2 = list[j]; if (projectileController2) { UnityEngine.Object.Destroy(projectileController2.gameObject); } j++; } return(true); } case EquipmentIndex.FireBallDash: { Ray aimRay3 = this.GetAimRay(); GameObject gameObject4 = UnityEngine.Object.Instantiate <GameObject>(Resources.Load <GameObject>("Prefabs/NetworkedObjects/FireballVehicle"), aimRay3.origin, Quaternion.LookRotation(aimRay3.direction)); gameObject4.GetComponent <VehicleSeat>().AssignPassenger(base.gameObject); CharacterBody characterBody = this.characterBody; NetworkUser networkUser; if (characterBody == null) { networkUser = null; } else { CharacterMaster master = characterBody.master; if (master == null) { networkUser = null; } else { PlayerCharacterMasterController playerCharacterMasterController = master.playerCharacterMasterController; networkUser = ((playerCharacterMasterController != null) ? playerCharacterMasterController.networkUser : null); } } NetworkUser networkUser2 = networkUser; if (networkUser2) { NetworkServer.SpawnWithClientAuthority(gameObject4, networkUser2.gameObject); } else { NetworkServer.Spawn(gameObject4); } this.subcooldownTimer = 2f; return(true); } case EquipmentIndex.GainArmor: this.characterBody.AddTimedBuff(BuffIndex.ElephantArmorBoost, 5f); return(true); } return(false); }
private static void Init() { BuffCatalog.nameToBuffIndex.Clear(); BuffCatalog.buffDefs = new BuffDef[51]; BuffCatalog.buffCount = BuffCatalog.buffDefs.Length; BuffCatalog.RegisterBuff(BuffIndex.ArmorBoost, new BuffDef { iconPath = "Textures/BuffIcons/texBuffGenericShield", buffColor = new Color(0.8392157f, 0.7882353f, 0.22745098f) }); BuffCatalog.RegisterBuff(BuffIndex.Slow50, new BuffDef { iconPath = "Textures/BuffIcons/texBuffSlow50Icon", buffColor = new Color(0.91764706f, 0.40784314f, 0.41960785f), isDebuff = true }); BuffCatalog.RegisterBuff(BuffIndex.ClayGoo, new BuffDef { iconPath = "Textures/BuffIcons/texBuffSlow50Icon", buffColor = new Color(0.2f, 0.09019608f, 0.09019608f), isDebuff = true }); BuffCatalog.RegisterBuff(BuffIndex.AttackSpeedOnCrit, new BuffDef { iconPath = "Textures/BuffIcons/texBuffAttackSpeedOnCritIcon", buffColor = new Color(0.9098039f, 0.5058824f, 0.23921569f), canStack = true }); BuffCatalog.RegisterBuff(BuffIndex.BeetleJuice, new BuffDef { iconPath = "Textures/BuffIcons/texBuffBeetleJuiceIcon", buffColor = new Color(0.8392157f, 0.7882353f, 0.22745098f), canStack = true, isDebuff = true }); BuffCatalog.RegisterBuff(BuffIndex.OnFire, new BuffDef { iconPath = "Textures/BuffIcons/texBuffOnFireIcon", buffColor = new Color(0.9137255f, 0.37254903f, 0.1882353f), canStack = true }); BuffCatalog.RegisterBuff(BuffIndex.MedkitHeal, new BuffDef { iconPath = "Textures/BuffIcons/texBuffMedkitHealIcon", buffColor = new Color(0.78431374f, 0.9372549f, 0.42745098f) }); BuffCatalog.RegisterBuff(BuffIndex.Warbanner, new BuffDef { iconPath = "Textures/BuffIcons/texBuffWarbannerIcon", buffColor = new Color(0.8392157f, 0.7882353f, 0.22745098f) }); BuffCatalog.RegisterBuff(BuffIndex.EnrageAncientWisp, new BuffDef()); BuffCatalog.RegisterBuff(BuffIndex.Cloak, new BuffDef { iconPath = "Textures/BuffIcons/texBuffCloakIcon", buffColor = new Color(0.3764706f, 0.84313726f, 0.8980392f) }); BuffCatalog.RegisterBuff(BuffIndex.CloakSpeed, new BuffDef { iconPath = "Textures/BuffIcons/texMovespeedBuffIcon", buffColor = new Color(0.3764706f, 0.84313726f, 0.8980392f) }); BuffCatalog.RegisterBuff(BuffIndex.LightningShield, new BuffDef { iconPath = null }); BuffCatalog.RegisterBuff(BuffIndex.FullCrit, new BuffDef { iconPath = "Textures/BuffIcons/texBuffFullCritIcon", buffColor = new Color(0.8392157f, 0.22745098f, 0.22745098f) }); BuffCatalog.RegisterBuff(BuffIndex.AffixPoison, new BuffDef { iconPath = "Textures/BuffIcons/texBuffAffixPoisonIcon", eliteIndex = EliteIndex.Poison }); BuffCatalog.RegisterBuff(BuffIndex.EngiShield, new BuffDef { iconPath = "Textures/BuffIcons/texBuffEngiShieldIcon", buffColor = new Color(0.3764706f, 0.84313726f, 0.8980392f) }); BuffCatalog.RegisterBuff(BuffIndex.BugWings, new BuffDef { iconPath = "Textures/BuffIcons/texMovespeedBuffIcon", buffColor = new Color(0.3764706f, 0.84313726f, 0.8980392f) }); BuffCatalog.RegisterBuff(BuffIndex.TeslaField, new BuffDef { iconPath = "Textures/BuffIcons/texBuffTeslaIcon", buffColor = new Color(0.85882354f, 0.53333336f, 0.9843137f) }); BuffCatalog.RegisterBuff(BuffIndex.WarCryBuff, new BuffDef { iconPath = "Textures/BuffIcons/texWarcryBuffIcon", buffColor = new Color(0.827451f, 0.19607843f, 0.09803922f) }); BuffCatalog.RegisterBuff(BuffIndex.Slow30, new BuffDef { isDebuff = true }); BuffCatalog.RegisterBuff(BuffIndex.EngiTeamShield, new BuffDef()); BuffCatalog.RegisterBuff(BuffIndex.Energized, new BuffDef { iconPath = "Textures/BuffIcons/texBuffWarHornIcon", buffColor = new Color(1f, 0.7882353f, 0.05490196f) }); BuffCatalog.RegisterBuff(BuffIndex.GoldEmpowered, new BuffDef { iconPath = "Textures/BuffIcons/texBuffAttackSpeedOnCritIcon", buffColor = new Color(1f, 0.7882353f, 0.05490196f) }); BuffCatalog.RegisterBuff(BuffIndex.Immune, new BuffDef { iconPath = "Textures/BuffIcons/texBuffGenericShield", buffColor = new Color(1f, 0.7882353f, 0.05490196f) }); BuffCatalog.RegisterBuff(BuffIndex.Cripple, new BuffDef { iconPath = "Textures/BuffIcons/texBuffCrippleIcon", isDebuff = true }); BuffCatalog.RegisterBuff(BuffIndex.Slow80, new BuffDef { iconPath = "Textures/BuffIcons/texBuffSlow50Icon", buffColor = new Color(0.64705884f, 0.87058824f, 0.92941177f), isDebuff = true }); BuffCatalog.RegisterBuff(BuffIndex.Slow60, new BuffDef { iconPath = "Textures/BuffIcons/texBuffSlow50Icon", buffColor = new Color(0.6784314f, 0.6117647f, 0.4117647f), isDebuff = true }); BuffCatalog.RegisterBuff(BuffIndex.AffixRed, new BuffDef { eliteIndex = EliteIndex.Fire, iconPath = "Textures/BuffIcons/texBuffAffixRed" }); BuffCatalog.RegisterBuff(BuffIndex.AffixBlue, new BuffDef { eliteIndex = EliteIndex.Lightning, iconPath = "Textures/BuffIcons/texBuffAffixBlue" }); BuffCatalog.RegisterBuff(BuffIndex.NoCooldowns, new BuffDef { iconPath = "Textures/BuffIcons/texNoCooldownsBuffIcon", buffColor = new Color(0.73333335f, 0.54509807f, 0.9764706f) }); BuffCatalog.RegisterBuff(BuffIndex.AffixWhite, new BuffDef { eliteIndex = EliteIndex.Ice, iconPath = "Textures/BuffIcons/texBuffAffixWhite" }); BuffCatalog.RegisterBuff(BuffIndex.AffixHaunted, new BuffDef { eliteIndex = EliteIndex.Haunted, iconPath = "Textures/BuffIcons/texBuffAffixHaunted" }); BuffCatalog.RegisterBuff(BuffIndex.HiddenInvincibility, new BuffDef { iconPath = "Textures/BuffIcons/texBuffGenericShield", buffColor = new Color(0.54509807f, 0.80784315f, 0.8392157f) }); BuffCatalog.RegisterBuff(BuffIndex.TonicBuff, new BuffDef { iconPath = "Textures/BuffIcons/texBuffTonicIcon" }); BuffCatalog.RegisterBuff(BuffIndex.HealingDisabled, new BuffDef { iconPath = "Textures/BuffIcons/texBuffHealingDisabledIcon", isDebuff = true }); BuffCatalog.RegisterBuff(BuffIndex.Weak, new BuffDef { iconPath = "Textures/BuffIcons/texBuffWeakIcon", isDebuff = true }); BuffCatalog.RegisterBuff(BuffIndex.Entangle, new BuffDef { iconPath = "Textures/BuffIcons/texBuffEntangleIcon", isDebuff = true }); BuffCatalog.RegisterBuff(BuffIndex.Pulverized, new BuffDef { iconPath = "Textures/BuffIcons/texBuffPulverizeIcon", buffColor = new Color(0.9607843f, 0.62352943f, 0.28627452f), isDebuff = true }); BuffCatalog.RegisterBuff(BuffIndex.PulverizeBuildup, new BuffDef { iconPath = "Textures/BuffIcons/texBuffPulverizeIcon", buffColor = new Color(0.61960787f, 0.54901963f, 0.40392157f), canStack = true, isDebuff = true }); BuffCatalog.RegisterBuff(BuffIndex.LoaderOvercharged, new BuffDef { iconPath = "Textures/BuffIcons/texBuffTeslaIcon", buffColor = Color.yellow, canStack = false }); BuffCatalog.RegisterBuff(BuffIndex.LoaderPylonPowered, new BuffDef { iconPath = "Textures/BuffIcons/texBuffTeslaIcon", buffColor = Color.yellow, canStack = false }); BuffCatalog.RegisterBuff(BuffIndex.AffixHauntedRecipient, new BuffDef { iconPath = "Textures/BuffIcons/texBuffCloakIcon", buffColor = new Color(0.3764706f, 0.84313726f, 0.8980392f) }); BuffCatalog.RegisterBuff(BuffIndex.Deafened, new BuffDef { iconPath = "Textures/BuffIcons/texBuffCloakIcon", buffColor = Color.gray }); BuffCatalog.RegisterBuff(BuffIndex.Intangible, new BuffDef { iconPath = null, buffColor = Color.gray }); BuffCatalog.RegisterBuff(BuffIndex.ElephantArmorBoost, new BuffDef { iconPath = "Textures/BuffIcons/texBuffElephantArmorBoostIcon", buffColor = Color.white }); BuffCatalog.RegisterBuff(BuffIndex.NullifyStack, new BuffDef { iconPath = "Textures/BuffIcons/texBuffNullifyStackIcon", buffColor = new Color(0.5176471f, 0.34117648f, 0.70980394f), isDebuff = true, canStack = true }); BuffCatalog.RegisterBuff(BuffIndex.Nullified, new BuffDef { iconPath = "Textures/BuffIcons/texBuffNullifiedIcon", buffColor = new Color(0.79607844f, 0.4745098f, 0.8352941f), isDebuff = true }); BuffCatalog.RegisterBuff(BuffIndex.MeatRegenBoost, new BuffDef { iconPath = "Textures/BuffIcons/texBuffRegenBoostIcon", buffColor = new Color(0.78431374f, 0.9372549f, 0.42745098f), isDebuff = false, canStack = false }); BuffCatalog.RegisterBuff(BuffIndex.NullSafeZone, new BuffDef { iconPath = "Textures/BuffIcons/texBuffNullifiedIcon", buffColor = new Color(0.79607844f, 0.4745098f, 0.8352941f), isDebuff = true }); BuffCatalog.RegisterBuff(BuffIndex.Bleeding, new BuffDef { iconPath = "Textures/BuffIcons/texBuffBleedingIcon", buffColor = new Color(0.67058825f, 0.16862746f, 0.16862746f, 1f), canStack = true }); BuffCatalog.RegisterBuff(BuffIndex.Poisoned, new BuffDef { iconPath = "Textures/BuffIcons/texBuffBleedingIcon", buffColor = new Color(0.7882353f, 0.9490196f, 0.3019608f), canStack = false }); BuffCatalog.RegisterBuff(BuffIndex.WhipBoost, new BuffDef { iconPath = "Textures/BuffIcons/texMovespeedBuffIcon", buffColor = new Color(0.3764706f, 0.84313726f, 0.8980392f) }); for (BuffIndex buffIndex = BuffIndex.Slow50; buffIndex < BuffIndex.Count; buffIndex++) { if (BuffCatalog.buffDefs[(int)buffIndex] == null) { Debug.LogWarningFormat("Unregistered buff {0}!", new object[] { buffIndex.ToString() }); } } BuffCatalog.modHelper.CollectAndRegisterAdditionalEntries(ref BuffCatalog.buffDefs); BuffCatalog.buffCount = BuffCatalog.buffDefs.Length; BuffCatalog.eliteBuffIndices = (from buffDef in BuffCatalog.buffDefs where buffDef.isElite select buffDef.buffIndex).ToArray <BuffIndex>(); }