Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System.Collections.Generic;
- using System.Globalization;
- using System.Linq;
- using System.Media;
- using System;
- using Turbo.Plugins.Default;
- namespace Turbo.Plugins.DAV
- {
- public class DAV_MissingBuffConfig : BasePlugin, ICustomizer {
- public DAV_MissingBuffConfig() {
- Enabled = true;
- }
- public override void Load(IController hud) {
- base.Load(hud);
- }
- public void Customize() {
- var stdSize = 11f / 240f * Hud.Window.Size.Height * 0.85f;
- var Brush_Red = Hud.Render.CreateBrush(240, 255, 51, 51, 1);
- var Brush_Yellow = Hud.Render.CreateBrush(240, 255, 255, 51, 2);
- var Brush_Green = Hud.Render.CreateBrush(240, 51, 51, 255, 2);
- var stdFont = Hud.Render.CreateFont("tahoma", 7, 255, 255, 255, 51, true, true, 255, 255, 51, 51, true);
- Hud.RunOnPlugin<DAV_MissingBuff>(plugin => {
- plugin.GRonly = false;
- plugin.SpeakInterval = 5000; // msecond
- plugin.xPos = Hud.Window.Size.Width * 0.7f;
- plugin.yPos = Hud.Window.Size.Height * 0.35f;
- plugin.partyOffsetX = 0f;
- plugin.partyOffsetY = 0.72f;
- /*
- HeroClass.DemonHunter
- HeroClass.Barbarian
- HeroClass.Wizard
- HeroClass.WitchDoctor
- HeroClass.Monk
- HeroClass.Crusader
- HeroClass.Necromancer
- HeroClass.None (for all class)
- */
- /* plugin.HeroNoBuffList.Add(HeroClass.None, new DAV_NoBuffRule() { // Buff X
- InCombatOnly = true,
- IsRelevant = (player) => , // condition
- IsBuffOn = (player) => player.Powers.BuffIsActive(SNO), // check if buff is on
- IconMsg = (player) => ,
- SpeakEnable = true,
- Message = "",
- warmFont = stdFont,
- IconSize = stdSize,
- Icon_Brush = Brush_Red, // draw 3rd
- Icon_BG = Hud.Texture.InventorySetBackgroundSmall, // draw 1st
- Icon_Texture = Hud.Texture.GetItemTexture(Hud.Sno.SnoItems.P61_Unique_Belt_01) // draw 2nd
- }); */
- // Aquila Cuirass
- plugin.HeroNoBuffList.Add(HeroClass.None, new DAV_NoBuffRule() {
- InCombatOnly = false,
- IsRelevant = (player) => player.Powers.BuffIsActive(449064, 0),
- IsBuffOn = (player) => player.Powers.BuffIsActive(449064, 1),
- // IconMsg = (player) => ,
- SpeakEnable = false,
- Message = "No Energy",
- warmFont = stdFont,
- IconSize = stdSize,
- Icon_Brush = Brush_Red,
- // Icon_BG = Hud.Texture.InventorySetBackgroundSmall,
- Icon_Texture = Hud.Texture.GetTexture(3322046564)
- });
- // Crusader - Akarats Champion
- plugin.HeroNoBuffList.Add(HeroClass.Crusader, new DAV_NoBuffRule() {
- InCombatOnly = true,
- IsRelevant = (player) => player.Powers.UsedSkills.Any(x => x.SnoPower.Sno == 269032),
- IsBuffOn = (player) => player.Powers.BuffIsActive(269032, 1),
- // IconMsg = (player) => ,
- SpeakEnable = false,
- Message = "No Akarats Champion",
- warmFont = stdFont,
- IconSize = stdSize,
- Icon_Brush = Brush_Red,
- // Icon_BG = Hud.Texture.InventorySetBackgroundSmall,
- Icon_Texture = Hud.Texture.GetTexture(3777397019)
- });
- // Crusader - Aegis of Valor, Set 2
- plugin.HeroNoBuffList.Add(HeroClass.Crusader, new DAV_NoBuffRule() {
- InCombatOnly = true,
- IsRelevant = (player) => player.Powers.BuffIsActive(483643, 0),
- IsBuffOn = (player) => player.Powers.GetBuff(483643).IconCounts[1] == 3,
- IconMsg = (player) => player.Powers.GetBuff(483643).IconCounts[1].ToString(),
- SpeakEnable = false,
- Message = "No Heaven Fury Stack",
- warmFont = stdFont,
- IconSize = stdSize,
- Icon_Brush = Brush_Red,
- // Icon_BG = Hud.Texture.InventorySetBackgroundSmall,
- Icon_Texture = Hud.Texture.GetTexture(2206308930)
- });
- // Crusader - Aegis of Valor, Set 4
- plugin.HeroNoBuffList.Add(HeroClass.Crusader, new DAV_NoBuffRule() {
- InCombatOnly = false,
- IsRelevant = (player) => player.Powers.BuffIsActive(483655, 0),
- IsBuffOn = (player) => player.Powers.GetBuff(483655).IconCounts[1] >= 30,
- IconMsg = (player) => "",
- SpeakEnable = false,
- Message = "No Valor Damage Reduction",
- warmFont = stdFont,
- IconSize = stdSize,
- Icon_Brush = Brush_Red,
- // Icon_BG = Hud.Texture.InventorySetBackgroundSmall,
- Icon_Texture = Hud.Texture.GetTexture(3476188190)
- });
- // Monk - Sweeping Wind
- plugin.HeroNoBuffList.Add(HeroClass.Monk, new DAV_NoBuffRule() {
- InCombatOnly = true,
- IsRelevant = (player) => player.Powers.BuffIsActive(478511, 0), // Monkey King Set
- IsBuffOn = (player) => player.Powers.BuffIsActive(96090, 0),
- // IconMsg = (player) => ,
- SpeakEnable = true,
- Message = "No Sweeping Wind",
- warmFont = stdFont,
- IconSize = stdSize,
- Icon_Brush = Brush_Red,
- // Icon_BG = Hud.Texture.InventorySetBackgroundSmall,
- Icon_Texture = Hud.Texture.GetTexture(2500355564)
- });
- // DemonHunter - Unhallowed Essence, Low Discipline
- plugin.HeroNoBuffList.Add(HeroClass.DemonHunter, new DAV_NoBuffRule() {
- InCombatOnly = false,
- IsRelevant = (player) => player.Powers.BuffIsActive(423228, 0), // full set power
- IsBuffOn = (player) => player.Stats.ResourceCurSec > 60, // adjust
- IconMsg = (player) => player.Stats.ResourceCurSec.ToString("F0"),
- SpeakEnable = false,
- Message = "Low Discipline",
- warmFont = stdFont,
- IconSize = stdSize,
- Icon_Brush = Brush_Red,
- // Icon_BG = Hud.Texture.InventorySetBackgroundSmall,
- Icon_Texture = Hud.Texture.GetTexture(3666675121)
- });
- // Nephalem Glory Globes
- plugin.HeroNoBuffList.Add(HeroClass.None, new DAV_NoBuffRule() {
- InCombatOnly = false,
- IsRelevant = (player) => player.Powers.BuffIsActive(300082, 0),
- IsBuffOn = (player) => player.Powers.GetBuff(300082).TimeLeftSeconds[0] > 5,
- IconMsg = (player) => player.Powers.GetBuff(300082).TimeLeftSeconds[0].ToString("F0"),
- SpeakEnable = false,
- Message = "Nephalem Glory",
- warmFont = stdFont,
- IconSize = stdSize,
- Icon_Brush = Brush_Red,
- Icon_BG = Hud.Texture.InventorySetBackgroundSmall,
- Icon_Texture = Hud.Texture.GetTexture(1597362067)
- });
- // Barbarian - Band of Might
- plugin.HeroNoBuffList.Add(HeroClass.Barbarian, new DAV_NoBuffRule() {
- InCombatOnly = true,
- IsRelevant = (player) => player.Powers.BuffIsActive(Hud.Sno.SnoPowers.BandOfMight.Sno, 0),
- IsBuffOn = (player) => player.Powers.BuffIsActive(Hud.Sno.SnoPowers.BandOfMight.Sno, 1),
- // IconMsg = (player) => ,
- SpeakEnable = false,
- Message = "No Band of Might",
- warmFont = stdFont,
- IconSize = stdSize,
- Icon_Brush = Brush_Red,
- Icon_BG = Hud.Texture.InventorySetBackgroundSmall,
- Icon_Texture = Hud.Texture.GetItemTexture(Hud.Sno.SnoItems.P61_Unique_Ring_05)
- });
- // Squirt's Necklace
- plugin.HeroNoBuffList.Add(HeroClass.None, new DAV_NoBuffRule() {
- InCombatOnly = false,
- IsRelevant = (player) => player.Powers.BuffIsActive(Hud.Sno.SnoPowers.SquirtsNecklace.Sno, 0),
- IsBuffOn = (player) => player.Powers.GetBuff(Hud.Sno.SnoPowers.SquirtsNecklace.Sno).IconCounts[5] > 5,
- IconMsg = (player) => player.Powers.GetBuff(Hud.Sno.SnoPowers.SquirtsNecklace.Sno).IconCounts[5].ToString(),
- SpeakEnable = false,
- Message = "No Squirt's Necklace",
- warmFont = stdFont,
- IconSize = stdSize,
- Icon_Brush = Brush_Red,
- Icon_BG = Hud.Texture.InventorySetBackgroundSmall,
- Icon_Texture = Hud.Texture.GetItemTexture(Hud.Sno.SnoItems.P66_Unique_Amulet_010)
- });
- // Bastions of Will
- plugin.HeroNoBuffList.Add(HeroClass.None, new DAV_NoBuffRule() {
- InCombatOnly = true,
- IsRelevant = (player) => player.Powers.BuffIsActive(Hud.Sno.SnoPowers.Generic_ItemPassiveUniqueRing735x1.Sno, 0),
- IsBuffOn = (player) => player.Powers.BuffIsActive(Hud.Sno.SnoPowers.Generic_ItemPassiveUniqueRing735x1.Sno, 1),
- // IconMsg = (player) => ,
- SpeakEnable = false,
- Message = "No Generator",
- warmFont = stdFont,
- IconSize = stdSize,
- Icon_Brush = Brush_Red,
- Icon_BG = Hud.Texture.InventorySetBackgroundSmall,
- Icon_Texture = Hud.Texture.GetItemTexture(Hud.Sno.SnoItems.Unique_Ring_Set_001_x1)
- });
- // Bastions of Will
- plugin.HeroNoBuffList.Add(HeroClass.None, new DAV_NoBuffRule() {
- InCombatOnly = true,
- IsRelevant = (player) => player.Powers.BuffIsActive(Hud.Sno.SnoPowers.Generic_ItemPassiveUniqueRing735x1.Sno, 0),
- IsBuffOn = (player) => player.Powers.BuffIsActive(Hud.Sno.SnoPowers.Generic_ItemPassiveUniqueRing735x1.Sno, 2),
- // IconMsg = (player) => ,
- SpeakEnable = false,
- Message = "No Spender",
- warmFont = stdFont,
- IconSize = stdSize,
- Icon_Brush = Brush_Red,
- Icon_BG = Hud.Texture.InventorySetBackgroundSmall,
- Icon_Texture = Hud.Texture.GetItemTexture(Hud.Sno.SnoItems.Unique_Ring_Set_002_x1)
- });
- // Ignore Pain for Meta
- plugin.HeroNoBuffList.Add(HeroClass.None, new DAV_NoBuffRule() {
- InCombatOnly = true,
- IsRelevant = (player) => Hud.Game.Players.Any(p => p.HeroClassDefinition.HeroClass == HeroClass.Barbarian && p.Powers.UsedSkills.Any(x => x.RuneNameEnglish == "Mob Rule")),
- IsBuffOn = (player) => player.Powers.BuffIsActive(Hud.Sno.SnoPowers.Barbarian_IgnorePain.Sno) || player.Powers.BuffIsActive(Hud.Sno.SnoPowers.Generic_PagesBuffInvulnerable.Sno), // Shield Pylon // from Razorfish
- // IconMsg = (player) => ,
- SpeakEnable = false,
- Message = "No IP",
- warmFont = stdFont,
- IconSize = stdSize,
- Icon_Brush = Brush_Red,
- // Icon_BG = Hud.Texture.InventorySetBackgroundSmall,
- Icon_Texture = Hud.Texture.GetTexture(Hud.Sno.SnoPowers.Barbarian_IgnorePain.Icons[1].TextureId)
- });
- // Necromancer - Dayntee's Binding
- plugin.HeroNoBuffList.Add(HeroClass.Necromancer, new DAV_NoBuffRule() {
- InCombatOnly = true,
- IsRelevant = (player) => player.Powers.BuffIsActive(Hud.Sno.SnoPowers.DaynteesBinding.Sno, 0),
- IsBuffOn = (player) => player.Powers.BuffIsActive(Hud.Sno.SnoPowers.DaynteesBinding.Sno, 1),
- // IconMsg = (player) => ,
- SpeakEnable = false,
- Message = "No Curse",
- warmFont = stdFont,
- IconSize = stdSize,
- Icon_Brush = Brush_Red,
- Icon_BG = Hud.Texture.InventorySetBackgroundSmall,
- Icon_Texture = Hud.Texture.GetItemTexture(Hud.Sno.SnoItems.P61_Unique_Belt_01)
- });
- // Monk - Spirit Guards
- plugin.HeroNoBuffList.Add(HeroClass.Monk, new DAV_NoBuffRule() {
- InCombatOnly = true,
- IsRelevant = (player) => player.Powers.BuffIsActive(Hud.Sno.SnoPowers.SpiritGuards.Sno, 0),
- IsBuffOn = (player) => player.Powers.BuffIsActive(Hud.Sno.SnoPowers.SpiritGuards.Sno, 1),
- // IconMsg = (player) => ,
- SpeakEnable = false,
- Message = "No Spirit Guards",
- warmFont = stdFont,
- IconSize = stdSize,
- Icon_Brush = Brush_Red,
- // Icon_BG = Hud.Texture.InventorySetBackgroundSmall,
- Icon_Texture = Hud.Texture.GetTexture(Hud.Sno.SnoPowers.Monk_WayOfTheHundredFists.Icons[1].TextureId)
- });
- // Wizard - Halo Of Karini
- plugin.HeroNoBuffList.Add(HeroClass.Wizard, new DAV_NoBuffRule() {
- InCombatOnly = true,
- IsRelevant = (player) => player.Powers.BuffIsActive(Hud.Sno.SnoPowers.HaloOfKarini.Sno, 0),
- IsBuffOn = (player) => player.Powers.BuffIsActive(Hud.Sno.SnoPowers.Wizard_StormArmor.Sno, 4),
- // IconMsg = (player) => ,,
- SpeakEnable = false,
- Message = "No Storm Armor",
- warmFont = stdFont,
- IconSize = stdSize,
- Icon_Brush = Brush_Red,
- // Icon_BG = Hud.Texture.InventorySetBackgroundSmall,
- Icon_Texture = Hud.Texture.GetTexture(Hud.Sno.SnoPowers.Wizard_StormArmor.Icons[1].TextureId)
- });
- // Necromancer - Steuart's Greaves
- plugin.HeroNoBuffList.Add(HeroClass.Necromancer, new DAV_NoBuffRule() {
- InCombatOnly = false,
- IsRelevant = (player) => player.Powers.BuffIsActive(Hud.Sno.SnoPowers.SteuartsGreaves.Sno, 0),
- IsBuffOn = (player) => player.Powers.BuffIsActive(Hud.Sno.SnoPowers.SteuartsGreaves.Sno, 1),
- // IconMsg = (player) => ,
- SpeakEnable = false,
- Message = "Blood Rush",
- warmFont = stdFont,
- IconSize = stdSize,
- Icon_Brush = Brush_Yellow,
- // Icon_BG = Hud.Texture.InventorySetBackgroundSmall,
- Icon_Texture = Hud.Texture.GetTexture(Hud.Sno.SnoPowers.Necromancer_BloodRush.NormalIconTextureId)
- });
- // Necromancer - Simulacrum for Rat Run
- /* plugin.HeroNoBuffList.Add(HeroClass.Necromancer, new DAV_NoBuffRule() {
- InCombatOnly = true,
- IsRelevant = (player) => player.Powers.BuffIsActive(Hud.Sno.SnoPowers.ScytheOfTheCycle.Sno, 0) && player.Powers.UsedSkills.Any(x => x.SnoPower.Sno == Hud.Sno.SnoPowers.Necromancer_Simulacrum.Sno),
- IsBuffOn = (player) => player.Powers.BuffIsActive(Hud.Sno.SnoPowers.Necromancer_Simulacrum.Sno, 1),
- // IconMsg = (player) => ,
- SpeakEnable = false,
- Message = "No Simulacrum",
- warmFont = stdFont,
- IconSize = stdSize,
- Icon_Brush = Brush_Yellow,
- // Icon_BG = Hud.Texture.InventorySetBackgroundSmall,
- Icon_Texture = Hud.Texture.GetTexture(Hud.Sno.SnoPowers.Necromancer_Simulacrum.NormalIconTextureId)
- }); */
- // Necromancer - Simulacrum + Land of the Dead for Rat Run
- /* plugin.HeroNoBuffList.Add(HeroClass.Necromancer, new DAV_NoBuffRule() {
- InCombatOnly = true,
- IsRelevant = (player) => player.Powers.BuffIsActive(Hud.Sno.SnoPowers.ScytheOfTheCycle.Sno, 0) && player.Powers.UsedSkills.Any(x => x.SnoPower.Sno == Hud.Sno.SnoPowers.Necromancer_LandOfTheDead.Sno) && player.Powers.UsedSkills.Any(x => x.SnoPower.Sno == Hud.Sno.SnoPowers.Necromancer_Simulacrum.Sno),
- IsBuffOn = (player) => {
- var pSkill = player.Powers.UsedSkills.FirstOrDefault(x => x.SnoPower == Hud.Sno.SnoPowers.Necromancer_LandOfTheDead);
- if (pSkill != null && pSkill.IsOnCooldown) return true;
- pSkill = player.Powers.UsedSkills.FirstOrDefault(x => x.SnoPower == Hud.Sno.SnoPowers.Necromancer_Simulacrum);
- if (pSkill != null && pSkill.IsOnCooldown) return true;
- return false;
- },
- // IconMsg = (player) => ,
- SpeakEnable = false,
- Message = "Can Cast Simulacrum + Lotd",
- warmFont = stdFont,
- IconSize = stdSize,
- Icon_Brush = Brush_Yellow,
- // Icon_BG = Hud.Texture.InventorySetBackgroundSmall,
- Icon_Texture = Hud.Texture.GetTexture(Hud.Sno.SnoPowers.Necromancer_LandOfTheDead.NormalIconTextureId)
- }); */
- // Necromancer - Bone Armor
- plugin.HeroNoBuffList.Add(HeroClass.Necromancer, new DAV_NoBuffRule() {
- InCombatOnly = true,
- IsRelevant = (player) => player.Powers.UsedSkills.Any(x => x.SnoPower.Sno == Hud.Sno.SnoPowers.Necromancer_BoneArmor.Sno),
- IsBuffOn = (player) => player.Powers.BuffIsActive(Hud.Sno.SnoPowers.Necromancer_BoneArmor.Sno),
- // IconMsg = (player) => ,
- SpeakEnable = false,
- Message = "No Bone Armor",
- warmFont = stdFont,
- IconSize = stdSize,
- Icon_Brush = Brush_Red,
- // Icon_BG = Hud.Texture.InventorySetBackgroundSmall,
- Icon_Texture = Hud.Texture.GetTexture(Hud.Sno.SnoPowers.Necromancer_BoneArmor.NormalIconTextureId)
- });
- });
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement