Back to home

Genji and Brigitte movement tech

9BVST
click to copy
This code is over 6 months old.
Codes expire after 6 months and will no longer function.
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:
8 months ago

Last updated:
8 months 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);
	}
}