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));
}
}