BUGFIX: self-headshot when prone

Discussions about ET modding (sdk code, player/weapon modeling)

Moderators: Forum moderators, developers

Post Reply
User avatar
bani
Site Admin
Posts: 2780
Joined: Sun Jul 21, 2002 3:58 am
Contact:

BUGFIX: self-headshot when prone

Post by bani »

g_weapon.c:

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
change it to:

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
Post Reply