]> git.rm.cloudns.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
Arrange the code better, and allow setting effects on players and gibs independently.
authorMircea Kitsune <sonichedgehog_hyperblast00@yahoo.com>
Thu, 25 Aug 2011 15:37:47 +0000 (18:37 +0300)
committerMircea Kitsune <sonichedgehog_hyperblast00@yahoo.com>
Thu, 25 Aug 2011 15:37:47 +0000 (18:37 +0300)
defaultXonotic.cfg
qcsrc/client/autocvars.qh
qcsrc/client/damage.qc

index 4bd3849e586ee2bcafb14b4b4e41345d760bc600..99fa2fb870f71f82f5ca458ef0c512e862afdd8f 100644 (file)
@@ -358,9 +358,8 @@ set g_telefrags_teamplay 1 "never telefrag team mates"
 set g_telefrags_avoid 1 "when teleporters have a random destination, avoid teleporting to locations where a telefrag would happen"
 set g_teleport_maxspeed 0 "maximum speed that a player can keep when going through a teleporter (if a misc_teleporter_dest also has a cap the smallest one of these will be used), 0 = don't limit, -1 = keep no speed"
 
-set cl_damageeffect 1 "enable weapon damage effects on players, values between 0 and 1 specify probability of the effect showing on players each tick (used to reduce the effect)"
-set cl_damageeffect_gibs 0.15 "probability of the effect showing on gibs each tick (used to reduce the effect)"
-set cl_damageeffect_tick 0.05 "how often the damage effect is updated (particles per second), low values might cause lag"
+set cl_damageeffect_player 0.05 "enable weapon damage effects on players, value specifies how often to show the effect"
+set cl_damageeffect_gibs 0.0125 "enable weapon damage effects on gibs, value specifies how often to show the effect"
 set cl_damageeffect_lifetime 0.04 "how much a damage effect lasts, multiplied by damage amount"
 set cl_damageeffect_lifetime_max 5 "maximum amount of lifetime a damage effect may have at a time"
 
index 10fee189451b52495bf98672d0e0756d4f774e6f..915de339d6332c6cd19c0bb2df3a5119608db921 100644 (file)
@@ -362,5 +362,5 @@ var float autocvar_cl_eventchase_distance = 140;
 var float autocvar_cl_eventchase_speed = 1.3;
 float autocvar_cl_lerpexcess;
 string autocvar__togglezoom;
-float autocvar_cl_damageeffect;
+float autocvar_cl_damageeffect_player;
 float autocvar_cl_damageeffect_gibs;
index 1387a465858c2ceb52250b4d2ea50e64c0810132..5d2d50551ba7311152759c7a00e53b2561551ce7 100644 (file)
@@ -242,14 +242,15 @@ void Ent_DamageEffect_Think()
 {
        self.nextthink = time;
 
+       float foundgib;
        entity entcs;
+
        entcs = entcs_receiver[self.team];
        if(!entcs)
                return;
 
        // Scan the owner of all gibs in the world. If a gib owner is the same as the player we're applying
        // the effect to, it means our player is gibbed. Therefore, apply particles to the gibs instead.
-       float foundgib;
        entity head;
        for(head = world; (head = find(head, classname, "gib")); )
        {
@@ -260,12 +261,11 @@ void Ent_DamageEffect_Think()
                        foundgib = TRUE;
                }
        }
-       if(foundgib) // don't show effects on the invisible dead body if gibs exist
-               return;
 
-       // if we aren't in third person mode, hide our own damage effect
+       if(foundgib || !autocvar_cl_damageeffect_player)
+               return; // don't show effects on the invisible dead body if gibs exist
        if(self.team == player_localentnum - 1 && !autocvar_chase_active)
-               return;
+               return; // if we aren't in third person mode, hide own damage effect
 
        // Now apply the effect to actual players
        pointparticles(self.partnum, entcs.origin, '0 0 0', 1);
@@ -283,7 +283,7 @@ void Ent_DamageEffect()
        specnum1 = ReadByte(); // player species
        entnumber = ReadByte(); // player entnum
 
-       if not(autocvar_cl_damageeffect)
+       if(!autocvar_cl_damageeffect_player && !autocvar_cl_damageeffect_gibs)
                return;
        if(autocvar_cl_gentle || autocvar_cl_gentle_damage)
                return;