I don’t know if this will work but it should be close…
Find:
if ( (traceEnt->client->ps.pm_type == PM_DEAD) && (traceEnt->client->sess.sessionTeam == ent->client->sess.sessionTeam)) {
// Mad Doc - TDF moved all the revive stuff into its own function
usedSyringe = ReviveEntity( ent, traceEnt );
// OSP - syringe "hit"
if(g_gamestate.integer == GS_PLAYING) ent->client->sess.aWeaponStats[WS_SYRINGE].hits++;
if(ent && ent->client) G_LogPrintf("Medic_Revive: %d %d
", ent - g_entities, traceEnt - g_entities); // OSP
if( !traceEnt->isProp ) { // Gordon: flag for if they were teamkilled or not
AddScore(ent, WOLF_MEDIC_BONUS); // JPW NERVE props to the medic for the swift and dexterous bit o healitude
G_AddSkillPoints( ent, SK_FIRST_AID, 4.f );
G_DebugAddSkillPoints( ent, SK_FIRST_AID, 4.f, "reviving a player" );
}
// Arnout: calculate ranks to update numFinalDead arrays. Have to do it manually as addscore has an early out
if( g_gametype.integer == GT_WOLF_LMS ) {
CalculateRanks();
}
}
Below it add:
else if ( (traceEnt->client->ps.pm_type != PM_DEAD) && (traceEnt->client->sess.sessionTeam != ent->client->sess.sessionTeam)) {
//damage = traceEnt->health;
damage = 200;
mod = MOD_SYRINGE;
G_Damage( traceEnt, ent, ent, vec3_origin, tr.endpos, damage , 0, mod);
}
You might also want to do this.
Find:
if(mod != MOD_SYRINGE) {
attacker->client->sess.damage_given += dmg;
targ->client->sess.damage_received += dmg;
if(targ->health <= 0) {
attacker->client->sess.kills++;
targ->client->sess.deaths++;
}
}
and replace it with:
attacker->client->sess.damage_given += dmg;
targ->client->sess.damage_received += dmg;
if(targ->health <= 0) {
attacker->client->sess.kills++;
targ->client->sess.deaths++;
}