float autocvar_g_campcheck_damage;
float autocvar_g_campcheck_distance;
float autocvar_g_campcheck_interval;
+float autocvar_g_jump_grunt;
self.flags &~= FL_JUMPRELEASED;
animdecide_setaction(self, ANIMACTION_JUMP, TRUE);
+
+ if(autocvar_g_jump_grunt)
+ PlayerSound(playersound_jump, CH_PLAYER, VOICETYPE_PLAYERSOUND);
self.restart_jump = -1; // restart jump anim next time
// value -1 is used to not use the teleport bit (workaround for tiny hitch when re-jumping)
CHECK_MUTATOR_ADD("g_random_gravity", mutator_random_gravity, 1);
CHECK_MUTATOR_ADD("g_norecoil", mutator_norecoil, 1);
CHECK_MUTATOR_ADD("g_multijump", mutator_multijump, 1);
- CHECK_MUTATOR_ADD("g_jump_grunt", mutator_jump_grunt, 1);
CHECK_MUTATOR_ADD("g_footsteps", mutator_footsteps, 1);
CHECK_MUTATOR_ADD("g_melee_only", mutator_melee_only, !cvar("g_minstagib"));
CHECK_MUTATOR_ADD("g_nades", mutator_nades, 1);
+++ /dev/null
-MUTATOR_HOOKFUNCTION(grunt_PlayerJump)
-{
- if(self.flags & FL_ONGROUND)
- PlayerSound(playersound_jump, CH_PLAYER, VOICETYPE_PLAYERSOUND);
-
- return FALSE;
-}
-
-MUTATOR_HOOKFUNCTION(grunt_BuildMutatorsString)
-{
- ret_string = strcat(ret_string, ":JumpGrunt");
- return FALSE;
-}
-
-MUTATOR_DEFINITION(mutator_jump_grunt)
-{
- MUTATOR_HOOK(PlayerJump, grunt_PlayerJump, CBC_ORDER_ANY);
- MUTATOR_HOOK(BuildMutatorsString, grunt_BuildMutatorsString, CBC_ORDER_ANY);
-
- return FALSE;
-}
MUTATOR_DECLARATION(mutator_random_gravity);
MUTATOR_DECLARATION(mutator_norecoil);
MUTATOR_DECLARATION(mutator_multijump);
-MUTATOR_DECLARATION(mutator_jump_grunt);
MUTATOR_DECLARATION(mutator_footsteps);
MUTATOR_DECLARATION(mutator_melee_only);
MUTATOR_DECLARATION(mutator_nades);
mutators/mutator_random_gravity.qc
mutators/mutator_norecoil.qc
mutators/mutator_multijump.qc
-mutators/mutator_jump_grunt.qc
mutators/mutator_footsteps.qc
mutators/mutator_melee_only.qc
mutators/mutator_nades.qc