X-Git-Url: https://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fserver%2Fmutators%2Fmutator_dodging.qc;h=1d6dd911eb7f958fad79b957c120e06575433530;hb=e14bb786305e05541496fb5b28c090e0ff1b5783;hp=2d2334c563e2a05480e8f27e0fb898f645fe0f61;hpb=834876e6b179cf33ce95102ba25faf754e9a8773;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/server/mutators/mutator_dodging.qc b/qcsrc/server/mutators/mutator_dodging.qc index 2d2334c56..1d6dd911e 100644 --- a/qcsrc/server/mutators/mutator_dodging.qc +++ b/qcsrc/server/mutators/mutator_dodging.qc @@ -27,21 +27,6 @@ // the jump part of the dodge cannot be ramped .float dodging_single_action; -void dodging_Initialize() { - // print("dodging_Initialize\n"); - - self.last_FORWARD_KEY_time = 0; - self.last_BACKWARD_KEY_time = 0; - self.last_RIGHT_KEY_time = 0; - self.last_LEFT_KEY_time = 0; - self.last_dodging_time = 0; - self.dodging_action = 0; - self.dodging_velocity_gain = 0; - self.dodging_single_action = 0; - self.dodging_direction_x = 0; - self.dodging_direction_y = 0; -} - MUTATOR_HOOKFUNCTION(dodging_GetCvars) { GetCvars_handleFloat(get_cvars_s, get_cvars_f, cvar_cl_dodging_timeout, "cl_dodging_timeout"); return 0; @@ -55,6 +40,9 @@ MUTATOR_HOOKFUNCTION(dodging_PlayerPhysics) { float velocity_difference; float clean_up_and_do_nothing; + if (self.deadflag != DEAD_NO) + return 0; + new_velocity_gain = 0; clean_up_and_do_nothing = 0; @@ -114,7 +102,7 @@ MUTATOR_HOOKFUNCTION(dodging_PlayerPhysics) { if (autocvar_sv_dodging_sound == 1) PlayerSound(playersound_jump, CH_PLAYER, VOICETYPE_PLAYERSOUND); - setanim(self, self.anim_jump, TRUE, FALSE, TRUE); + animdecide_setaction(self, ANIMACTION_JUMP, TRUE); self.dodging_single_action = 0; } @@ -241,8 +229,6 @@ MUTATOR_HOOKFUNCTION(dodging_GetPressedKeys) { } } - - if (dodge_detected == 1) { self.last_dodging_time = time; @@ -282,14 +268,17 @@ MUTATOR_DEFINITION(mutator_dodging) MUTATOR_ONADD { g_dodging = 1; - dodging_Initialize(); } // this just turns off the cvar. - MUTATOR_ONREMOVE - { + MUTATOR_ONROLLBACK_OR_REMOVE + { g_dodging = 0; } + MUTATOR_ONREMOVE + { + } + return 0; }