X-Git-Url: http://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fcommon%2Fmutators%2Fmutator%2Fvampire%2Fsv_vampire.qc;h=5b4c33e7bf02052fb48e66e99a4afdbd6f9e6a45;hb=4e21f418ad9e6287efb942c1fa2861a51981110a;hp=12e4bdea43531a6fb1c8cbfc5154257f25fa9687;hpb=1a18ff8e9f729e903015f5baa6605c92c92ea13d;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/common/mutators/mutator/vampire/sv_vampire.qc b/qcsrc/common/mutators/mutator/vampire/sv_vampire.qc index 12e4bdea4..5b4c33e7b 100644 --- a/qcsrc/common/mutators/mutator/vampire/sv_vampire.qc +++ b/qcsrc/common/mutators/mutator/vampire/sv_vampire.qc @@ -8,19 +8,17 @@ REGISTER_MUTATOR(vampire, expr_evaluate(autocvar_g_vampire) && !MUTATOR_IS_ENABL MUTATOR_HOOKFUNCTION(vampire, PlayerDamage_SplitHealthArmor) { + // NOTE: vampire buff PlayerDamage_SplitHealthArmor code is similar entity frag_attacker = M_ARGV(1, entity); entity frag_target = M_ARGV(2, entity); float health_take = bound(0, M_ARGV(4, float), GetResource(frag_target, RES_HEALTH)); - float armor_take = bound(0, M_ARGV(5, float), GetResource(frag_target, RES_ARMOR)); - float damage_take = (autocvar_g_vampire_use_total_damage) ? health_take + armor_take : health_take; + float armor_take = bound(0, M_ARGV(5, float), GetResource(frag_target, RES_ARMOR)); + float damage_take = (autocvar_g_vampire_use_total_damage) ? health_take + armor_take : health_take; - if(time >= frag_target.spawnshieldtime && - frag_target != frag_attacker && - IS_PLAYER(frag_attacker) && - !IS_DEAD(frag_target)) + if (time >= frag_target.spawnshieldtime && frag_target != frag_attacker + && IS_PLAYER(frag_attacker) && !IS_DEAD(frag_target) && !STAT(FROZEN, frag_target)) { - GiveResource(frag_attacker, RES_HEALTH, - autocvar_g_vampire_factor * damage_take); + GiveResource(frag_attacker, RES_HEALTH, autocvar_g_vampire_factor * damage_take); } }