Back to home

Genji and Brigitte movement tech

9BVST
click to copy
This game is archived.
If you with to unarchive it, click the "restore" button in the options menu.

Category:
Custom hero / hero rework

Author:
Josbird

Rating:
0

Version:
1.0.0

Posted:
9 days ago

Last updated:
9 days ago

Tags:
genji brigitte

Share this workshop!

Options

Video demo: https://youtu.be/GH7jCh3r-dE

Just a quick ruleset I cooked up.

Brings back Genji's ledge dash and triple jump, as well as Brigitte's shield bash whipshot cancel and PTR bash jump.

rule("init brig (w= whipshot cancel window, b = bash off CD)")
{
	event
	{
		Ongoing - Each Player;
		All;
		All;
	}

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

	actions
	{
		Set Player Variable(Event Player, B, True);
		Set Player Variable(Event Player, W, False);
		disabled Create HUD Text(Event Player, Player Variable(Event Player, W), Player Variable(Event Player, B), Null, Top, 2, White, White,
			White, Visible To and String, Default Visibility);
	}
}

rule("Bash detection")
{
	event
	{
		Ongoing - Each Player;
		All;
		All;
	}

	conditions
	{
		Hero Of(Event Player) == Hero(Brigitte);
		Is Firing Secondary(Event Player) == True;
		Is Button Held(Event Player, Primary Fire) == True;
		Player Variable(Event Player, B) == True;
	}

	actions
	{
		Set Player Variable(Event Player, W, True);
		Wait(0.100, Ignore Condition);
		Set Player Variable(Event Player, W, False);
		Set Player Variable(Event Player, B, False);
		Wait(7, Ignore Condition);
		Set Player Variable(Event Player, B, True);
	}
}

rule("whipshot bash cancel")
{
	event
	{
		Ongoing - Each Player;
		All;
		All;
	}

	conditions
	{
		Player Variable(Event Player, W) == True;
		Is Using Ability 1(Event Player) == True;
		Hero Of(Event Player) == Hero(Brigitte);
	}

	actions
	{
		Apply Impulse(Event Player, Direction From Angles(Horizontal Facing Angle Of(Event Player), 0), 50, To World,
			Incorporate Contrary Motion);
	}
}

rule("bash jump")
{
	event
	{
		Ongoing - Each Player;
		All;
		All;
	}

	conditions
	{
		Player Variable(Event Player, W) == True;
		Hero Of(Event Player) == Hero(Brigitte);
	}

	actions
	{
		Set Gravity(Event Player, 50);
		Wait(0.250, Ignore Condition);
		Set Gravity(Event Player, 100);
	}
}

rule("init genji (d = has double jump, t = has triple jump)")
{
	event
	{
		Ongoing - Each Player;
		All;
		All;
	}

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

	actions
	{
		Set Player Variable(Event Player, D, True);
		Set Player Variable(Event Player, T, False);
		disabled Create HUD Text(Event Player, Player Variable(Event Player, D), Player Variable(Event Player, T), Null, Top, 2, White, White,
			White, Visible To and String, Default Visibility);
	}
}

rule("genji ledge dash")
{
	event
	{
		Ongoing - Each Player;
		All;
		All;
	}

	conditions
	{
		Is On Wall(Event Player) == True;
		Is Using Ability 1(Event Player) == True;
		Hero Of(Event Player) == Hero(Genji);
	}

	actions
	{
		Apply Impulse(Event Player, Facing Direction Of(Event Player), 50, To World, Incorporate Contrary Motion);
	}
}

rule("genji double jump marker")
{
	event
	{
		Ongoing - Each Player;
		All;
		All;
	}

	conditions
	{
		Altitude Of(Event Player) > 0.600;
		Hero Of(Event Player) == Hero(Genji);
		Is Button Held(Event Player, Jump) == True;
	}

	actions
	{
		Set Player Variable(Event Player, D, False);
	}
}

rule("genji trip jump marker")
{
	event
	{
		Ongoing - Each Player;
		All;
		All;
	}

	conditions
	{
		Hero Of(Event Player) == Hero(Genji);
		Is On Wall(Event Player) == True;
	}

	actions
	{
		Wait(0.016, Ignore Condition);
		Loop If Condition Is True;
		Loop If(Is Button Held(Event Player, Jump));
		Set Player Variable(Event Player, T, True);
	}
}

rule("genji trip jump exec")
{
	event
	{
		Ongoing - Each Player;
		All;
		All;
	}

	conditions
	{
		Player Variable(Event Player, T) == True;
		Hero Of(Event Player) == Hero(Genji);
		Player Variable(Event Player, D) == False;
		Is Button Held(Event Player, Jump) == True;
	}

	actions
	{
		Apply Impulse(Event Player, Up, 10, To World, Cancel Contrary Motion);
		Set Player Variable(Event Player, T, False);
	}
}

rule("genji jump markers reset")
{
	event
	{
		Ongoing - Each Player;
		All;
		All;
	}

	conditions
	{
		Is On Ground(Event Player) == True;
		Hero Of(Event Player) == Hero(Genji);
	}

	actions
	{
		Set Player Variable(Event Player, T, False);
		Set Player Variable(Event Player, D, True);
	}
}