Jump to content

Rogue ranged pull with Throw / Shoot Bow


Recommended Posts

  • 1 month later...
On 2017/10/15 at 9:41 PM, Seminko said:

So changing the range worked.

This can not be achieved using only [Fight Class Editor] , If I  put bigger range  in  fightclass setting, the bot will not to  close the range mobs(E.g mage mobs),It will only stand still and do nothing.

Maybe using C # can be achieved ranged pull.

I'm curious if you have such a rogue fightclass  , and are you willing to share?

Link to comment
Share on other sites

17 minutes ago, valetine said:

This can not be achieved using only [Fight Class Editor] , If I  put bigger range  in  fightclass setting, the bot will not to  close the range mobs(E.g mage mobs),It will only stand still and do nothing.

Maybe using C # can be achieved ranged pull.

I'm curious if you have such a rogue fightclass  , and are you willing to share?

You can alway convert your XML to C# using the Fight Class Editor. I can share the variable range code, if you're up for it.

Link to comment
Share on other sites

3 minutes ago, Seminko said:

You can alway convert your XML to C# using the Fight Class Editor. I can share the variable range code, if you're up for it.

You are really an enthusiastic person, I've uploaded it.

In addition, I would like to know if it is possible to suspend the bot  and use food after the rogue use vanishing skills.

Rogue Throw.cs

Link to comment
Share on other sites

Just update your Range with this. Change 30 to your preferred radius mobs will be looked for and the 1 at the end for the number of mobs near target (not counting your target I believe).

Spoiler

	public float Range 
	{ 
		get 
		{
			if (ObjectManager.GetWoWUnitHostile().Count(u => u.Position.DistanceTo(ObjectManager.Target.Position) <= 30 && u.IsAttackable) > 1) // if there is more than one mob within 37 yards of the your target's position
			{
				return 29f;
			}
			else
			{
				return 5f;
			}
		} 
	}

 

and put the same condition into your Throw spell state (not tested in your code). If for some reason this does not work, just add it manually through the Fight Class Editor - Hostile Unit near Target

new SpellState("Throw", 9, context => RougeSettings.CurrentSetting.Throw && ItemsManager.GetItemCountByIdLUA(3137) >= 1 && ObjectManager.Target.GetDistance <= 30 && ObjectManager.Target.GetDistance >= 8 && !ObjectManager.Me.GetMove && ObjectManager.GetWoWUnitHostile().Count(u => u.Position.DistanceTo(ObjectManager.Target.Position) <= 30 && u.IsAttackable) > 1, false, false, false, false, true, true, false, true, 2100, false, true, false, false, false, true, wManager.Wow.Helpers.FightClassCreator.YesNoAuto.No, "", "none", true, true, false),

Let me know.

 

EDIT: also for setting the range, it would be good if you checked if you have a throwing weapon before setting a range bigger than melee so like:

Spoiler

	public float Range 
	{ 
		get 
		{
			if (ObjectManager.GetWoWUnitHostile().Count(u => u.Position.DistanceTo(ObjectManager.Target.Position) <= 30 && u.IsAttackable) > 1 && ItemsManager.GetItemCountByIdLUA(3137)) // if there is more than one mob within 37 yards of the your target's position and you have items to throw
			{
				return 29f;
			}
			else
			{
				return 5f;
			}
		} 
	}

 

 

Link to comment
Share on other sites

1 hour ago, Seminko said:

Just update your Range with this. Change 30 to your preferred radius mobs will be looked for and the 1 at the end for the number of mobs near target (not counting your target I believe).

  Reveal hidden contents


	public float Range 
	{ 
		get 
		{
			if (ObjectManager.GetWoWUnitHostile().Count(u => u.Position.DistanceTo(ObjectManager.Target.Position) <= 30 && u.IsAttackable) > 1) // if there is more than one mob within 37 yards of the your target's position
			{
				return 29f;
			}
			else
			{
				return 5f;
			}
		} 
	}

 

and put the same condition into your Throw spell state (not tested in your code). If for some reason this does not work, just add it manually through the Fight Class Editor - Hostile Unit near Target


new SpellState("Throw", 9, context => RougeSettings.CurrentSetting.Throw && ItemsManager.GetItemCountByIdLUA(3137) >= 1 && ObjectManager.Target.GetDistance <= 30 && ObjectManager.Target.GetDistance >= 8 && !ObjectManager.Me.GetMove && ObjectManager.GetWoWUnitHostile().Count(u => u.Position.DistanceTo(ObjectManager.Target.Position) <= 30 && u.IsAttackable) > 1, false, false, false, false, true, true, false, true, 2100, false, true, false, false, false, true, wManager.Wow.Helpers.FightClassCreator.YesNoAuto.No, "", "none", true, true, false),

Let me know.

 

EDIT: also for setting the range, it would be good if you checked if you have a throwing weapon before setting a range bigger than melee so like:

  Reveal hidden contents


	public float Range 
	{ 
		get 
		{
			if (ObjectManager.GetWoWUnitHostile().Count(u => u.Position.DistanceTo(ObjectManager.Target.Position) <= 30 && u.IsAttackable) > 1 && ItemsManager.GetItemCountByIdLUA(3137)) // if there is more than one mob within 37 yards of the your target's position and you have items to throw
			{
				return 29f;
			}
			else
			{
				return 5f;
			}
		} 
	}

 

 

I tested for an hour, work very perfect, thank you very much!

Link to comment
Share on other sites

  • 5 months later...
  • 3 weeks later...
9 hours ago, ellisium said:

Hi, is there a way to make bot always range pull?

Would be nice if you can help me with profile, just need c++ code to always use throw for pulling.

Just increase your range to 30yd and set it so it always start with Throw. It will throw and then try to use other abilities which will not work due to being out of range so the bot will stay in place until the mob comes to melee range.

Beware of ranged mobs tho, because they will stay in place and so will you = dead you.

Link to comment
Share on other sites

MovementManager.StopMoveTo(false, Untill mob in melee range) || MovementManager.StopMoveTo(false, untill mob not moving);
Replace the second attribute. But basically, you can tell the movement manager to stay still till either the mob is close to you, or untill it's not moving (casters)

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...