public virtual void UpdateProjectiles(GameTime gameTime) { //Foreach existing projectile that has interacted with the force for (int i = 0; i < forceInteraction.Count; i++) { //Spawn a new force particle special effect if its timer reaches zero if (forceInteraction[i].ParticleTimer <= 0) { forceInteraction[i].ParticleTimer = (Parameter.WeatherEffectForceSpawnParticleStartingTime + (float)Parameter.Random.NextDouble()) / 32f; SpecialEffectBuilder.ForceRandomParticle(forceInteraction[i].Projectile.Position + new Vector2(30 * (0.5f - (float)Parameter.Random.NextDouble()), 30 * (0.5f - (float)Parameter.Random.NextDouble()))); } else { forceInteraction[i].ParticleTimer -= (float)gameTime.ElapsedGameTime.TotalSeconds; } } }