Jump to content

vanbotter

Members
  • Posts

    65
  • Joined

  • Last visited

File Comments posted by vanbotter

  1. Added this to the buff section and defined at the top. consume shadows is to heal the pet, if on autocast it consumes a lot of pet mana. Pet casts it way way too often. If not on auto cast pet sometimes dies if theres a lot of mobs around. this will make it cast consume shadows out of combat if <30% life

     

            // Consume Shadows
            if (ConsumeShadows.KnownSpell && !ObjectManager.Pet.HaveBuff("Consume Shadows") && ObjectManager.Pet.HealthPercent <=30 && ObjectManager.Pet.IsValid && ObjectManager.Me.IsAlive )
            {
                ConsumeShadows.Launch();
            }

  2. Had a little play with the main combat call loop too. I noticed i was pulling aggro too much and ending up having to eat a lot (even though im specced 19 points in demonology). This costs a lot of money leveling.... this seems to work quite well.

    Originally, after the pet attacking i made it sleep for 3s. Trouble is if something else attacks you, you do nothing for 3s... also sometimes your pet is more than 3s away. Its bloody slow that voidwalker! ...so that's commented out now.

    I added in the target is <=99% life so actually we don't start fighting unless the target has been hit by your voidwalker. this makes it really hard to pull aggro off it. you're not gaining aggro while the voidy walks that 20+ yards after you've cast COA anymore.

    I then added in another call to the combat rotation for if enemies attacking me is >0, meaning we pulled something so else somehow so we best fight straight away!

    What is weird is, the condition fight.infight should already behave like this but it doesn't. I think whats happening is as soon as the voidwalker is engaged with petattack then the fight.infight is already returning a positive so the bot is launching the combatrotation.

    Thank you so much for this FC though, much better than the Fight Class Creator thing i was messing around with before. Shame Drain Soul talent is bugged to only trigger if the killing blow is done by the drain soul damage, not other dots or pet. Means its pointless coding it in or using it.

     

    if (!ObjectManager.Me.IsDeadMe)
                        {
                            PetManager();
                            Buff();
                            Healstone();
                            UseScroll();
                            if (ObjectManager.Pet.IsValid && ObjectManager.Me.Target > 0 && ObjectManager.Target.IsAttackable)
                            {
                                Lua.LuaDoString("PetAttack();");
                                //Thread.Sleep(Usefuls.Latency + 3000);
                            }
                            if (Fight.InFight && ObjectManager.Me.Target > 0 && ObjectManager.Target.HealthPercent <= 99) //Check mob is <100% life to ensure pet has got to and hitting mob
                            {
                                CombatRotation();
                            }
                            
                            //incase we pull by accident
                            if (EnemiesAttackingMeCount() > 0) //something attacking me already? lets do this!
                            {
                                CombatRotation();
                            }
                        }

     

     

     

    Lastly, i added in another drain life call, basically, pet has aggro the whole fight now so if somehow we're a bit low on life then lets take some of the mobs down until shadowburn criteria is hit. By the time it gets to us, it'll be in shadowburn territory. 

     

            //if target isn't hitting us and its low on health, lets take some!
            if (DrainLife.KnownSpell && ObjectManager.Me.ManaPercentage > 40 && ObjectManager.Me.HealthPercent <= 80 && ObjectManager.Target.HealthPercent >= 15 && ObjectManager.Target.HealthPercent <= 30 && ObjectManager.Target.GetDistance < 24 && ObjectManager.Target.IsTargetingMe)
            {
                DrainLife.Launch();
                Thread.Sleep(Usefuls.Latency);
                Usefuls.WaitIsCasting();

             }

  3. Can i also suggest this change, adding fight.infight to the life-tap in the buff section. Otherwise he stands up and starts life tapping while drinking/eating ?

     

    		// Lifetap
            if (LifeTap.KnownSpell && ObjectManager.Me.HealthPercent >= 60 && ObjectManager.Me.ManaPercentage < 40 && Fight.InFight)
            {
             
    			LifeTap.Launch();
    		
            }

     

  4. Heya Eeny

    Great profile, there is 1 thing i can see missing... can we have the voidwalker cast suffering please when there's 2 mobs within 10 yards of the player? or even if just when there's 2 mobs would be nice so he tanks them both ?

    Ta

    VB

     

    Edit:

     

    I added suffering into the multi mob combat section and defined it at the top, seems to work, although void walker is often very low on mana so can't really cast it.

     

            //if one or more mobs on us and we're fairly healthly, target & pet attack
            if (EnemiesAttackingMeCount() >= 1 && ObjectManager.Me.HealthPercent <= 60 && ObjectManager.Pet.IsAlive) {
                //Target closest enemy attacking us
                var closestEnemy = ObjectManager.GetWoWUnitHostile().Where(e => e.IsAttackable && e.IsTargetingMe).OrderBy(e => e.GetDistance2D).FirstOrDefault();
                if (closestEnemy != null) {
                    Logging.Write("Targeting closest enemy, lets see what happens");
                    Interact.InteractGameObject(closestEnemy.GetBaseAddress);
                    System.Threading.Thread.Sleep(400);
                    Lua.LuaDoString("PetAttack();");    
                    Suffering.Launch();
                    System.Threading.Thread.Sleep(700);
                }        
            }

  5. 2 hours ago, Marsbar said:

    Thanks buddy, I'm glad you've been enjoying my other plugin, this actually has that same functionality you're suggesting. It draws a red line to players of the opposite faction and they're marked in orange. It doesn't have the search radius though as generally the draw distance on private servers is quite low.

    Looking forward to the servers coming back up to have a whirl! ? 

    I think i was having a moment of blindness when I commented last since you do say:

    Quote

    It also tracks players of the opposite faction in Orange.

    Ha.

    Thanks as always! ?

  6. This is brilliant! Great to use on my 60's! I don't like to bot on them but anything like this that helps turn wRobot more useful at 60 is great!

    I'm going to be cheeky and ask if you could also implement player tracking as an option in the settings?

    This draws lines from yourself to all enemy players within radius of "AggroMonitorSetting" It draws green lines from player to enemies and red lines from enemies to their targets... so you know if they're targetting you. 

    If not, no worries, but would be nice to be able to run just 1 plugin rather than 2 ?

     

     

        public void Monitor()
        {
            try
            {
                if (Conditions.InGameAndConnectedAndAliveAndProductStarted && _isLaunched)
                {
                    foreach (WoWUnit Mob in ObjectManager.GetObjectWoWPlayer().Where(x => x.IsAlliance && x.GetDistance2D < AggroMonitorSettings.CurrentSetting.SearchRange && ObjectManager.Target.TargetObject != null))
                    {
                        Radar3D.DrawCircle(ObjectManager.Target.Position, 1f, System.Drawing.Color.Red, true);
                        Radar3D.DrawLine(Mob.Position, Mob.TargetObject.Position, System.Drawing.Color.Red);
                        Radar3D.DrawCircle(Mob.TargetObject.Position, 0.5f, System.Drawing.Color.LightBlue, false);
                        Radar3D.DrawLine(Mob.Position, ObjectManager.Me.Position, System.Drawing.Color.Green);
                    }
                }
            }
            catch
            {
                Logging.Write("Error");
            }
        }

     

  7. Great fightclass. Very efficient. A bit of an issue with the wand sometimes it seems to bug and he's spamming shoot repeatedly so he interrupts himself and isn't able to get a shoot off. This repeats until he needs to do a new action (heal/shield etc)

    anyone wanting to have him keep shield up out of combat can add this:

     

    if (Shield.KnownSpell && !ObjectManager.Me.HaveBuff("Power Word: Shield") && ObjectManager.Me.ManaPercentage > 70 && !ObjectManager.Me.HaveBuff("Weakened Soul"))
            {
                Interact.InteractGameObject(ObjectManager.Me.GetBaseAddress);
                Shield.Launch();
            }

    Modify the mana% as required.

    Into the Buff routine so it reads like this instead:

     

        public void Buff()
        {
            if (Shield.KnownSpell && !ObjectManager.Me.HaveBuff("Power Word: Shield") && ObjectManager.Me.ManaPercentage > 70 && !ObjectManager.Me.HaveBuff("Weakened Soul"))
            {
    			Interact.InteractGameObject(ObjectManager.Me.GetBaseAddress);
                Shield.Launch();
            }
    		if (PowerWordFortitude.KnownSpell && !ObjectManager.Me.HaveBuff("Power Word: Fortitude") && ObjectManager.Me.ManaPercentage > 65)
            {
    			Interact.InteractGameObject(ObjectManager.Me.GetBaseAddress);
                PowerWordFortitude.Launch();
            }
            if (InnerFire.KnownSpell && !ObjectManager.Me.HaveBuff("Inner Fire") && ObjectManager.Me.ManaPercentage > 65)
            {
                InnerFire.Launch();
            }
            if (ShadowProtection.KnownSpell && !ObjectManager.Me.HaveBuff("Shadow Protection") && ObjectManager.Me.ManaPercentage > 65)
            {
    			Interact.InteractGameObject(ObjectManager.Me.GetBaseAddress);
                ShadowProtection.Launch();
            }
            if (Shadowform.KnownSpell && !ObjectManager.Me.HaveBuff("Shadowform"))
            {
                Shadowform.Launch();
            }
            if (Renew.KnownSpell && !ObjectManager.Me.HaveBuff("Renew") && !ObjectManager.Me.HaveBuff("Shadowform") && ObjectManager.Me.HealthPercent <= 70  && ObjectManager.Me.ManaPercentage > 10)
            {
    			Interact.InteractGameObject(ObjectManager.Me.GetBaseAddress);
                Renew.Launch();
            }
        }

     

  8. On 11/12/2018 at 5:00 AM, TheSuckler said:

    Hey mate I've tried this with both your FC and EENYs but there are times when I heal in combat and after the animation the bot just stands there and will not begin auto attacking until it dies from being oom and unable to heal. Do you know a solution for this? It doesn't happen every time but enough to make it annoying.... Cheers!

     

    There's an addon called DefendYourself 

    I highly recommend that. It auto engages auto attack when you're in combat. It's probably something to do with the bot not having enough mana to cast any combat abilities but somehow turning off auto attack... so never ends up attacking again. 

    DefendYourself should solve that. use /DY on a command line and untick the "ignore yellow mobs" as well, otherwise it ignores yellow mobs ofc ?

  9. Works perfectly now! thank you very much @Marsbar

    So many times i have to run my bots around manually because they've failed to grab flight masters etc. Always been a huge annoyance that it's botted and im having to run manually around with em. 

    Can't wait to see you add the other functionality like class trainer types etc ? 

    Amazing work. 

    Double click on the map to travel, which is built in, is useless because 1) it stops to fight and doesn't resume travel, and 2) if you click on a place it can't get, it gets as near as possible and runs into a wall repeatedly!

     

  10. 20 minutes ago, Marsbar said:

    No, it's encrypted so it goes off to get the code. Just uploaded one more version before I'm lost, could you retest?

    Clever ?

    Sadly the same error message though. Let me teamviewer onto my home PC and load wrobot on there with it, see how that works. 

     

    edit: damn, it's gone offline. Must have slept (was encoding video on it this morning). I can do it tonight.

  11. @eeny

    Have you had much luck getting a cure poison/disease script going?

     

    /run for i = 1, 16 do local debuffTexture, debuffApplications, debuffDispelType = UnitDebuff("player", i); if debuffDispelType =("Poison") then castspellbyname("Cure Poison");end end

     

    I've tried that but it's not quite right, 

     

    /run for i = 1, 16 do local debuffTexture, debuffApplications, debuffDispelType = UnitDebuff("player", i)

     

    This section will successfully return poison/disease/curse but i can't get any of the LUA functions within the fight class editor to act upon the return value. 

    Other issue is how often do you call it? I was thinking of calling it on a timer, 10 seconds or so. Cant have the bot continuously run that code checking for potential debuff.

     

  12. Modified a bit which suits me better. Uses Lesser Healing Wave rather than Healing wave... getting a healing wave off when fighting beasts as enhancement is hard, especially Ghost Wolf Alphas that hit crazy fast. 

    Would recommend setting Healing Wave as food until you get LHW and use that. 

    Bot has no downtime from my experience, If it has a lot of mana it does more dps (Earth shocks and LS), on the next fight if it has less mana it plays more conservative so the fight after it is back to full dps mode. 

    Thanks @eeny for the original. 

     

     

    image.thumb.png.49bfc1f2030b408a3b8592dd2e577796.png

    Shaman_Enh_lvling.xml

  13. Heya @eeny

     

    Fantastic profile! Just one thing I'd add... can you make it stay cat + prowl when it's doing regen? Do you know how to make it /sit when doing regen so it gains the 33% faster health regeneration from sitting? 

    Prefer not to use food/water. Bit too expensive ?

    Thanks!

     

×
×
  • Create New...