How do i increase Reinhardt's speed when holding his shield?

Title says it all. How would i program this?

I use overpy but it should be pretty simple to understand, heres what u can do.

@Condition eventPlayer.isHoldingButton(Button.SECONDARY_FIRE)

eventPlayer.setMoveSpeed(x)

x being the percentage of normal speed.

2 Likes

ongoing - each player
all
reinhardt

conditions:

  • Is firing secondary = true

actions:

  • set move speed (500) replace 500 with your desired speed
  • wait until not is firing secondary true
  • set move speed (100)
3 Likes

Thank you so much, i have figured out the issue. Q08KJ is the game i’ve edited if you’d like to see

1 Like

This definitely works but I’d love if you could help me add to it.

What I’m looking for is the following:

Rein normal speed 50%
Rein barrier speed 25%
Rein charge speed 200%

Right now, if I do what I can with what you’ve provided, my last set move speed (50) then applies to any subsequent hero I change to/select. If you could fix that too it’d be great.

Thank you!

1 Like

What if I wanted to do this?

Rein normal speed 50%
Rein barrier speed 25%
Rein charge speed 200%

Right now, if I do what I can with what you’ve provided, my last set move speed (50) then applies to any subsequent hero I change to/select. If you could fix that too it’d be great.

rule("Reinhardt Shielding")
{
	event
	{
		Ongoing - Each Player;
		All;
		Reinhardt;
	}

	conditions
	{
		Is Firing Secondary(Event Player) == True;
	}

	actions
	{
		Set Move Speed(Event Player, 25);
		Wait Until(!Is Firing Secondary(Event Player), 99999);
		Set Move Speed(Event Player, 50);
	}
}

rule("Reinhardt Charging")
{
	event
	{
		Ongoing - Each Player;
		All;
		Reinhardt;
	}

	conditions
	{
		Is Using Ability 1(Event Player) == True;
	}

	actions
	{
		Set Move Speed(Event Player, 200);
		Wait Until(!Is Using Ability 1(Event Player), 99999);
		Set Move Speed(Event Player, 50);
	}
}

rule("Reinhardt Breathing")
{
	event
	{
		Ongoing - Each Player;
		All;
		All;
	}

	conditions
	{
		Hero Of(Event Player) == Hero(Reinhardt);
	}

	actions
	{
		Set Move Speed(Event Player, 50);
		Wait Until(Hero Of(Event Player) != Hero(Reinhardt), 99999);
		Set Move Speed(Event Player, 100);
	}
}

The Solution is "Rule 3 / “Reinhardt Breathing”

1 Like

This is wonderful. Genius.