예제 #1
0
 public override bool Activate()
 {
     if (PartyMembers.Where(x => x != null && !x.IsDead).FirstOrDefault() != null)
     {
         return(PartyMembers.Where(x => x != null && !x.IsDead)
                .FirstOrDefault().DistanceToPlayer > 5f);
     }
     return(false);
 }
예제 #2
0
        public void Fight()
        {
            var unit = PartyMembers.Where(x => x != null && x.IsInCombat);

            if (unit != null)
            {
                CustomClasses.Current.Fight(unit);
            }
            else if (ObjectManager.Units.Count() > 0)
            {
                CustomClasses.Current.Fight(ObjectManager.Units.Where(x => x.IsInCombat || x.GotDebuff("Polymorph")));
            }
        }
예제 #3
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);
                    }
                }
            }
        }
예제 #4
0
        public override void Execute()
        {
            Common.Instance.DebugMessage("HEAL");
            var partyMember = PartyMembers.Where(x => NotNullOrDead(x) && x.HealthPercent < 65).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);
            }
        }
예제 #5
0
 public override bool Activate()
 {
     return(ObjectManager.Instance.Player.Class == Enums.ClassId.Priest &&
            ObjectManager.Instance.Player.ManaPercent > 20 &&
            PartyMembers.Where(x => NotNullOrDead(x) && x.HealthPercent < 65).Any());
 }
예제 #6
0
 public override bool Activate()
 {
     return(PartyMembers.Where(x => NotNullOrDead(x) && x.IsInCombat).Any() && !ObjectManager.Instance.Player.IsSwimming);
 }
예제 #7
0
 public override bool Activate()
 {
     return
         (PartyMembers.Where(x => NotNullOrDead(x) && x.IsInCombat).Any());
 }