What's new
  • Visit Rebornbuddy
  • Visit Panda Profiles
  • Visit LLamamMagic
  • Visit Resources
  • Visit Downloads
  • Visit Portal

Honorbuddy has stopped working

Vastico

New Member
Joined
Jul 28, 2011
Messages
424
Reaction score
10
I get this output:

Code:
[21:08:32:121] Exception in CGWorld__TraceLine:Process must have frozen or gotten out of sync; InjectionFinishedEvent was never fired. -    at BlueMagic.ExecutorRand.Execute()
   at Styx.WoWInternals.World.GameWorld.#QJc(WoWPoint from, WoWPoint to, Single distance, CGWorldFrameHitFlags flags, WoWPoint& hitPoint) - Honorbuddy
[21:08:32:151] [LazyRaider] Version 1.1.1 Stopped
[21:08:32:153] Activity: Honorbuddy Stopped
[21:08:32:161] System.ApplicationException: Cannot run Tick before running Start first!
   at TreeSharp.Composite.Tick(Object context)
   at Styx.Logic.BehaviorTree.TreeRoot.Tick()
[21:08:32:161] Cleared POI - Reason Exception in Root.Tick()
[21:08:32:161] Cleared POI

Don't know why ;s

Modified CC:
Code:
using System.Linq;
using Singular.Dynamics;
using Singular.Helpers;
using Singular.Managers;
using Singular.Settings;
using Styx;
using Styx.Combat.CombatRoutine;
using Styx.Logic;
using Styx.Logic.Combat;
using Styx.WoWInternals.WoWObjects;
using TreeSharp;

namespace Singular.ClassSpecific.Paladin
{
    public static class Holy
    {
        [Class(WoWClass.Paladin)]
        [Spec(TalentSpec.HolyPaladin)]
        [Behavior(BehaviorType.Rest)]
        [Context(WoWContext.All)]
        public static Composite CreateHolyPaladinRest()
        {
            return new PrioritySelector(
                // Heal self before resting. There is no need to eat while we have 100% mana
                CreatePaladinHealBehavior(true),
                // Rest up damnit! Do this first, so we make sure we're fully rested.
                Rest.CreateDefaultRestBehaviour(),
                // Can we res people?
                Spell.Resurrect("Redemption"),
                // Make sure we're healing OOC too!
                CreatePaladinHealBehavior(false, false)
            );
        }

        [Class(WoWClass.Paladin)]
        [Spec(TalentSpec.HolyPaladin)]
        [Behavior(BehaviorType.Heal)]
        [Context(WoWContext.All)]
        public static Composite CreateHolyPaladinHealBehavior()
        {
            return new PrioritySelector(CreatePaladinHealBehavior());
        }

        [Class(WoWClass.Paladin)]
        [Spec(TalentSpec.HolyPaladin)]
        [Behavior(BehaviorType.CombatBuffs)]
        [Context(WoWContext.All)]
        public static Composite CreateHolyPaladinCombatBuffsBehavior()
        {
            return new PrioritySelector(
                Spell.BuffSelf(
                    "Divine Plea",
                    ret => StyxWoW.Me.ManaPercent <= SingularSettings.Instance.Paladin.DivinePleaMana && StyxWoW.Me.HealthPercent > 90)
            );
        }

        [Class(WoWClass.Paladin)]
        [Spec(TalentSpec.HolyPaladin)]
        [Behavior(BehaviorType.Combat)]
        [Context(WoWContext.All)]
        public static Composite CreateHolyPaladinCombatBehavior()
        {
            return new PrioritySelector(
                Safers.EnsureTarget(),
                Spell.Cast("Judgement",
                    ret => SpellManager.HasSpell("Judgement") &&
                        !StyxWoW.Me.HasAura("Judgements of the Pure") &&
                        StyxWoW.Me.CurrentTarget.Distance <= SpellManager.Spells["Judgement"].MaxRange - 2 &&
                        StyxWoW.Me.CurrentTarget.InLineOfSight &&
                        StyxWoW.Me.IsSafelyFacing(StyxWoW.Me.CurrentTarget)),
                new Decorator(
                    ret => !StyxWoW.Me.IsInParty && !StyxWoW.Me.IsInRaid,
                    new PrioritySelector(
                        Movement.CreateMoveToLosBehavior(),
                        Movement.CreateFaceTargetBehavior(),
                        Helpers.Common.CreateAutoAttack(true),
                        Helpers.Common.CreateInterruptSpellCast(ret => StyxWoW.Me.CurrentTarget),
                        Spell.Buff("Judgement"),
                        Spell.Cast("Hammer of Wrath"),
                        Spell.Cast("Holy Shock"),
                        Spell.Cast("Crusader Strike"),
                        Spell.Cast("Exorcism"),
                        Spell.Cast("Holy Wrath"),
                        Spell.Cast("Consecration"),
                        Movement.CreateMoveToTargetBehavior(true, 5f)
                        ))
                );
        }

        [Class(WoWClass.Paladin)]
        [Spec(TalentSpec.HolyPaladin)]
        [Behavior(BehaviorType.Pull)]
        [Context(WoWContext.All)]
        public static Composite CreateHolyPaladinPullBehavior()
        {
            return new PrioritySelector(
                new Decorator(
                    ret => !StyxWoW.Me.IsInParty && !StyxWoW.Me.IsInRaid,
                    new PrioritySelector(
                        Movement.CreateMoveToLosBehavior(),
                        Movement.CreateFaceTargetBehavior(),
                        Spell.Cast("Judgement"),
                        Helpers.Common.CreateAutoAttack(true),
                        Movement.CreateMoveToTargetBehavior(true, 5f)
                    )
                )
            );
        }

        internal static Composite CreatePaladinHealBehavior()
        {
            return CreatePaladinHealBehavior(false, true);
        }

        internal static Composite CreatePaladinHealBehavior(bool selfOnly)
        {
            return CreatePaladinHealBehavior(selfOnly, false);
        }

        internal static Composite CreatePaladinHealBehavior(bool selfOnly, bool moveInRange)
        {
            HealerManager.NeedHealTargeting = true;

            return
                new PrioritySelector(
                    ctx => selfOnly ? StyxWoW.Me : HealerManager.Instance.FirstUnit,
                    new Decorator(
                    ret => ret != null,
                        new PrioritySelector(
                            Spell.WaitForCast(),
                // BoL on the tank or myself.
                            Spell.Buff(
                             "Beacon of Light",
                                 ret => RaFHelper.Leader,
                                 ret => RaFHelper.Leader.IsAlive && !RaFHelper.Leader.HasMyAura("Beacon of Light")),
                             Spell.BuffSelf(
                             "Beacon of Light",
                                ret => RaFHelper.Leader == null && !StyxWoW.Me.HasAura("Beacon of Light")),
                // Big Heal
                            Spell.Heal(
                                "Lay on Hands",
                                ret => (WoWUnit)ret,
                                ret => StyxWoW.Me.Combat && !((WoWUnit)ret).HasAura("Forbearance") &&
                                       ((WoWUnit)ret).HealthPercent <= SingularSettings.Instance.Paladin.LayOnHandsHealth),
                // Cleanse
                            Spell.Buff(
                                "Cleanse",
                                ret => (WoWUnit)ret,
                                ret => SingularSettings.Instance.DispelPlayers && Dispelling.CanDispelUnit((WoWUnit)ret)),
                // Protection Cooldowns
                            Spell.Buff(
                                "Hand of Sacrifice",
                                ret => RaFHelper.Leader,
                                ret => SingularSettings.Instance.Paladin.HandOfSacrifice && RaFHelper.Leader.HealthPercent <= SingularSettings.Instance.Paladin.HandOfSacrificeHealthHoly && !RaFHelper.Leader.IsMe && !RaFHelper.Leader.Dead && !RaFHelper.Leader.IsGhost),
                            Spell.BuffSelf(
                                "Divine Protection",
                                ret => SingularSettings.Instance.Paladin.DivineProtection && StyxWoW.Me.HealthPercent <= SingularSettings.Instance.Paladin.DivineProtectionHealthHoly),
                            Spell.BuffSelf(
                                "Divine Plea",
                                ret => StyxWoW.Me.ManaPercent <= SingularSettings.Instance.Paladin.DivinePleaMana && StyxWoW.Me.HealthPercent > 85),
                // Cooldowns
                            Spell.BuffSelf(
                                "Divine Favor",
                                ret => (!SingularSettings.Instance.Paladin.DivineFavorExclusive || (!StyxWoW.Me.HasAura("Guardian of Ancient Kings") && !StyxWoW.Me.HasAura("Avenging Wrath") && !StyxWoW.Me.HasAura("Divine Plea"))) &&
                                    Unit.NearbyUnfriendlyUnits.Count(u => u.Distance < 40 && u.HealthPercent < SingularSettings.Instance.Paladin.DivineFavorHealth) >= SingularSettings.Instance.Paladin.DivineFavorMembers),
                            Spell.BuffSelf(
                                "Avenging Wrath",
                                ret => (!SingularSettings.Instance.Paladin.AvengingWrathExclusive || (!StyxWoW.Me.HasAura("Guardian of Ancient Kings") && !StyxWoW.Me.HasAura("Divine Favor") && !StyxWoW.Me.HasAura("Divine Plea"))) &&
                                    Unit.NearbyUnfriendlyUnits.Count(u => u.Distance < 40 && u.HealthPercent < SingularSettings.Instance.Paladin.AvengingWrathHealth) >= SingularSettings.Instance.Paladin.AvengingWrathMembers),
                            Spell.Cast(
                                "Guardian of Ancient Kings",
                                ret => (!SingularSettings.Instance.Paladin.GoAKExclusive || (!StyxWoW.Me.HasAura("Avenging Wrath") && !StyxWoW.Me.HasAura("Divine Favor") && !StyxWoW.Me.HasAura("Divine Plea"))) &&
                                    Unit.NearbyUnfriendlyUnits.Count(u => u.Distance < 40 && u.HealthPercent < SingularSettings.Instance.Paladin.GoAKHealthHoly) >= SingularSettings.Instance.Paladin.GoAKMembers),
                // LoD and WoG need to be used every time we get 3 HP.  LoD if AOE, WoG if single target.
                            Spell.Cast(
                                "Light of Dawn",
                                ret => StyxWoW.Me,
                                ret => StyxWoW.Me.CurrentHolyPower == 3 &&
                                    Clusters.GetClusterCount((WoWPlayer)ret, Unit.NearbyFriendlyPlayers.Where(p => !p.Dead && !p.IsGhost && p.HealthPercent <= SingularSettings.Instance.Paladin.LightOfDawnHealth).Cast<WoWUnit>(), ClusterType.Cone, 30f) >= SingularSettings.Instance.Paladin.LightOfDawnCount),
                
                            Spell.Heal(
                                "Word of Glory",
                                ret => (WoWUnit)ret,
                                ret => StyxWoW.Me.CurrentHolyPower == 3 && ((WoWUnit)ret).HealthPercent <= SingularSettings.Instance.Paladin.WordOfGloryHealth),
                
                // Big AoE
                            Spell.Cast(
                                "Holy Radiance",
                                ret => Clusters.GetBestUnitForCluster(Unit.NearbyFriendlyPlayers.Cast<WoWUnit>(), ClusterType.Radius, 10f),
                                ret => Clusters.GetClusterCount((WoWPlayer)ret, Unit.NearbyFriendlyPlayers.Where(p => !p.Dead && !p.IsGhost && p.HealthPercent <= SingularSettings.Instance.Paladin.LightOfDawnHealth).Cast<WoWUnit>(), ClusterType.Radius, 10f) >= SingularSettings.Instance.Paladin.LightOfDawnCount),
                            
                // Use on CD
                            Spell.Heal(
                                "Holy Shock",
                                ret => (WoWUnit)ret,
                                ret => ((WoWUnit)ret).HealthPercent <= SingularSettings.Instance.Paladin.HolyShockHealth),
                // Fast Heal - Lots of Mana
                            Spell.Heal(
                                "Flash of Light",
                                ret => (WoWUnit)ret,
                                ret => ((WoWUnit)ret).HealthPercent <= SingularSettings.Instance.Paladin.FlashOfLightHealth),
                // Big Heal - Lots of Mana
                            Spell.Heal(
                                "Divine Light",
                                ret => (WoWUnit)ret,
                                ret => ((WoWUnit)ret).HealthPercent <= SingularSettings.Instance.Paladin.DivineLightHealth),
                // The Heal
                            Spell.Heal(
                                "Holy Light",
                                ret => (WoWUnit)ret,
                                ret => ((WoWUnit)ret).HealthPercent <= SingularSettings.Instance.Paladin.HolyLightHealth),

                            new Decorator(
                                ret => moveInRange,
                                new PrioritySelector(
                // Get in range and los
                                    Movement.CreateMoveToLosBehavior(ret => (WoWUnit)ret),
                                    Movement.CreateMoveToTargetBehavior(true, 35f, ret => (WoWUnit)ret)))
                            )));
        }
    }
}
 
I admire your sense of wanting the full log but I cannot upload the log as it's too big due to the Singular Debug.
 
Back
Top