Because you took out the if(%val) part.
package flameraltFire
{
function Armor::onTrigger(%this, %player, %slot, %val)
{
if(%player.getMountedImage(0) $= FlamerImage.getID() && %slot $= 4 && %val)
{
%projectile = flamerAirProjectile;
%vector = %player.getMuzzleVector(%slot);
%objectVelocity = %player.getVelocity();
%vector1 = VectorScale(%vector, %projectile.muzzleVelocity);
%vector2 = VectorScale(%objectVelocity, %projectile.velInheritFactor);
%velocity = VectorAdd(%vector1,%vector2);
%p = new Projectile()
{
dataBlock = %projectile;
initialVelocity = %velocity;
initialPosition = %player.getMuzzlePoint(%slot);
sourceObject = %player;
sourceSlot = %slot;
client = %player.client;
};
MissionCleanup.add(%p);
return %p;
}
Parent::onTrigger(%this, %player, %slot, %val);
}
};
activatePackage(flameraltFire);
Try that.