forward velocity.
%fVec = %pl.getForwardVector();
%fX = getWord(%fVec,0);
%fY = getWord(%fVec,1);
%eyeVec = %pl.getEyeVector();
%eX = getWord(%eyeVec,0);
%eY = getWord(%eyeVec,1);
%eZ = getWord(%eyeVec,2);
%eXY = mSqrt(%eX*%eX+%eY*%eY);
%aimVec = (%fX*%eXY) @ " " @ (%fY*%eXY) @ " " @ %eZ;
%obj.setVelocity(vectorAdd(%pl.getVelocity(),vectorScale(%aimVec,"25")));
package TriggerType
{
function armor::onTrigger(%armor, %player, %slot, %value)
{
if(%slot == 1 && getSimTime()-%player.lastTriggerLaunch > 5000)
{
%player.lastTriggerLaunch = getSimTime();
%fVec = %player.getForwardVector();
%fX = getWord(%fVec,0);
%fY = getWord(%fVec,1);
%eyeVec = %player.getEyeVector();
%eX = getWord(%eyeVec,0);
%eY = getWord(%eyeVec,1);
%eZ = getWord(%eyeVec,2);
%eXY = mSqrt(%eX*%eX+%eY*%eY);
%aimVec = (%fX*%eXY) @ " " @ (%fY*%eXY) @ " " @ %eZ;
%obj.setVelocity(vectorAdd(%player.getVelocity(),vectorScale(%aimVec,"25")));
}
parent::onTrigger(%armor, %player, %slot, %value);
}
};
activatePackage(TriggerType);