Esempio n. 1
0
        public static Composite CreateEnhancementShamanPreCombatBuffs()
        {
            return(new PrioritySelector(

                       new Decorator(
                           ret => !Item.HasWeaponImbue(WoWInventorySlot.MainHand, "Windfury") && SpellManager.HasSpell("Windfury Weapon") &&
                           SpellManager.CanCast("Windfury Weapon", null, false, false),
                           new Sequence(
                               new Action(ret => Lua.DoString("CancelItemTempEnchantment(1) CancelItemTempEnchantment(2)")),
                               new Action(ret => Logger.Write("Imbuing main hand weapon with Windfury")),
                               new Action(ret => SpellManager.Cast("Windfury Weapon", null)))),
                       new Decorator(
                           ret => !Item.HasWeaponImbue(WoWInventorySlot.MainHand, "Flametongue") && !SpellManager.HasSpell("Windfury Weapon") &&
                           SpellManager.CanCast("Flametongue Weapon", null, false, false),
                           new Sequence(
                               new Action(ret => Lua.DoString("CancelItemTempEnchantment(1) CancelItemTempEnchantment(2)")),
                               new Action(ret => Logger.Write("Imbuing main hand weapon with Flametongue")),
                               new Action(ret => SpellManager.Cast("Flametongue Weapon", null)))),
                       new Decorator(
                           ret => StyxWoW.Me.Inventory.Equipped.OffHand != null &&
                           StyxWoW.Me.Inventory.Equipped.OffHand.ItemInfo.ItemClass == WoWItemClass.Weapon &&
                           !Item.HasWeaponImbue(WoWInventorySlot.OffHand, "Flametongue") &&
                           StyxWoW.Me.Inventory.Equipped.MainHand != null && StyxWoW.Me.Inventory.Equipped.MainHand.TemporaryEnchantment != null &&
                           SpellManager.CanCast("Flametongue Weapon", null, false, false),
                           new Sequence(
                               new Action(ret => Lua.DoString("CancelItemTempEnchantment(2)")),
                               new Action(ret => Logger.Write("Imbuing off hand weapon with Flametongue")),
                               new Action(ret => SpellManager.Cast("Flametongue Weapon", null)))),

                       Spell.Cast("Lightning Shield", ret => StyxWoW.Me, ret => !StyxWoW.Me.HasAura("Lightning Shield", 2)),
                       new Decorator(ret => Totems.NeedToRecallTotems,
                                     new Action(ret => Totems.RecallTotems()))
                       ));
        }
Esempio n. 2
0
        public static Composite CreateShamanElementalPreCombatBuffs()
        {
            return(new PrioritySelector(
                       Common.CreateShamanImbueMainHandBehavior(Imbue.Flametongue),

                       Spell.BuffSelf("Lightning Shield"),

                       new Decorator(ret => Totems.NeedToRecallTotems,
                                     new Action(ret => Totems.RecallTotems()))
                       ));
        }
Esempio n. 3
0
        public static Composite CreateElementalShamanPreCombatBuffs()
        {
            return(new PrioritySelector(
                       new Decorator(
                           ret => !Item.HasWeaponImbue(WoWInventorySlot.MainHand, "Flametongue") && SpellManager.HasSpell("Flametongue Weapon") &&
                           SpellManager.CanCast("Flametongue Weapon", null, false, false),
                           new Sequence(
                               new Action(ret => Lua.DoString("CancelItemTempEnchantment(1)")),
                               new Action(ret => Logger.Write("Imbuing main hand weapon with Flametongue")),
                               new Action(ret => SpellManager.Cast("Flametongue Weapon", null))
                               )),

                       Spell.Cast("Lightning Shield", ret => StyxWoW.Me, ret => !StyxWoW.Me.HasAura("Lightning Shield", 2)),
                       new Decorator(ret => Totems.NeedToRecallTotems,
                                     new Action(ret => Totems.RecallTotems()))
                       ));
        }