private void AddProjectile(MyWeaponPropertiesWrapper weaponProperties, Vector3D initialPosition, Vector3D initialVelocity, Vector3D direction) { Vector3 projectileForwardVector = direction; if (weaponProperties.IsDeviated) { projectileForwardVector = GetDeviatedVector(weaponProperties.WeaponDefinition.DeviateShotAngle, direction); } MyProjectiles.Add(weaponProperties.GetCurrentAmmoDefinitionAs <MyProjectileAmmoDefinition>(), initialPosition, initialVelocity, projectileForwardVector, m_user); }
private void AddProjectile(MyWeaponPropertiesWrapper weaponProperties, Vector3D initialPosition, Vector3D initialVelocity, Vector3D direction, MyEntity owner) { Vector3 projectileForwardVector = direction; if (weaponProperties.IsDeviated) { projectileForwardVector = GetDeviatedVector(m_shotProjectiles + direction.GetHashCode(), weaponProperties.WeaponDefinition.DeviateShotAngle, direction); projectileForwardVector.Normalize(); } m_shotProjectiles++; MyProjectiles.Add(weaponProperties.GetCurrentAmmoDefinitionAs <MyProjectileAmmoDefinition>(), initialPosition, initialVelocity, projectileForwardVector, m_user, owner); }