Merge branch 'master' into Mario/rifle_arena
authorMario <mario.mario@y7mail.com>
Wed, 5 Jun 2013 00:01:07 +0000 (10:01 +1000)
committerMario <mario.mario@y7mail.com>
Wed, 5 Jun 2013 00:01:07 +0000 (10:01 +1000)
1  2 
defaultXonotic.cfg
qcsrc/common/notifications.qh
qcsrc/server/autocvars.qh
qcsrc/server/cl_physics.qc
qcsrc/server/mutators/gamemode_freezetag.qc
qcsrc/server/mutators/mutator_dodging.qc
qcsrc/server/mutators/mutator_dodging.qh

@@@ -467,6 -467,6 +467,7 @@@ set sv_dodging_ramp_time 0.1 "a ramp s
  set sv_dodging_height_threshold 10 "the maximum height above ground where to allow dodging"
  set sv_dodging_wall_distance_threshold 10 "the maximum distance from a wall that still allows dodging"
  set sv_dodging_sound 1 "if 1 dodging makes a sound. if 0 dodging is silent"
++set sv_dodging_frozen 0 "allow dodging while frozen"
  
  set g_spawn_alloweffects 1 "allow clients to enable spawn point and event effects such as particles and sounds, see cl_spawn_ cvars for more info"
  set g_spawn_furthest 1 "this amount of the spawns shall be far away from any players"
@@@ -261,9 -261,8 +261,9 @@@ void Send_Notification_WOVA
        MSG_INFO_NOTIF(1, INFO_DEATH_MURDER_CHEAT,             3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "notify_death",         _("^BG%s%s^K1 was unfairly eliminated by ^BG%s^K1%s%s\n"), "") \
        MSG_INFO_NOTIF(1, INFO_DEATH_MURDER_DROWN,             3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "notify_water",         _("^BG%s%s^K1 was drowned by ^BG%s^K1%s%s\n"), "") \
        MSG_INFO_NOTIF(1, INFO_DEATH_MURDER_FALL,              3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "notify_fall",          _("^BG%s%s^K1 was grounded by ^BG%s^K1%s%s\n"), "") \
-       MSG_INFO_NOTIF(1, INFO_DEATH_MURDER_FIRE,              3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "notify_death",         _("^BG%s%s^K1 was burnt up into a crisp by ^BG%s^K1%s%s\n"), _("^BG%s^K1 felt a little hot from ^BG%s^K1's fire^K1%s%s\n")) \
+       MSG_INFO_NOTIF(1, INFO_DEATH_MURDER_FIRE,              3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "notify_death",         _("^BG%s%s^K1 was burnt up into a crisp by ^BG%s^K1%s%s\n"), _("^BG%s%s^K1 felt a little hot from ^BG%s^K1's fire^K1%s%s\n")) \
        MSG_INFO_NOTIF(1, INFO_DEATH_MURDER_LAVA,              3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "notify_lava",          _("^BG%s%s^K1 was cooked by ^BG%s^K1%s%s\n"), "") \
 +      MSG_INFO_NOTIF(1, INFO_DEATH_MURDER_NADE_NORMAL,       3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "notify_death",         _("^BG%s%s^K1 was blown up by ^BG%s^K1's nade%s%s\n"), "") \
        MSG_INFO_NOTIF(1, INFO_DEATH_MURDER_SHOOTING_STAR,     3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "notify_shootingstar",  _("^BG%s%s^K1 was shot into space by ^BG%s^K1%s%s\n"), "") \
        MSG_INFO_NOTIF(1, INFO_DEATH_MURDER_SLIME,             3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "notify_slime",         _("^BG%s%s^K1 was slimed by ^BG%s^K1%s%s\n"), "") \
        MSG_INFO_NOTIF(1, INFO_DEATH_MURDER_SWAMP,             3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1",  "notify_slime",         _("^BG%s%s^K1 was preserved by ^BG%s^K1%s%s\n"), "") \
@@@ -1115,6 -1115,6 +1115,7 @@@ float autocvar_sv_dodging_sound
  float autocvar_sv_dodging_up_speed;
  float autocvar_sv_dodging_wall_distance_threshold;
  float autocvar_sv_dodging_wall_dodging;
++float autocvar_sv_dodging_frozen;
  float autocvar_sv_doublejump;
  float autocvar_sv_eventlog;
  float autocvar_sv_eventlog_console;
@@@ -23,7 -23,7 +23,7 @@@ When you press the jump ke
  */
  void PlayerJump (void)
  {
--      if(self.freezetag_frozen)
++      if(self.freezetag_frozen && !self.dodging_action)
                return; // no jumping in freezetag when frozen
  
        float mjumpheight;
@@@ -523,7 -523,7 +523,15 @@@ MUTATOR_HOOKFUNCTION(freezetag_PlayerPh
  {
        if(self.freezetag_frozen)
        {
--              self.movement = '0 0 0';
++              if(autocvar_sv_dodging_frozen)
++              {
++                      self.movement_x = bound(-5, self.movement_x, 5);
++                      self.movement_y = bound(-5, self.movement_y, 5);
++                      self.movement_z = bound(-5, self.movement_z, 5);
++              }
++              else
++                      self.movement = '0 0 0';
++                      
                self.disableclientprediction = 1;
        }
        return 1;
  // and to ramp up the dodge acceleration in the physics hook.
  .float last_dodging_time;
  
--// set to 1 to indicate dodging has started.. reset by physics hook after dodge has been done..
--.float dodging_action;
--
  // This is the velocity gain to be added over the ramp time.
  // It will decrease from frame to frame during dodging_action = 1
  // until it's 0.
  .float dodging_velocity_gain;
  
--// the jump part of the dodge cannot be ramped
--.float dodging_single_action;
--
  MUTATOR_HOOKFUNCTION(dodging_GetCvars) {
        GetCvars_handleFloat(get_cvars_s, get_cvars_f, cvar_cl_dodging_timeout, "cl_dodging_timeout");
        return 0;
@@@ -1,2 -1,2 +1,7 @@@
  float g_dodging;
  
++// set to 1 to indicate dodging has started.. reset by physics hook after dodge has been done..
++.float dodging_action;
++
++// the jump part of the dodge cannot be ramped
++.float dodging_single_action;