Exemple #1
0
        public void LaunchUsable(string targetname, bool checkrange = false)
        {
            WoWUnit target = null;

            foreach (var i in ObjectManager.GetObjectWoWPlayer())
            {
                if (i.Name.ToLower() == targetname.ToLower())
                {
                    target = i;
                }
            }

            if (ObjectManager.Me.Name.ToLower() == targetname.ToLower())
            {
                target = ObjectManager.Me;
            }

            bool inrange = !checkrange;

            if (!inrange && target != null)
            {
                inrange = WoWAPI.GetDistance(ObjectManager.Me, target) < MaxRange;
            }

            Logging.WriteDebug(string.Format("Casting {0} on {1} ({2}", NameInGame, targetname, target.Guid));

            if (target != null && inrange && !ObjectManager.Me.IsCast && IsSpellUsable && !ObjectManager.Me.HaveBuff("Drink") && !ObjectManager.Me.HaveBuff("Food"))
            {
                string luastring = string.Format("/cast [target={0}] {1}", targetname, this.NameInGame);
                Lua.RunMacroText(luastring);
                Logging.WriteDebug(luastring);
            }
        }
Exemple #2
0
        public bool CanCast(bool checkrange = false)
        {
            bool inrange = !checkrange;

            if (!inrange && WoWAPI.Target != null)
            {
                inrange = WoWAPI.GetDistance(WoWAPI.Player, WoWAPI.Target) < MaxRange;
            }

            if (inrange && !ObjectManager.Me.IsCast && IsSpellUsable && !WoWAPI.Player.HaveBuff("Drink") && !WoWAPI.Player.HaveBuff("Food"))
            {
                return(true);
            }

            return(false);
        }
Exemple #3
0
        public void LaunchUsable(bool self = false, bool checkrange = false)
        {
            bool inrange = !checkrange;

            if (!inrange && WoWAPI.Target != null)
            {
                inrange = WoWAPI.GetDistance(WoWAPI.Player, WoWAPI.Target) < MaxRange;
            }

            if (inrange && !ObjectManager.Me.IsCast && IsSpellUsable && !WoWAPI.Player.HaveBuff("Drink") && !WoWAPI.Player.HaveBuff("Food"))
            {
                if (self)
                {
                    Lua.RunMacroText(string.Format("/cast [@player] {0}", this.NameInGame));
                }
                else
                {
                    Lua.RunMacroText(string.Format("/cast {0}", this.NameInGame));
                }
            }
        }