Beispiel #1
0
        //
        // see Generic.cs for trinket support
        //public static Composite CreateUseTrinketsBehavior()
        //{
        //    return new PrioritySelector(
        //        new Decorator(
        //            ret => SingularSettings.Instance.Trinket1,
        //            new Decorator(
        //                ret => UseTrinket(true),
        //                new ActionAlwaysSucceed())),
        //        new Decorator(
        //            ret => SingularSettings.Instance.Trinket2,
        //            new Decorator(
        //                ret => UseTrinket(false),
        //                new ActionAlwaysSucceed()))
        //        );
        //}

        public static bool RangedIsType(WoWItemWeaponClass wepType)
        {
            var ranged = StyxWoW.Me.Inventory.Equipped.Ranged;

            if (ranged != null && ranged.IsValid)
            {
                return(ranged.ItemInfo != null && ranged.ItemInfo.WeaponClass == wepType);
            }
            return(false);
        }
Beispiel #2
0
 /// <summary>
 /// Checks if a weapon class is in a string, by id or name
 /// </summary>
 /// <param name="clazz">weapon class</param>
 /// <param name="str">string</param>
 /// <returns>yes/no</returns>
 public static bool IsWeaponClassInString(WoWItemWeaponClass clazz, string str)
 {
     if (str.Split(',').Where(slotstr => !string.IsNullOrEmpty(slotstr.Trim())).Any(slotstr =>
                                                                                    ToInteger(slotstr) == (int)clazz ||
                                                                                    string.Equals(clazz.ToString(), slotstr, StringComparison.OrdinalIgnoreCase)))
     {
         return(true);
     }
     return(false);
 }
Beispiel #3
0
 /// <summary>
 /// Checks against settings if we can equip a weapon by it's class
 /// </summary>
 /// <param name="slot">item slot</param>
 /// <param name="clazz">weapon class</param>
 /// <returns>true if we can equip it, false if we can't</returns>
 public static bool CanEquipWeapon(InventorySlot slot, WoWItemWeaponClass clazz)
 {
     // mh
     if (slot == InventorySlot.MainHandSlot && EquipMeSettings.Instance.WeaponMainHand.Trim().Length > 0)
     {
         return(IsWeaponClassInString(clazz, EquipMeSettings.Instance.WeaponMainHand.Trim()));
     }
     // oh
     if (slot == InventorySlot.SecondaryHandSlot && EquipMeSettings.Instance.WeaponOffHand.Trim().Length > 0)
     {
         return(IsWeaponClassInString(clazz, EquipMeSettings.Instance.WeaponOffHand.Trim()));
     }
     // ranged
     if (slot == InventorySlot.RangedSlot && EquipMeSettings.Instance.WeaponRanged.Trim().Length > 0)
     {
         return(IsWeaponClassInString(clazz, EquipMeSettings.Instance.WeaponRanged.Trim()));
     }
     // otherwise we can equip it no probs
     return(true);
 }
Beispiel #4
0
 //
 // see Generic.cs for trinket support
 //public static Composite CreateUseTrinketsBehavior()
 //{
 //    return new PrioritySelector(
 //        new Decorator(
 //            ret => SingularSettings.Instance.Trinket1,
 //            new Decorator(
 //                ret => UseTrinket(true),
 //                new ActionAlwaysSucceed())),
 //        new Decorator(
 //            ret => SingularSettings.Instance.Trinket2,
 //            new Decorator(
 //                ret => UseTrinket(false),
 //                new ActionAlwaysSucceed()))
 //        );
 //}
 public static bool RangedIsType(WoWItemWeaponClass wepType)
 {
     var ranged = StyxWoW.Me.Inventory.Equipped.Ranged;
     if (ranged != null && ranged.IsValid)
     {
         return ranged.ItemInfo != null && ranged.ItemInfo.WeaponClass == wepType;
     }
     return false;
 }
Beispiel #5
0
 /// <summary>
 /// Checks if a weapon class is in a string, by id or name
 /// </summary>
 /// <param name="clazz">weapon class</param>
 /// <param name="str">string</param>
 /// <returns>yes/no</returns>
 public static bool IsWeaponClassInString(WoWItemWeaponClass clazz, string str)
 {
     if (str.Split(',').Where(slotstr => !string.IsNullOrEmpty(slotstr.Trim())).Any(slotstr =>
         ToInteger(slotstr) == (int)clazz ||
         string.Equals(clazz.ToString(), slotstr, StringComparison.OrdinalIgnoreCase)))
     {
         return true;
     }
     return false;
 }
Beispiel #6
0
 /// <summary>
 /// Checks against settings if we can equip a weapon by it's class
 /// </summary>
 /// <param name="slot">item slot</param>
 /// <param name="clazz">weapon class</param>
 /// <returns>true if we can equip it, false if we can't</returns>
 public static bool CanEquipWeapon(InventorySlot slot, WoWItemWeaponClass clazz)
 {
     // mh
     if (slot == InventorySlot.MainHandSlot && EquipMeSettings.Instance.WeaponMainHand.Trim().Length > 0)
     {
         return IsWeaponClassInString(clazz, EquipMeSettings.Instance.WeaponMainHand.Trim());
     }
     // oh
     if (slot == InventorySlot.SecondaryHandSlot && EquipMeSettings.Instance.WeaponOffHand.Trim().Length > 0)
     {
         return IsWeaponClassInString(clazz, EquipMeSettings.Instance.WeaponOffHand.Trim());
     }
     // ranged
     if (slot == InventorySlot.RangedSlot && EquipMeSettings.Instance.WeaponRanged.Trim().Length > 0)
     {
         return IsWeaponClassInString(clazz, EquipMeSettings.Instance.WeaponRanged.Trim());
     }
     // otherwise we can equip it no probs
     return true;
 }