mirror of
https://github.com/shavitush/bhoptimer.git
synced 2025-12-09 03:18:25 +00:00
Allowed using all keys in limited styles after touching ladder (#800).
Key restriction is added again after touching the ground. ConVar to disable this is `shavit_core_simplerladders`
This commit is contained in:
parent
70dd8f7c9c
commit
487135f85a
@ -55,6 +55,7 @@ enum struct playertimer_t
|
|||||||
int iPerfectJumps;
|
int iPerfectJumps;
|
||||||
int iGroundTicks;
|
int iGroundTicks;
|
||||||
MoveType iMoveType;
|
MoveType iMoveType;
|
||||||
|
bool bCanUseAllKeys;
|
||||||
}
|
}
|
||||||
|
|
||||||
// game type (CS:S/CS:GO/TF2)
|
// game type (CS:S/CS:GO/TF2)
|
||||||
@ -116,6 +117,7 @@ ConVar gCV_NoZAxisSpeed = null;
|
|||||||
ConVar gCV_VelocityTeleport = null;
|
ConVar gCV_VelocityTeleport = null;
|
||||||
ConVar gCV_DefaultStyle = null;
|
ConVar gCV_DefaultStyle = null;
|
||||||
ConVar gCV_NoChatSound = null;
|
ConVar gCV_NoChatSound = null;
|
||||||
|
ConVar gCV_SimplerLadders = null;
|
||||||
|
|
||||||
// cached cvars
|
// cached cvars
|
||||||
int gI_DefaultStyle = 0;
|
int gI_DefaultStyle = 0;
|
||||||
@ -326,6 +328,7 @@ public void OnPluginStart()
|
|||||||
gCV_VelocityTeleport = CreateConVar("shavit_core_velocityteleport", "0", "Teleport the client when changing its velocity? (for special styles)", 0, true, 0.0, true, 1.0);
|
gCV_VelocityTeleport = CreateConVar("shavit_core_velocityteleport", "0", "Teleport the client when changing its velocity? (for special styles)", 0, true, 0.0, true, 1.0);
|
||||||
gCV_DefaultStyle = CreateConVar("shavit_core_defaultstyle", "0", "Default style ID.\nAdd the '!' prefix to disable style cookies - i.e. \"!3\" to *force* scroll to be the default style.", 0, true, 0.0);
|
gCV_DefaultStyle = CreateConVar("shavit_core_defaultstyle", "0", "Default style ID.\nAdd the '!' prefix to disable style cookies - i.e. \"!3\" to *force* scroll to be the default style.", 0, true, 0.0);
|
||||||
gCV_NoChatSound = CreateConVar("shavit_core_nochatsound", "0", "Disables click sound for chat messages.", 0, true, 0.0, true, 1.0);
|
gCV_NoChatSound = CreateConVar("shavit_core_nochatsound", "0", "Disables click sound for chat messages.", 0, true, 0.0, true, 1.0);
|
||||||
|
gCV_SimplerLadders = CreateConVar("shavit_core_simplerladders", "1", "Allows using all keys on limited styles (such as sideways) after touching ladders\nTouching the ground enables the restriction again.", 0, true, 0.0, true, 1.0);
|
||||||
|
|
||||||
gCV_DefaultStyle.AddChangeHook(OnConVarChanged);
|
gCV_DefaultStyle.AddChangeHook(OnConVarChanged);
|
||||||
|
|
||||||
@ -1736,6 +1739,7 @@ void StartTimer(int client, int track)
|
|||||||
gA_Timers[client].bPracticeMode = false;
|
gA_Timers[client].bPracticeMode = false;
|
||||||
gA_Timers[client].iMeasuredJumps = 0;
|
gA_Timers[client].iMeasuredJumps = 0;
|
||||||
gA_Timers[client].iPerfectJumps = 0;
|
gA_Timers[client].iPerfectJumps = 0;
|
||||||
|
gA_Timers[client].bCanUseAllKeys = false;
|
||||||
|
|
||||||
SetEntityGravity(client, view_as<float>(gA_StyleSettings[gA_Timers[client].iStyle].fGravityMultiplier));
|
SetEntityGravity(client, view_as<float>(gA_StyleSettings[gA_Timers[client].iStyle].fGravityMultiplier));
|
||||||
SetEntPropFloat(client, Prop_Data, "m_flLaggedMovementValue", view_as<float>(gA_StyleSettings[gA_Timers[client].iStyle].fSpeedMultiplier));
|
SetEntPropFloat(client, Prop_Data, "m_flLaggedMovementValue", view_as<float>(gA_StyleSettings[gA_Timers[client].iStyle].fSpeedMultiplier));
|
||||||
@ -2787,8 +2791,18 @@ public Action OnPlayerRunCmd(int client, int &buttons, int &impulse, float vel[3
|
|||||||
|
|
||||||
MoveType mtMoveType = GetEntityMoveType(client);
|
MoveType mtMoveType = GetEntityMoveType(client);
|
||||||
|
|
||||||
|
if(mtMoveType == MOVETYPE_LADDER && gCV_SimplerLadders.BoolValue)
|
||||||
|
{
|
||||||
|
gA_Timers[client].bCanUseAllKeys = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
else if(iGroundEntity != -1)
|
||||||
|
{
|
||||||
|
gA_Timers[client].bCanUseAllKeys = false;
|
||||||
|
}
|
||||||
|
|
||||||
// key blocking
|
// key blocking
|
||||||
if(mtMoveType != MOVETYPE_NOCLIP && mtMoveType != MOVETYPE_LADDER && !Shavit_InsideZone(client, Zone_Freestyle, -1))
|
if(!gA_Timers[client].bCanUseAllKeys && mtMoveType != MOVETYPE_NOCLIP && mtMoveType != MOVETYPE_LADDER && !Shavit_InsideZone(client, Zone_Freestyle, -1))
|
||||||
{
|
{
|
||||||
// block E
|
// block E
|
||||||
if(gA_StyleSettings[gA_Timers[client].iStyle].bBlockUse && (buttons & IN_USE) > 0)
|
if(gA_StyleSettings[gA_Timers[client].iStyle].bBlockUse && (buttons & IN_USE) > 0)
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user