//----------------------------------------------------- void turret_head_think( gentity_t *self ) //----------------------------------------------------- { gentity_t *top = &g_entities[self->r.ownerNum]; if ( !top ) { return; } if ( self->painDebounceTime > level.time ) { vec3_t v_up; VectorSet( v_up, 0, 0, 1 ); G_PlayEffect( EFFECT_SPARKS, self->r.currentOrigin, v_up ); if ( Q_irand( 0, 3) ) {//25% chance of still firing return; } } // if it's time to fire and we have an enemy, then gun 'em down! pushDebounce time controls next fire time if ( self->enemy && self->setTime < level.time && self->attackDebounceTime < level.time ) { vec3_t fwd, org; // set up our next fire time self->setTime = level.time + self->wait; VectorCopy( top->r.currentOrigin, org ); org[2] += top->r.maxs[2]-8; AngleVectors( top->r.currentAngles, fwd, NULL, NULL ); VectorMA( org, START_DIS, fwd, org ); turret_fire( top, org, fwd ); self->fly_sound_debounce_time = level.time;//used as lastShotTime } }
//----------------------------------------------------- void turret_head_think( gentity_t *self ) //----------------------------------------------------- { gentity_t *top = &g_entities[self->r.ownerNum]; if ( !top ) { return; } if ( self->painDebounceTime > level.time ) { vec3_t v_up; VectorSet( v_up, 0, 0, 1 ); G_PlayEffect( EFFECT_SPARKS, self->r.currentOrigin, v_up ); if ( Q_irand( 0, 3) ) {//25% chance of still firing return; } } // if it's time to fire and we have an enemy, then gun 'em down! pushDebounce time controls next fire time if ( self->enemy && self->setTime < level.time && self->attackDebounceTime < level.time ) { vec3_t fwd, org; // set up our next fire time self->setTime = level.time + self->wait; /* mdxaBone_t boltMatrix; // Getting the flash bolt here gi.G2API_GetBoltMatrix( self->ghoul2, self->playerModel, self->torsoBolt, &boltMatrix, self->r.currentAngles, self->r.currentOrigin, (cg.time?cg.time:level.time), NULL, self->s.modelScale ); gi.G2API_GiveMeVectorFromMatrix( boltMatrix, ORIGIN, org ); gi.G2API_GiveMeVectorFromMatrix( boltMatrix, POSITIVE_Y, fwd ); */ VectorCopy( top->r.currentOrigin, org ); org[2] += top->r.maxs[2]-8; AngleVectors( top->r.currentAngles, fwd, NULL, NULL ); VectorMA( org, START_DIS, fwd, org ); turret_fire( top, org, fwd ); self->fly_sound_debounce_time = level.time;//used as lastShotTime } }