BUGFIX: rifle grenades through doors

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: rifle grenades through doors

Post 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;
Last edited by bani on Sun Jun 12, 2005 3:12 pm, edited 1 time in total.
Big-Dog
Posts: 8
Joined: Fri Dec 17, 2004 3:50 am

Post by Big-Dog »

u trying to tell me that i can shot the rifle nade trought the door ? 0o
Image
Mark
Posts: 411
Joined: Thu Jan 01, 2004 6:10 am
Location: #vpclan@qnet

Post by Mark »

Hi,

yes you can. In a special position.

Greets
Mark
Get owned at: Gaming@d1p.de (217.172.182.126:27960)
Image
Hi! I'm a .signature *virus*! Copy me into your ~/.signature to help me spread!
Post Reply