From: Mircea Kitsune Date: Sat, 2 Apr 2011 20:50:15 +0000 (+0300) Subject: Base the lifetime of a damage effect on the damage done. Amount stays the same, but... X-Git-Tag: xonotic-v0.6.0~110^2^2~167 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=2f767a71a6ce3e8fa1c47da83df542ea09e5a1cc;p=xonotic%2Fxonotic-data.pk3dir.git Base the lifetime of a damage effect on the damage done. Amount stays the same, but the more damage the longer the effect will last. Does not add and extra networking, as this is done server-side. --- diff --git a/defaultXonotic.cfg b/defaultXonotic.cfg index b6f23383c..2a4d0d954 100644 --- a/defaultXonotic.cfg +++ b/defaultXonotic.cfg @@ -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" diff --git a/qcsrc/server/g_damage.qc b/qcsrc/server/g_damage.qc index ae9d985dc..55dc6f645 100644 --- a/qcsrc/server/g_damage.qc +++ b/qcsrc/server/g_damage.qc @@ -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; diff --git a/qcsrc/server/g_violence.qc b/qcsrc/server/g_violence.qc index 7f17739aa..932651de7 100644 --- a/qcsrc/server/g_violence.qc +++ b/qcsrc/server/g_violence.qc @@ -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;