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

Register a free account today to become a member! Once signed in, you'll be able to participate on this site by adding your own topics and posts, as well as connect with other members through your own private inbox!

Fight at Joe's - 2.0

Status
Not open for further replies.
Here's the spec I've come up with for Telekinetic Sorc. It still doesn't use quake to pull groups of over 3 (which would be ideal) and I think down the line I'm probably going to tweak with cast order in an attempt to optimize further but as it is right now this is a pretty solid routine for TK sage and it's ready to be added. I also plan on adding the condition to not cast Mental Alacrity when they're below 30% hp because that's a total waste.:

Code:
public static void TelekineticsCombat()
        {

            WaitForCast();
            datLCL = DateTime.Now;

            Thread.Sleep(200);
            LoadVars();
            if (!TargetInCombat()) return;

            if (MercCast("Force Valor", !MyBuffs.Contains("Force Valor"))) return;
	if (!CT.InCombat)
                {
                    while (CT.Distance > 2.0f) MoveTo(CT, 2.0f);
                    if (MercCast("Force Armor", !BuddyTor.Me.HasDebuff("Force-imbalance"))) return;
			if (MercCast("Forcequake", UseAOE && TWR30 > 2)) return;
			if (MercCast("Mind Crush", StrongOrGreater(CT))) return;
                    MercCast("Disturbance");
                }
                MoveTo(CT, 2.8f);
		if (MercCast("Force Armor", !BuddyTor.Me.HasDebuff("Force-imbalance"))) return;
                if (MercCast("Force Mend", HP <= 80)) return;
                if (MercCast("Deliverance", MyBuffs.Contains("Mental Alacrity") && HP <= 60)) return;
		if (MercCast("Benevolence", HP <= 60)) return;
		
		
		
                if (MedicineCheckCompHealth()) return;

                //if (BGHeals(85f)) return;
                if (BGCheckCompHealth()) return;

                Thread.Sleep(100);

                
                if (MercCast("Force of Will", BuddyTor.Me.IsStunned)) return;

                if (!TargetInCombat()) return;

                if (MercCast("Mind Snap", TC)) return;
                if (MercCast("Force Stun", StrongOrGreater(CT))) return;

                if (MercCast("Force Potency")) return;
                



                
                

                
                if (MercCast("Noble Sacrafice", RS >= 20)) return;

                {
                    if (MercCast("Weaken Mind", StrongOrGreater(CT) && !CTDebuffs.Contains("Weaken Mind"))) return;
                    if (MercCast("Force Wave", TD <= .6f)) return;
		if (MercCast("Turbulence", CTDebuffs.Contains("Weaken Mind"))) return;    
		if (MercCast("Telekinetic Wave", MyBuffs.Contains("Tidal Force"))) return;
		    if (MercCast("Telekinetic Throw", MyBuffs.Contains("Psychic Projection"))) return;
		    if (MercCast("Disturbance", MyBuffs.Contains("Mental Alacrity"))) return;
                    if (MercCast("Project")) return;
                    if (MercCast("Telekinetic Throw", !StrongOrGreater(CT) && THP <= 30f)) return;
                    if (MercCast("Mental Alacrity", StrongOrGreater(CT))) return;
		    if (MercCast("Disturbance")) return;                  

                }
		if (SeerCheckCompHealth()) return;

            if (!IG && BuddyTor.Me.IsMoving) StopMoving();


        }
 
Here's the spec I've come up with for Telekinetic Sorc. It still doesn't use quake to pull groups of over 3 (which would be ideal) and I think down the line I'm probably going to tweak with cast order in an attempt to optimize further but as it is right now this is a pretty solid routine for TK sage and it's ready to be added. I also plan on adding the condition to not cast Mental Alacrity when they're below 30% hp because that's a total waste.:

Code:
public static void TelekineticsCombat()



        {

            WaitForCast();
            datLCL = DateTime.Now;

            Thread.Sleep(200);
            LoadVars();
            if (!TargetInCombat()) return;

            if (MercCast("Force Valor", !MyBuffs.Contains("Force Valor"))) return;
	if (!CT.InCombat)
                {
                    while (CT.Distance > 2.0f) MoveTo(CT, 2.0f);
                    if (MercCast("Force Armor", !BuddyTor.Me.HasDebuff("Force-imbalance"))) return;
			if (MercCast("Forcequake", UseAOE && TWR30 > 2)) return;
			if (MercCast("Mind Crush", StrongOrGreater(CT))) return;
                    MercCast("Disturbance");
                }
                MoveTo(CT, 2.8f);
		if (MercCast("Force Armor", !BuddyTor.Me.HasDebuff("Force-imbalance"))) return;
                if (MercCast("Force Mend", HP <= 80)) return;
                if (MercCast("Deliverance", MyBuffs.Contains("Mental Alacrity") && HP <= 60)) return;
		if (MercCast("Benevolence", HP <= 60)) return;
		
		
		
                if (MedicineCheckCompHealth()) return;

                //if (BGHeals(85f)) return;
                if (BGCheckCompHealth()) return;

                Thread.Sleep(100);

                
                if (MercCast("Force of Will", BuddyTor.Me.IsStunned)) return;

                if (!TargetInCombat()) return;

                if (MercCast("Mind Snap", TC)) return;
                if (MercCast("Force Stun", StrongOrGreater(CT))) return;

                if (MercCast("Force Potency")) return;
                



                
                

                
                if (MercCast("Noble Sacrafice", RS >= 20)) return;

                {
                    if (MercCast("Weaken Mind", StrongOrGreater(CT) && !CTDebuffs.Contains("Weaken Mind"))) return;
                    if (MercCast("Force Wave", TD <= .6f)) return;
		if (MercCast("Turbulence", CTDebuffs.Contains("Weaken Mind"))) return;    
		if (MercCast("Telekinetic Wave", MyBuffs.Contains("Tidal Force"))) return;
		    if (MercCast("Telekinetic Throw", MyBuffs.Contains("Psychic Projection"))) return;
		    if (MercCast("Disturbance", MyBuffs.Contains("Mental Alacrity"))) return;
                    if (MercCast("Project")) return;
                    if (MercCast("Telekinetic Throw", !StrongOrGreater(CT) && THP <= 30f)) return;
                    if (MercCast("Mental Alacrity", StrongOrGreater(CT))) return;
		    if (MercCast("Disturbance")) return;                  

                }
		if (SeerCheckCompHealth()) return;

            if (!IG && BuddyTor.Me.IsMoving) StopMoving();


        }

Thank you for this buddy i have added this to the rotation as an update to whatever was there before.
 
I have updated a tun or rotations and added a tun as well. in the coming days i will finish ALL rotations and update them for perfection as needed ;)

Also Walter has seen it fit to message me and tell me i ma stealing his class spec description from the top of his post.... my response to that is... i was the one that first started and posted all of the class info and what was working and not working so whatever he wants to call me he can.


here is the updated list of what rotations are working. i will be updating the SVN shortly.

Tested and Working!
Working but needs Testing!
Currently not Implemented!



Imperial Classes:

Basic Class: Inquisitor

Advance Class: Sith Sorcerer
1.Corruption
2.Lightning
3.Madness

Advance Class: Sith Assassin
1.Darkness
2.Deception
3.Madness

Basic Class: Warrior

Advance Class: Juggernaut
1.Immortal
2.Vengeance
3.Rage

Advance Class: Marauder
1.Annihilation
2.Carnage
3.Rage

Basic Class: Agent

Advance Class: Operative
1. Medicine
2.Concealment
3. Lethality

Advance Class: Sniper
1. Marksmanship
2.Engineering
3.Lethality

Basic Class: Bounty Hunter

Advance Class: Mercenary
1.Bodyguard
2.Arsenal
3.Pyrotech

Advance Class: Powertech
1.Shield Tech
2.Advanced Prototype
3.Pyrotech

Republic Classes:

Basic Class: Consular

Advance Class: Sage
1.Seer
2.Telekinetics
3.Balance

Advance Class: Shadow
1.Kinetic
2.Infiltration
3.Balance

Basic Class: Knight

Advance Class: Guardian
1.Defense
2.Vigilance
3.Focus

Advance Class: Sentinel
1.Watchman
2.Combat
3.Focus

Basic Class: Smuggler

Advance Class: Scoundrel
1.Sawbones
2.Scrapper
3.Dirty Fighting

Advance Class: Gunslinger
1.Sharpshooter
2.Saboteur
3.Dirty Fighting

Basic Class: Trooper

Advance Class: Commando
1.Combat Medic
2.Gunnery
3.Assault Specialist

Advance Class: Vanguard
1.Shield Specialist
2.Tactics
3.Assault Specialist
 
SVN Updated

please test and let e know whats what.. also i ma still getting hate mail from Walter lol
 
also i have not cleaned out the SVN Folder yet but the Test Build and the Adude-Fights are working great.
 
also i have not cleaned out the SVN Folder yet but the Test Build and the Adude-Fights are working great.

Updated and testing atm. :) So far, no major issues detected, but will keep you informed.
 
Last edited:
Updated and testing atm. :) So far, no major issues detected, but will keep you informed.

Thank you strepie. I am off of my gag order now so i am hoping to finish creating the rest of the combat rotations and after that I will keep updating them based on what anyone says about their effectiveness. I am really looking forward to getting them done because there are some features I would like to add
 
I have been looking at a few things and made some startling discoveries... I have decompiled the BW exe just to see what they have in there that's not in the bot yet or that they don't have working 100% I found some nice Med-Pack code here it is


PHP:
private void ()
        {
            using (BuddyTor.Memory.AcquireFrame())
            {
                foreach (TorItem item in BuddyTor.Me.InventoryEquipment)
                {
                    if (item.IsUsable)
                    {
                        if ((BuddyTor.Me.HealthPercent < 70f) && (item.Name.ToLower().Contains("medpac") || item.Name.ToLower().Contains("med unit")))
                        {
                            item.UseAbility(BuddyTor.Me);
                            return;
                        }
                        if (item.Name.ToLower().Contains("stim"))
                        {
                            item.UseAbility(BuddyTor.Me);
                            return;
                        }
                    }
                }
            }
        }

this bit of code would have been useful in the pass would have modified it like Walter and Jnp did here is what they have.

PHP:
public static void UseMedPackInInventory() // Medpack Use
        {
			
            if (DateTime.Now.Subtract(datLMPU).TotalSeconds < 120) return;
			//Logging.Write("TRY MEDPAC");
			bool isUsable;
			bool flag;
			try
			{
				IEnumerator<TorItem> enumerator = BuddyTor.Me.InventoryEquipment.GetEnumerator();
				try
				{
					while (true)
					{
						isUsable = enumerator.MoveNext();
						if (!isUsable)
						{
							break;
						}
						TorItem current = enumerator.Current;
						//isUsable = current.IsUsable;		Broke in buddywing
						isUsable=true;
						//Logging.Write("Item:" + current.Name + " IsUsable? " + isUsable.ToString());
						if (isUsable)
						{
							isUsable = BuddyTor.Me.HealthPercent >= 70f;
							if (!isUsable)
							{
								flag = (current.Name.ToLower().Contains("medpac") ? false : !current.Name.ToLower().Contains("med unit"));
								isUsable = flag;
								if (!isUsable)
								{
									Logging.Write("Using MEDPAC  --------------------- " + current.Name.ToLower());
									current.UseAbility(BuddyTor.Me);
									datLMPU = DateTime.Now;
									return;
								}
							}
						}
					}
				}
				finally
				{
					isUsable = enumerator == null;
					if (!isUsable)
					{
						enumerator.Dispose();
					}
				}
			}
			catch {
				return;
			}
			
            return;
        }

very nice indeed... anyhow both their code and mine works fine so i will not be rewriting mine. i ma sure i will find some more gems :) for my new functions
 
OK i am at work am board again so i thought hey why not make a function aka method to use the explosive barrels in swtor. i started looking at the chest interact plugin by Neo93 i think i would be able to adapt that pretty easy. below is what i have so far. no its not tested yet just theory at the moment i don't even have the names of the world items yet.

in terms of implementation i was thinking why not make it use the world items right after it pulls. or use the item before the pull.. extra dps right off the bat, but this may have to be implemented differently for some classes that get resource boosts after coming out of stealth.


PHP:
public TorPlaceable DPSItem { get { return ObjectManager.GetObjects<TorPlaceable>().FirstOrDefault(o => o.Name == "barrel"); } }
        public static void UseWorldDPSItem()
        {
               if (DPSItem != null)
                {
                    TreeHooks.Instance.InsertHook("TreeStart", 0,
                    new PrioritySelector(context => DPSItem,
                        new Decorator(ret => ret != null && BuddyTor.Me.InCombat,
                            new PrioritySelector(
                                CommonBehaviors.MoveAndStop(ret => (ret as TorPlaceable).Position, 2.8f, true, "[UseWorldDPSItem] Move to world DPS item"),
                                new Sequence(
                                    new Action(ret => (ret as TorPlaceable).Interact()),
                                    new Action(ret => count++),
                                    new Action(ret => Logging.Write("[UseWorldDPSItem] Interacting with " + (ret as TorObject).Name + "(" + count + ")")),
                                    new WaitContinue(3, ret => DPSItem.IsLootable, null)
                                    )
                                )
                            )
                        )

                    );
                }
        }
 
Last edited:
hi just wanted to let you know that ive noticed that my kinetic shadow spec consular does not move closer to mobs when in combat . it will stand there out of range casting the range spells why the companion kills it .

thanks
 
hi just wanted to let you know that ive noticed that my kinetic shadow spec consular does not move closer to mobs when in combat . it will stand there out of range casting the range spells why the companion kills it .

thanks

awesome feed back i will update the SVN once i get home


if you want to you can remove this code in the MercHelper file

Code:
if (!CT.InCombat && CT.HealthPercent > .2f) // initial pull
            {
                if (CT.Distance >= 1.0f && CT.Distance <= 3.0f) if (MercCast("Force Pull")) return;
                if (StrongOrGreater(CT)) if (MercCast("Mind Crush")) return;
                MercCast("Stealth");
                while (CT.Distance > .15f) MoveTo(CT, .15f);
                if (MercCast("Shadow Strike", CT.Distance <= .20f)) if (MercCast("Double Strike")) return;
            }

and add this one i think this is the problem.
Code:
if (!CT.InCombat && CT.HealthPercent > .2f)
            {
                MercCast("Stealth");
                while (CT.Distance > .15f) MoveTo(CT, .15f);
                if (MercCast("Shadow Strike", CT.Distance <= .20f)) if (MercCast("Double Strike")) return;
            }
 
hi just wanted to let you know that ive noticed that my kinetic shadow spec consular does not move closer to mobs when in combat . it will stand there out of range casting the range spells why the companion kills it .

thanks

Thank you for your feed back. i will fix this and update the SVN once i get home. i have looked at the code and it look like found the error if you can edit the file go to code like 1586 and replace this


PHP:
if (!CT.InCombat && CT.HealthPercent > .2f) // initial pull
            {
                if (CT.Distance >= 1.0f && CT.Distance <= 3.0f) if (MercCast("Force Pull")) return;
                if (StrongOrGreater(CT)) if (MercCast("Mind Crush")) return;
                MercCast("Stealth");
                while (CT.Distance > .15f) MoveTo(CT, .15f);
                if (MercCast("Shadow Strike", CT.Distance <= .20f)) if (MercCast("Double Strike")) return;
            }

with this code

PHP:
if (!CT.InCombat && CT.HealthPercent > .2f)
            {
                MercCast("Stealth");
                while (CT.Distance > .15f) MoveTo(CT, .15f);
                if (MercCast("Shadow Strike", CT.Distance <= .20f)) if (MercCast("Double Strike")) return;
            }


I have not tested because i am at work but i think that should fix your problem.
 
Hi, just wondering something. Was using your combat routines and it seems to really bog down the system. Tried using the pure routines and it runs fine without glitching. Is there a way to reduce the amount of checks it does during combat or to offload some of the burden some how to reduce the glitch feeling?

I ran the system with task manager open and it's never using more then 20% of the cpu, so not really sure what is causing the issue.
 
Hi websyphen,

As far as I know, Pure and Walter's are the only two combat routines still receiving regular updates from their developers. I know that Walter is currently refining an update to his which should eliminate some of the errors we currently experience through the use of frame locking.

Good luck,
-D
 
I have encountered some problems with the bot not identifying my mount, is it Joes that does that or?
 
Since game patch 2.0 (I think), mounts have been broken in Buddy Wing. To avoid errors, just change that line to false in your character's settings, or delete it.
 
Where do I delite this? I have been browsing the files but cant find anywhere where I can delite the "mount" command line with out it re-enabeling it self
 
Status
Not open for further replies.
Back
Top