Baptiste Settings

Not sure if this is the place to submit this, but could we get a setting to make Baptiste crouch jump boost be charged by just holding down the space bar. I feel like it would be an easy setting to add that would make the character feel more fluid and less clunky.

Are you looking for a custom Workshop game mode that does this, or are you suggesting a change to the base game?

1 Like

Suggesting a change to the base game i assume which is an in depth technically, design flaw topic that extends the realm of workshop stuff, well its possible in a clunky way though, but not an entire replacement to a fundamental underlying change as OP requested. Here is a dummy sample:

rule("Rule 1")
{
	event
	{
		Ongoing - Each Player;
		All;
		Baptiste;
	}

	conditions
	{
		Is Alive(Event Player) == True;
		!Is Jumping(Event Player) == True;
		Is Button Held(Event Player, Button(Jump)) == True;
	}

	actions
	{
		Start Holding Button(Event Player, Button(Crouch));
		Wait Until(!Is Button Held(Event Player, Button(Jump)), 99999);
		Stop Holding Button(Event Player, Button(Crouch));
		Wait(0.016, Ignore Condition);
		Press Button(Event Player, Button(Jump));
	}
}
2 Likes

Here’s my attempt. It has some extra bells and whistles like sounds and a charge bar, so it’s kind of bloated.

The default charge meter when crouching is still there, but it does nothing.

variables
{
	player:
		0: Is_charging
		1: Charge
		3: Color
}

rule("Disable jump, create HUD")
{
	event
	{
		Ongoing - Each Player;
		All;
		Baptiste;
	}

	actions
	{
		Disallow Button(Event Player, Button(Jump));
		Create Progress Bar HUD Text(Event Player, Event Player.Charge, Custom String(""), Left, 0, Event Player.Color, Color(Orange),
			Values and Color, Default Visibility);
	}
}

rule("Hold Jump to start charging")
{
	event
	{
		Ongoing - Each Player;
		All;
		Baptiste;
	}

	conditions
	{
		Is Button Held(Event Player, Button(Jump)) == True;
		Is On Ground(Event Player) == True;
		Is Alive(Event Player) == True;
	}

	actions
	{
		Event Player.Is_charging = True;
		Event Player.Charge = 0;
		Chase Player Variable Over Time(Event Player, Charge, 100, 0.600, Destination and Duration);
		Event Player.Color = Color(Orange);
	}
}

rule("Jump")
{
	event
	{
		Ongoing - Each Player;
		All;
		Baptiste;
	}

	conditions
	{
		Event Player.Is_charging == True;
		Is Button Held(Event Player, Button(Jump)) == False;
		Is On Ground(Event Player) == True;
		Is Alive(Event Player) == True;
	}

	actions
	{
		Apply Impulse(Event Player, Vector(0, 1, 0), 4 + Event Player.Charge * 0.150, To World, Cancel Contrary Motion);
		Play Effect(All Players(All Teams), Ring Explosion Sound, Color(White), Event Player, Event Player.Charge * 0.500);
		Event Player.Is_charging = False;
		Stop Chasing Player Variable(Event Player, Charge);
		Event Player.Charge = 0;
	}
}

rule("If charge is 100%")
{
	event
	{
		Ongoing - Each Player;
		All;
		All;
	}

	conditions
	{
		Event Player.Charge == 100;
	}

	actions
	{
		Event Player.Color = Color(Red);
		Play Effect(Event Player, Buff Impact Sound, Color(White), Event Player, 20);
	}
}

rule("If player dies")
{
	event
	{
		Ongoing - Each Player;
		All;
		Baptiste;
	}

	conditions
	{
		Is Dead(Event Player) == True;
	}

	actions
	{
		Event Player.Is_charging = False;
		Stop Chasing Player Variable(Event Player, Charge);
		Event Player.Charge = 0;
	}
}

rule("If player is not standing on ground")
{
	event
	{
		Ongoing - Each Player;
		All;
		Baptiste;
	}

	conditions
	{
		Is On Ground(Event Player) == False;
	}

	actions
	{
		Event Player.Is_charging = False;
		Stop Chasing Player Variable(Event Player, Charge);
		Event Player.Charge = 0;
	}
}

rule("If player switches heroes")
{
	event
	{
		Ongoing - Each Player;
		All;
		All;
	}

	conditions
	{
		Hero Of(Event Player) != Hero(Baptiste);
	}

	actions
	{
		Destroy All Progress Bar HUD Text;
		Allow Button(Event Player, Button(Jump));
	}
}