Exemple #1
0
        internal static void UseItem(this Obj_AI_Hero source, string itemName)
        {
            if (source == null || string.IsNullOrEmpty(itemName))
            {
                return;
            }

            var slot = source.GetItemSlot(itemName);

            if (slot != SpellSlot.Unknown && source.CanUseItem(itemName))
            {
                source.SpellBook.CastSpell(slot);
            }
        }
Exemple #2
0
        public static void UseItem(this Obj_AI_Hero source, Obj_AI_Hero target, string itemName)
        {
            if (source == null || target == null || !target.IsValidTarget() || string.IsNullOrEmpty(itemName))
            {
                return;
            }

            var slot = source.GetItemSlot(itemName);

            if (slot != SpellSlot.Unknown && source.CanUseItem(itemName))
            {
                source.SpellBook.CastSpell(slot, target);
            }
        }
Exemple #3
0
        public static void UseItem(this Obj_AI_Hero source, Vector3 position, string itemName)
        {
            if (source == null || position == Vector3.Zero || string.IsNullOrEmpty(itemName))
            {
                return;
            }

            var slot = source.GetItemSlot(itemName);

            if (slot != SpellSlot.Unknown && source.CanUseItem(itemName))
            {
                source.SpellBook.CastSpell(slot, position);
            }
        }
Exemple #4
0
        internal static bool CanUseItem(this Obj_AI_Hero source, string itemName)
        {
            if (source == null || string.IsNullOrEmpty(itemName))
            {
                return(false);
            }

            var slot = source.GetItemSlot(itemName);

            if (slot != SpellSlot.Unknown)
            {
                return(source.SpellBook.GetSpellState(slot) == SpellState.Ready);
            }

            return(false);
        }
Exemple #5
0
        public static bool UseItem(this Obj_AI_Hero source, uint itemID)
        {
            if (source == null)
            {
                return(false);
            }

            var slot = source.GetItemSlot(itemID);

            if (slot != SpellSlot.Unknown && source.CanUseItem(itemID))
            {
                return(source.SpellBook.CastSpell(slot));
            }

            return(false);
        }
Exemple #6
0
        public static bool UseItem(this Obj_AI_Hero source, uint itemID, Vector3 position)
        {
            if (source == null || position == Vector3.Zero)
            {
                return(false);
            }

            var slot = source.GetItemSlot(itemID);

            if (slot != SpellSlot.Unknown && source.CanUseItem(itemID))
            {
                return(source.SpellBook.CastSpell(slot, position));
            }

            return(false);
        }
Exemple #7
0
        public static bool UseItem(this Obj_AI_Hero source, uint itemID, Obj_AI_Base target)
        {
            if (source == null || target == null || !target.IsValidTarget())
            {
                return(false);
            }

            var slot = source.GetItemSlot(itemID);

            if (slot != SpellSlot.Unknown && source.CanUseItem(itemID))
            {
                return(source.SpellBook.CastSpell(slot, target));
            }

            return(false);
        }
Exemple #8
0
        public static bool CanUseItem(this Obj_AI_Hero source, uint itemID)
        {
            if (source == null)
            {
                return(false);
            }

            var slot = source.GetItemSlot(itemID);

            if (slot != SpellSlot.Unknown)
            {
                return(source.SpellBook.GetSpellState(slot) == SpellState.Ready);
            }

            return(false);
        }