mirror of
https://github.com/s1lentq/ReGameDLL_CS.git
synced 2025-04-10 11:40:02 +03:00
Add cvar for stamina restoration speed based on fps reference. (#1005)
* Add variable for framerate (FPS), that used as reference when restoring stamina (fuser2) after jump.
This commit is contained in:
parent
b10f23e1e9
commit
ce11175e89
@ -124,6 +124,7 @@ This means that plugins that do binary code analysis (Orpheu for example) probab
|
||||
| mp_ammo_respawn_time | 20 | 0.0 | - | The respawn time for ammunition. |
|
||||
| mp_vote_flags | km | 0 | - | Vote systems enabled in server.<br/>`0` voting disabled<br/>`k` votekick enabled via `vote` command<br/>`m` votemap enabled via `votemap` command |
|
||||
| mp_votemap_min_time | 180 | 0.0 | - | Minimum seconds that must elapse on map before `votemap` command can be used. |
|
||||
| mp_stamina_restore_rate | 0 | 0.0 | - | Framerate (FPS), that used as reference when restoring stamina (fuser2) after jump. |
|
||||
| mp_logkills | 1 | 0 | 1 | Log kills.<br/>`0` disabled <br/>`1` enabled |
|
||||
| mp_jump_height | 45 | 0.0 | - | Player jump height. |
|
||||
| bot_excellent_morale | 0 | 0 | 1 | Bots always have great morale regardless of defeat or victory. |
|
||||
|
6
dist/game.cfg
vendored
6
dist/game.cfg
vendored
@ -628,6 +628,12 @@ mp_vote_flags "km"
|
||||
// Default value: "180"
|
||||
mp_votemap_min_time "180"
|
||||
|
||||
// Framerate (FPS), that is used as a reference when restoring stamina (fuser2) after a jump.
|
||||
// 0 - disabled
|
||||
//
|
||||
// Default value: "0"
|
||||
mp_stamina_restore_rate "0"
|
||||
|
||||
// Player jump height
|
||||
//
|
||||
// Default value: "45"
|
||||
|
@ -190,6 +190,8 @@ cvar_t ammo_respawn_time = { "mp_ammo_respawn_time", "20", FCVAR_SERVER, 2
|
||||
cvar_t vote_flags = { "mp_vote_flags", "km", 0, 0.0f, nullptr };
|
||||
cvar_t votemap_min_time = { "mp_votemap_min_time", "180", 0, 180.0f, nullptr };
|
||||
|
||||
cvar_t stamina_restore_rate = { "mp_stamina_restore_rate", "0", 0, 0.f, nullptr };
|
||||
|
||||
cvar_t logkills = { "mp_logkills", "1", FCVAR_SERVER, 0.0f, nullptr };
|
||||
cvar_t randomspawn = { "mp_randomspawn", "0", FCVAR_SERVER, 0.0f, nullptr };
|
||||
|
||||
@ -478,6 +480,8 @@ void EXT_FUNC GameDLLInit()
|
||||
CVAR_REGISTER(&playerid_showhealth);
|
||||
CVAR_REGISTER(&playerid_field);
|
||||
|
||||
CVAR_REGISTER(&stamina_restore_rate);
|
||||
|
||||
// print version
|
||||
CONSOLE_ECHO("ReGameDLL version: " APP_VERSION "\n");
|
||||
|
||||
|
@ -210,6 +210,7 @@ extern cvar_t weapon_respawn_time;
|
||||
extern cvar_t ammo_respawn_time;
|
||||
extern cvar_t vote_flags;
|
||||
extern cvar_t votemap_min_time;
|
||||
extern cvar_t stamina_restore_rate;
|
||||
extern cvar_t logkills;
|
||||
extern cvar_t randomspawn;
|
||||
extern cvar_t playerid_showhealth;
|
||||
|
@ -886,6 +886,18 @@ void PM_WalkMove()
|
||||
{
|
||||
real_t flRatio = (100 - pmove->fuser2 * 0.001 * 19) * 0.01;
|
||||
|
||||
#ifdef REGAMEDLL_ADD
|
||||
// change stamina restoration speed by fps reference
|
||||
if (stamina_restore_rate.value > 0.0f)
|
||||
{
|
||||
real_t flReferenceFrametime = 1.0f / stamina_restore_rate.value;
|
||||
|
||||
float flFrametimeRatio = pmove->frametime / flReferenceFrametime;
|
||||
|
||||
flRatio = pow(flRatio, flFrametimeRatio);
|
||||
}
|
||||
#endif
|
||||
|
||||
pmove->velocity[0] *= flRatio;
|
||||
pmove->velocity[1] *= flRatio;
|
||||
}
|
||||
@ -2611,6 +2623,7 @@ void EXT_FUNC __API_HOOK(PM_Jump)()
|
||||
{
|
||||
// NOTE: don't do it in .f (float)
|
||||
real_t flRatio = (100.0 - pmove->fuser2 * 0.001 * 19.0) * 0.01;
|
||||
|
||||
pmove->velocity[2] *= flRatio;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user