Roadhog Hookshot

It’s literally a reverse Hook; not a launch, but not far off.

rule("Rule 30")
{
	event
	{
		Player Dealt Damage;
		All;
		Roadhog;
	}

	conditions
	{
		Event Ability == Button(Ability 1);
		Ray Cast Hit Player(Eye Position(Event Player), Eye Position(Victim), Victim, Event Player, True) == Victim;
	}

	actions
	{
		Cancel Primary Action(Event Player);
		Disallow Button(Event Player, Button(Primary Fire));
		Disallow Button(Event Player, Button(Secondary Fire));
		Disallow Button(Event Player, Button(Ability 1));
		Disallow Button(Event Player, Button(Ability 2));
		Disallow Button(Event Player, Button(Ultimate));
		Disallow Button(Event Player, Button(Melee));
		Disallow Button(Event Player, Button(Reload));
		Event Player.P = Position Of(Event Player);
		Start Facing(Event Player, Direction Towards(Eye Position(Event Player), Eye Position(Victim)), 540, To World,
			Direction and Turn Rate);
		Chase Player Variable At Rate(Event Player, P, Nearest Walkable Position(Position Of(Victim) + Facing Direction Of(Event Player)
			* -1), 10, Destination and Rate);
		Start Forcing Player Position(Event Player, Event Player.P, True);
		Wait Until(Distance Between(Event Player, Victim) < 3, 99999);
		Stop Forcing Player Position(Event Player);
		Stop Facing(Event Player);
		Stop Chasing Player Variable(Event Player, P);
		Allow Button(Event Player, Button(Primary Fire));
		Allow Button(Event Player, Button(Secondary Fire));
		Allow Button(Event Player, Button(Ability 1));
		Allow Button(Event Player, Button(Ability 2));
		Allow Button(Event Player, Button(Ultimate));
		Allow Button(Event Player, Button(Melee));
		Allow Button(Event Player, Button(Reload));
	}
}

Downside: It doesn’t look as nice as Hook 1.0, you just get pulled through obstacles.

2 Likes