Page 1 of 1

BUGFIX: rifle grenades through doors

Posted: Fri May 28, 2004 10:50 am
by bani

Code: Select all

gentity_t *weapon_gpg40_fire (gentity_t *ent, int grenType) {
        gentity_t       *m/*, *te*/; // JPW NERVE
        trace_t         tr;
        vec3_t          viewpos;
//      float           upangle = 0, pitch;                     //      start with level throwing and adjust based on angle
        vec3_t          tosspos;
        //bani - to prevent nade-through-teamdoor sploit
        vec3_t  orig_viewpos;
                
        AngleVectors(ent->client->ps.viewangles, forward, NULL, NULL);

        VectorCopy(muzzleEffect, tosspos);
                        
        // check for valid start spot (so you don't throw through or get stuck in a wall)
        VectorCopy( ent->s.pos.trBase, viewpos );
        viewpos[2] += ent->client->ps.viewheight;
        VectorCopy( viewpos, orig_viewpos );    //bani - to prevent nade-through-teamdoor sploit
        VectorMA( viewpos, 32, forward, viewpos);
        
        //bani - to prevent nade-through-teamdoor sploit
        trap_Trace( &tr, orig_viewpos, tv( -4.f, -4.f, 0.f ), tv( 4.f, 4.f, 6.f ), viewpos, ent->s.number, MASK_MISSILESHOT );
        if&#40; tr.fraction < 1 &#41; &#123; // oops, bad launch spot &#41; &#123;
                VectorCopy&#40; tr.endpos, tosspos &#41;;
                SnapVectorTowards&#40; tosspos, orig_viewpos &#41;;
        &#125; else &#123;
                trap_Trace &#40;&tr, viewpos, tv&#40;-4.f, -4.f, 0.f&#41;, tv&#40;4.f, 4.f, 6.f&#41;, tosspos, ent->s.number, MASK_MISSILESHOT&#41;;

                if&#40; tr.fraction < 1 &#41; &#123; // oops, bad launch spot
                        VectorCopy&#40;tr.endpos, tosspos&#41;;  
                        SnapVectorTowards&#40; tosspos, viewpos &#41;;
                &#125;
        &#125;

        VectorScale&#40;forward, 2000, forward&#41;;
        
        m = fire_grenade &#40;ent, tosspos, forward, grenType&#41;;
        
        m->damage = 0;
        
        // Ridah, return the grenade so we can do some prediction before deciding if we really want to throw it or not
        return m;
&#125;

Posted: Sat Dec 18, 2004 4:15 am
by Big-Dog
u trying to tell me that i can shot the rifle nade trought the door ? 0o

Posted: Sat Dec 18, 2004 4:57 am
by Mark
Hi,

yes you can. In a special position.

Greets
Mark