Code: Select all
qboolean Bullet_Fire_Extended(gentity_t *source, gentity_t *attacker, vec3_t start, vec3_t end, float spread, int damage, qboolean distance_falloff) {
trace_t tr;
gentity_t *tent;
gentity_t *traceEnt;
qboolean hitClient = qfalse;
qboolean reducedDamage = qfalse;
G_HistoricalTrace(source, &tr, start, NULL, NULL, end, source->s.number, MASK_SHOT);
// bullet debugging using Q3A's railtrail
Code: Select all
qboolean Bullet_Fire_Extended(gentity_t *source, gentity_t *attacker, vec3_t start, vec3_t end, float spread, int damage, qboolean distance_falloff) {
trace_t tr;
gentity_t *tent;
gentity_t *traceEnt;
qboolean hitClient = qfalse;
qboolean reducedDamage = qfalse;
qboolean waslinked = qfalse;
//bani - prevent shooting ourselves in the head when prone, firing through a breakable
if( g_entities[ attacker->s.number ].client && g_entities[ attacker->s.number ].r.linked ==
qtrue ) {
g_entities[ attacker->s.number ].r.linked = qfalse;
waslinked = qtrue;
}
G_HistoricalTrace(source, &tr, start, NULL, NULL, end, source->s.number, MASK_SHOT);
//bani - prevent shooting ourselves in the head when prone, firing through a breakable
if( waslinked == qtrue ) {
g_entities[ attacker->s.number ].r.linked = qtrue;
}
// bullet debugging using Q3A's railtrail