Added support for different speed methods, defaulted to prop method now. If you don't want to update class settings, use 'zr_classes_speed_method lmv' for backwards compatibility.
This commit is contained in:
@ -124,7 +124,7 @@
|
||||
#define ZR_CLASS_DEFAULT_HEALTH_REGEN_AMOUNT 2
|
||||
#define ZR_CLASS_DEFAULT_HEALTH_INFECT_GAIN 800
|
||||
#define ZR_CLASS_DEFAULT_KILL_BONUS 2
|
||||
#define ZR_CLASS_DEFAULT_SPEED 360.0
|
||||
#define ZR_CLASS_DEFAULT_SPEED 0.0
|
||||
#define ZR_CLASS_DEFAULT_KNOCKBACK 2.0
|
||||
#define ZR_CLASS_DEFAULT_JUMP_HEIGHT 10.0
|
||||
#define ZR_CLASS_DEFAULT_JUMP_DISTANCE 0.2
|
||||
@ -163,8 +163,10 @@
|
||||
#define ZR_CLASS_HEALTH_INFECT_GAIN_MAX 20000
|
||||
#define ZR_CLASS_KILL_BONUS_MIN 0
|
||||
#define ZR_CLASS_KILL_BONUS_MAX 16
|
||||
#define ZR_CLASS_SPEED_MIN 10.0
|
||||
#define ZR_CLASS_SPEED_MAX 2000.0
|
||||
#define ZR_CLASS_SPEED_LMV_MIN 10.0
|
||||
#define ZR_CLASS_SPEED_LMV_MAX 2000.0
|
||||
#define ZR_CLASS_SPEED_PROP_MIN -200.0
|
||||
#define ZR_CLASS_SPEED_PROP_MAX 800.0
|
||||
#define ZR_CLASS_KNOCKBACK_MIN -30.0
|
||||
#define ZR_CLASS_KNOCKBACK_MAX 30.0
|
||||
#define ZR_CLASS_KNOCKBACK_IGNORE -31.0 /** Used by class editor volumetric feature. */
|
||||
@ -366,6 +368,16 @@ enum ClassFilter
|
||||
ClassFilter_Client /** The client to check for class group permissions. Use 0 to ignore group filter and negative to exclude classes with groups set. */
|
||||
}
|
||||
|
||||
/**
|
||||
* Speed methods for applying player speed.
|
||||
*/
|
||||
enum ClassSpeedMethods
|
||||
{
|
||||
ClassSpeed_Invalid = -1,
|
||||
ClassSpeed_LMV, /** Modifies lagged movement value. */
|
||||
ClassSpeed_Prop, /** Modifies players' max speed property(m_flMaxspeed). */
|
||||
}
|
||||
|
||||
/**
|
||||
* Empty filter structure.
|
||||
*/
|
||||
@ -463,6 +475,11 @@ new String:ClassOriginalPlayerModel[MAXPLAYERS + 1][PLATFORM_MAX_PATH];
|
||||
*/
|
||||
new bool:ClassPlayerSpawned[MAXPLAYERS + 1];
|
||||
|
||||
/**
|
||||
* What method used to apply speed on players.
|
||||
*/
|
||||
new ClassSpeedMethods:ClassSpeedMethod = ClassSpeed_Prop;
|
||||
|
||||
#include "zr/playerclasses/filtertools"
|
||||
#include "zr/playerclasses/attributes"
|
||||
#include "zr/playerclasses/apply"
|
||||
@ -655,6 +672,30 @@ public ClassOnConfigReload(ConfigFile:config)
|
||||
ClassLoad();
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the speed method.
|
||||
*
|
||||
* @return Speed method, or ClassSpeed_Invalid on error.
|
||||
*/
|
||||
ClassSpeedMethods:ClassGetSpeedMethod()
|
||||
{
|
||||
decl String:speedMethod[16];
|
||||
speedMethod[0] = 0;
|
||||
|
||||
GetConVarString(g_hCvarsList[CVAR_CLASSES_SPEED_METHOD], speedMethod, sizeof(speedMethod));
|
||||
|
||||
if (StrEqual(speedMethod, "lmv", false))
|
||||
{
|
||||
return ClassSpeed_LMV;
|
||||
}
|
||||
else if (StrEqual(speedMethod, "prop", false))
|
||||
{
|
||||
return ClassSpeed_Prop;
|
||||
}
|
||||
|
||||
return ClassSpeed_Invalid;
|
||||
}
|
||||
|
||||
/**
|
||||
* Updates the class data cache. Original values are retrieved from ClassData.
|
||||
*
|
||||
|
Reference in New Issue
Block a user