]> git.rm.cloudns.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
Base the lifetime of a damage effect on the damage done. Amount stays the same, but...
authorMircea Kitsune <sonichedgehog_hyperblast00@yahoo.com>
Sat, 2 Apr 2011 20:50:15 +0000 (23:50 +0300)
committerMircea Kitsune <sonichedgehog_hyperblast00@yahoo.com>
Sat, 2 Apr 2011 20:50:15 +0000 (23:50 +0300)
defaultXonotic.cfg
qcsrc/server/g_damage.qc
qcsrc/server/g_violence.qc

index b6f23383c47297600238aab05777695f61e8cb89..2a4d0d9549776212af2b2fe8750b5851730e5d70 100644 (file)
@@ -350,7 +350,7 @@ set g_telefrags_avoid 1 "when teleporters have a random destination, avoid telep
 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 sv_damageeffect_tick 0.05 "how often the damage effect is updated (particles per second), low values might cause lag"
-set sv_damageeffect_lifetime 3 "how much a damage effect lasts"
+set sv_damageeffect_lifetime 0.1 "how much a damage effect lasts, multiplied by damage amount"
 
 set g_respawn_ghosts 1 "if 1 dead bodies become ghosts and float away when the player respawns"
 set g_respawn_ghosts_speed 5 "the speed with which respawn ghosts float and rotate"
index ae9d985dc7c2e13390ae686167a864836f6bb854..55dc6f645dc742136df45e96c020ee7b5554b58b 100644 (file)
@@ -499,7 +499,7 @@ void Damage (entity targ, entity inflictor, entity attacker, float damage, float
 {
        // if the target is a player or dead body, activate damage effects
        if(targ.classname == "player" || targ.classname == "body")
-               Violence_DamageEffect_SetRepeat(targ, DEATH_WEAPONOF(deathtype));
+               Violence_DamageEffect_SetRepeat(targ, damage, DEATH_WEAPONOF(deathtype));
 
        float mirrordamage;
        float mirrorforce;
index 7f17739aa5d8e8bff4e10236489825da6772c4a1..932651de7c06d0c7563f46c36e7d3a1b71625378 100644 (file)
@@ -79,7 +79,7 @@ void Violence_DamageEffect_DoRepeat()
        self.nextthink = time + autocvar_sv_damageeffect_tick;
 }
 
-void Violence_DamageEffect_SetRepeat(entity pl, float type)
+void Violence_DamageEffect_SetRepeat(entity pl, float damage, float type)
 {
        if(sv_gentle)
                return;
@@ -94,7 +94,7 @@ void Violence_DamageEffect_SetRepeat(entity pl, float type)
        repeater.owner = pl;
        repeater.origin = pl.origin;
        repeater.cnt = type;
-       repeater.lifetime = time + autocvar_sv_damageeffect_lifetime;
+       repeater.lifetime = time + (autocvar_sv_damageeffect_lifetime * damage);
        repeater.think = Violence_DamageEffect_DoRepeat;
        repeater.nextthink = time;