in g_combat.c goto :
G_Damage()
skip down and find something that looks like this:
// do the damage
if (take) {
targ->health = targ->health - take;
if ( targ->client ) {
targ->client->ps.stats[STAT_HEALTH] = targ->health;
}
if ( targ->health <= 0 ) {
if ( client )
targ->flags |= FL_NO_KNOCKBACK;
if (targ->health < -999)
targ->health = -999;
targ->enemy = attacker;
targ->die (targ, inflictor, attacker, take, mod);
return;
} else if ( targ->pain ) {
targ->pain (targ, attacker, take);
}
}
under that add this (mind the cvar):
if (g_vampire.integer){
if(attacker->s.weapon == WP_KNIFE){
attacker->health = attacker->health + take;
if (attacker->health > 500) {
attacker->health = 500;
}
}
}