Example #1
0
        private void OnWoWChatMessage(object sender, WoWEventHandler.ChatMessageArgs args)
        {
            Application.Current.Dispatcher.BeginInvoke(DispatcherPriority.Normal, (Action)(() =>
            {
                try
                {
                    ChatMessages.Add(args);
                    if (args.ChatChannel == "Say" && BeepSay)
                    {
                        PlayBeep();
                    }
                    if (args.ChatChannel == "Yell" && BeepYell)
                    {
                        PlayBeep();
                    }
                    if (args.Message.ToLower().Contains(Stats.ToonName) && BeepName)
                    {
                        PlayBeep();
                    }

                    if (!LogChat)
                    {
                        return;
                    }
                    args.ToString().Log(LogFiles.ChatLog);
                }
                catch
                {
                }
            }));
        }
Example #2
0
        void OnWoWChatMessage(object sender, WoWEventHandler.ChatMessageArgs args)
        {
            /**
             * "Flash Heal" mana : 380  893-1054 1.5s
             * "Great Heal" mana: 556 1977-2207 2.5s
             * "Heal" mana: 259 783-885 2.5s
             * "Renew" mana: 369 1160-1165 overs 15s
             * "Resurrection" mana 1077 10s
             * "Power Word: Fortitude" mana 1525
             * "Power Word: Shield" mana 450
             * "Divine Spirit" mana 873
             * "Inner Fire" mana 283
             */

            if (args.Message.Contains("HEAL"))
            {
                Common.Instance.DebugMessage("HEAL request for " + args.UnitName);
                if (ObjectManager.Instance.Player.Class == Enums.ClassId.Priest)
                {
                    var partyMember = PartyMembers.Where(x => x.Name == args.UnitName).FirstOrDefault();
                    if (partyMember != null)
                    {
                        ObjectManager.Instance.Player.SetTarget(partyMember.Guid);
                        if (partyMember.DistanceToPlayer > 29f)
                        {
                            Navigation.Instance.Traverse(partyMember.Position);
                        }
                        else
                        {
                            //if (Spell.Instance.IsKnown("Greater Heal") && partyMember.HealthPercent < 50)
                            //    Spell.Instance.Cast("Greater Heal");
                            //else if (Spell.Instance.IsKnown("Heal"))
                            //Spell.Instance.Cast("Heal");
                            //else
                            Spell.Instance.Cast("Heal");
                        }
                        ObjectManager.Instance.Player.SetTarget(null);
                    }
                }
            }
        }