so for those who havent got a clue how to transfer a pf into pf_quattro 0o.
find in g_missile :
gentity_t *fire_rocket
under it add:
gentity_t *bolt;
VectorNormalize (dir);
bolt = G_Spawn();
bolt->classname = "rocket";
bolt->nextthink = level.time + 20000; // push it out a little
bolt->think = G_ExplodeMissile;
bolt->accuracy = 4;
bolt->s.eType = ET_MISSILE;
bolt->r.svFlags = SVF_BROADCAST;
//DHM - Nerve :: Use the correct weapon in multiplayer
bolt->s.weapon = self->s.weapon;
bolt->r.ownerNum = self->s.number;
bolt->parent = self;
bolt->damage = G_GetWeaponDamage(WP_PANZERFAUST); // JPW NERVE
bolt->splashDamage = G_GetWeaponDamage(WP_PANZERFAUST); // JPW NERVE
bolt->splashRadius = 300; //G_GetWeaponDamage(WP_PANZERFAUST); // Arnout : hardcoded bleh hack
bolt->methodOfDeath = MOD_PANZERFAUST;
bolt->splashMethodOfDeath = MOD_PANZERFAUST;
// bolt->clipmask = MASK_SHOT;
bolt->clipmask = MASK_MISSILESHOT;
bolt->s.pos.trType = TR_LINEAR;
bolt->s.pos.trTime = level.time - MISSILE_PRESTEP_TIME; // move a bit on the very first frame
VectorCopy( start, bolt->s.pos.trBase );
bolt->s.pos.trBase[0] +=40;
// JPW NERVE
VectorScale(dir,2500,bolt->s.pos.trDelta);
// jpw
SnapVector( bolt->s.pos.trDelta ); // save net bandwidth
VectorCopy (start, bolt->r.currentOrigin);
if(self->client) {
bolt->s.teamNum = self->client->sess.sessionTeam;
}
bolt = G_Spawn();
bolt->classname = "rocket";
bolt->nextthink = level.time + 20000; // push it out a little
bolt->think = G_ExplodeMissile;
bolt->accuracy = 4;
bolt->s.eType = ET_MISSILE;
bolt->r.svFlags = SVF_BROADCAST;
//DHM - Nerve :: Use the correct weapon in multiplayer
bolt->s.weapon = self->s.weapon;
bolt->r.ownerNum = self->s.number;
bolt->parent = self;
bolt->damage = G_GetWeaponDamage(WP_PANZERFAUST); // JPW NERVE
bolt->splashDamage = G_GetWeaponDamage(WP_PANZERFAUST); // JPW NERVE
bolt->splashRadius = 300; //G_GetWeaponDamage(WP_PANZERFAUST); // Arnout : hardcoded bleh hack
bolt->methodOfDeath = MOD_PANZERFAUST;
bolt->splashMethodOfDeath = MOD_PANZERFAUST;
// bolt->clipmask = MASK_SHOT;
bolt->clipmask = MASK_MISSILESHOT;
bolt->s.pos.trType = TR_LINEAR;
bolt->s.pos.trTime = level.time - MISSILE_PRESTEP_TIME; // move a bit on the very first frame
VectorCopy( start, bolt->s.pos.trBase );
bolt->s.pos.trBase[0] -=40;
// JPW NERVE
VectorScale(dir,2500,bolt->s.pos.trDelta);
// jpw
SnapVector( bolt->s.pos.trDelta ); // save net bandwidth
VectorCopy (start, bolt->r.currentOrigin);
if(self->client) {
bolt->s.teamNum = self->client->sess.sessionTeam;
}
bolt = G_Spawn();
bolt->classname = "rocket";
bolt->nextthink = level.time + 20000; // push it out a little
bolt->think = G_ExplodeMissile;
bolt->accuracy = 4;
bolt->s.eType = ET_MISSILE;
bolt->r.svFlags = SVF_BROADCAST;
//DHM - Nerve :: Use the correct weapon in multiplayer
bolt->s.weapon = self->s.weapon;
bolt->r.ownerNum = self->s.number;
bolt->parent = self;
bolt->damage = G_GetWeaponDamage(WP_PANZERFAUST); // JPW NERVE
bolt->splashDamage = G_GetWeaponDamage(WP_PANZERFAUST); // JPW NERVE
bolt->splashRadius = 300; //G_GetWeaponDamage(WP_PANZERFAUST); // Arnout : hardcoded bleh hack
bolt->methodOfDeath = MOD_PANZERFAUST;
bolt->splashMethodOfDeath = MOD_PANZERFAUST;
// bolt->clipmask = MASK_SHOT;
bolt->clipmask = MASK_MISSILESHOT;
bolt->s.pos.trType = TR_LINEAR;
bolt->s.pos.trTime = level.time - MISSILE_PRESTEP_TIME; // move a bit on the very first frame
VectorCopy( start, bolt->s.pos.trBase );
bolt->s.pos.trBase[2] +=40;
// JPW NERVE
VectorScale(dir,2500,bolt->s.pos.trDelta);
// jpw
SnapVector( bolt->s.pos.trDelta ); // save net bandwidth
VectorCopy (start, bolt->r.currentOrigin);
if(self->client) {
bolt->s.teamNum = self->client->sess.sessionTeam;
}
bolt = G_Spawn();
bolt->classname = "rocket";
bolt->nextthink = level.time + 20000; // push it out a little
bolt->think = G_ExplodeMissile;
bolt->accuracy = 4;
bolt->s.eType = ET_MISSILE;
bolt->r.svFlags = SVF_BROADCAST;
//DHM - Nerve :: Use the correct weapon in multiplayer
bolt->s.weapon = self->s.weapon;
bolt->r.ownerNum = self->s.number;
bolt->parent = self;
bolt->damage = G_GetWeaponDamage(WP_PANZERFAUST); // JPW NERVE
bolt->splashDamage = G_GetWeaponDamage(WP_PANZERFAUST); // JPW NERVE
bolt->splashRadius = 300; //G_GetWeaponDamage(WP_PANZERFAUST); // Arnout : hardcoded bleh hack
bolt->methodOfDeath = MOD_PANZERFAUST;
bolt->splashMethodOfDeath = MOD_PANZERFAUST;
// bolt->clipmask = MASK_SHOT;
bolt->clipmask = MASK_MISSILESHOT;
bolt->s.pos.trType = TR_LINEAR;
bolt->s.pos.trTime = level.time - MISSILE_PRESTEP_TIME; // move a bit on the very first frame
VectorCopy( start, bolt->s.pos.trBase );
bolt->s.pos.trBase[2] -=40;
// JPW NERVE
VectorScale(dir,2500,bolt->s.pos.trDelta);
// jpw
SnapVector( bolt->s.pos.trDelta ); // save net bandwidth
VectorCopy (start, bolt->r.currentOrigin);
if(self->client) {
bolt->s.teamNum = self->client->sess.sessionTeam;
}
return bolt;
}
thats the easiest way…
