private static void Spawn_StellarTune(ParticleOrchestraSettings settings) { float num = Main.rand.NextFloat() * ((float)Math.PI * 2f); float num2 = 5f; Vector2 vector = new Vector2(0.7f); for (float num3 = 0f; num3 < 1f; num3 += 1f / num2) { float num4 = (float)Math.PI * 2f * num3 + num + Main.rand.NextFloatDirection() * 0.25f; Vector2 vector2 = 1.5f * vector; float divider = 60f; Vector2 value = Main.rand.NextVector2Circular(12f, 12f) * vector; Color colorTint = Color.Lerp(Color.Gold, Color.HotPink, Main.rand.NextFloat()); if (Main.rand.Next(2) == 0) { colorTint = Color.Lerp(Color.Violet, Color.HotPink, Main.rand.NextFloat()); } PrettySparkleParticle prettySparkleParticle = _poolPrettySparkle.RequestParticle(); prettySparkleParticle.Velocity = num4.ToRotationVector2() * vector2; prettySparkleParticle.AccelerationPerFrame = num4.ToRotationVector2() * -(vector2 / divider); prettySparkleParticle.ColorTint = colorTint; prettySparkleParticle.LocalPosition = settings.PositionInWorld + value; prettySparkleParticle.Rotation = num4; prettySparkleParticle.Scale = vector * (Main.rand.NextFloat() * 0.8f + 0.2f); Main.ParticleSystem_World_OverPlayers.Add(prettySparkleParticle); } num2 = 1f; }
private static void Spawn_StellarTune(ParticleOrchestraSettings settings) { float num1 = Main.rand.NextFloat() * 6.283185f; float num2 = 5f; Vector2 vector2_1 = new Vector2(0.7f); for (float num3 = 0.0f; (double)num3 < 1.0; num3 += 1f / num2) { float f = (float)(6.28318548202515 * (double)num3 + (double)num1 + (double)Main.rand.NextFloatDirection() * 0.25); Vector2 vector2_2 = 1.5f * vector2_1; float num4 = 60f; Vector2 vector2_3 = Main.rand.NextVector2Circular(12f, 12f) * vector2_1; Color color = Color.Lerp(Color.Gold, Color.HotPink, Main.rand.NextFloat()); if (Main.rand.Next(2) == 0) { color = Color.Lerp(Color.Violet, Color.HotPink, Main.rand.NextFloat()); } PrettySparkleParticle prettySparkleParticle = ParticleOrchestrator._poolPrettySparkle.RequestParticle(); prettySparkleParticle.Velocity = f.ToRotationVector2() * vector2_2; prettySparkleParticle.AccelerationPerFrame = f.ToRotationVector2() * -(vector2_2 / num4); prettySparkleParticle.ColorTint = color; prettySparkleParticle.LocalPosition = settings.PositionInWorld + vector2_3; prettySparkleParticle.Rotation = f; prettySparkleParticle.Scale = vector2_1 * (float)((double)Main.rand.NextFloat() * 0.800000011920929 + 0.200000002980232); Main.ParticleSystem_World_OverPlayers.Add((IParticle)prettySparkleParticle); } }
private static void Spawn_RainbowRodHit(ParticleOrchestraSettings settings) { float num = Main.rand.NextFloat() * ((float)Math.PI * 2f); float num2 = 6f; float num3 = Main.rand.NextFloat(); for (float num4 = 0f; num4 < 1f; num4 += 1f / num2) { Vector2 vector = settings.MovementVector * Main.rand.NextFloatDirection() * 0.15f; Vector2 vector2 = new Vector2(Main.rand.NextFloat() * 0.4f + 0.4f); float f = num + Main.rand.NextFloat() * ((float)Math.PI * 2f); float rotation = (float)Math.PI / 2f; Vector2 vector3 = 1.5f * vector2; float divider = 60f; Vector2 value = Main.rand.NextVector2Circular(8f, 8f) * vector2; PrettySparkleParticle prettySparkleParticle = _poolPrettySparkle.RequestParticle(); prettySparkleParticle.Velocity = f.ToRotationVector2() * vector3 + vector; prettySparkleParticle.AccelerationPerFrame = f.ToRotationVector2() * -(vector3 / divider) - vector * 1f / 60f; prettySparkleParticle.ColorTint = Main.hslToRgb((num3 + Main.rand.NextFloat() * 0.33f) % 1f, 1f, 0.4f + Main.rand.NextFloat() * 0.25f); prettySparkleParticle.ColorTint.A = 0; prettySparkleParticle.LocalPosition = settings.PositionInWorld + value; prettySparkleParticle.Rotation = rotation; prettySparkleParticle.Scale = vector2; Main.ParticleSystem_World_OverPlayers.Add(prettySparkleParticle); prettySparkleParticle = _poolPrettySparkle.RequestParticle(); prettySparkleParticle.Velocity = f.ToRotationVector2() * vector3 + vector; prettySparkleParticle.AccelerationPerFrame = f.ToRotationVector2() * -(vector3 / divider) - vector * 1f / 60f; prettySparkleParticle.ColorTint = new Color(255, 255, 255, 0); prettySparkleParticle.LocalPosition = settings.PositionInWorld + value; prettySparkleParticle.Rotation = rotation; prettySparkleParticle.Scale = vector2 * 0.6f; Main.ParticleSystem_World_OverPlayers.Add(prettySparkleParticle); } for (int i = 0; i < 12; i++) { Color newColor = Main.hslToRgb((num3 + Main.rand.NextFloat() * 0.12f) % 1f, 1f, 0.4f + Main.rand.NextFloat() * 0.25f); int num5 = Dust.NewDust(settings.PositionInWorld, 0, 0, 267, 0f, 0f, 0, newColor); Main.dust[num5].velocity = Main.rand.NextVector2Circular(1f, 1f); Main.dust[num5].velocity += settings.MovementVector * Main.rand.NextFloatDirection() * 0.5f; Main.dust[num5].noGravity = true; Main.dust[num5].scale = 0.6f + Main.rand.NextFloat() * 0.9f; Main.dust[num5].fadeIn = 0.7f + Main.rand.NextFloat() * 0.8f; if (num5 != 6000) { Dust dust = Dust.CloneDust(num5); dust.scale /= 2f; dust.fadeIn *= 0.75f; dust.color = new Color(255, 255, 255, 255); } } }
private static void Spawn_RainbowRodHit(ParticleOrchestraSettings settings) { float num1 = Main.rand.NextFloat() * 6.283185f; float num2 = 6f; float num3 = Main.rand.NextFloat(); for (float num4 = 0.0f; (double)num4 < 1.0; num4 += 1f / num2) { Vector2 vector2_1 = settings.MovementVector * Main.rand.NextFloatDirection() * 0.15f; Vector2 vector2_2 = new Vector2((float)((double)Main.rand.NextFloat() * 0.400000005960464 + 0.400000005960464)); float f = num1 + Main.rand.NextFloat() * 6.283185f; float num5 = 1.570796f; Vector2 vector2_3 = 1.5f * vector2_2; float num6 = 60f; Vector2 vector2_4 = Main.rand.NextVector2Circular(8f, 8f) * vector2_2; PrettySparkleParticle prettySparkleParticle1 = ParticleOrchestrator._poolPrettySparkle.RequestParticle(); prettySparkleParticle1.Velocity = f.ToRotationVector2() * vector2_3 + vector2_1; prettySparkleParticle1.AccelerationPerFrame = f.ToRotationVector2() * -(vector2_3 / num6) - vector2_1 * 1f / 60f; prettySparkleParticle1.ColorTint = Main.hslToRgb((float)(((double)num3 + (double)Main.rand.NextFloat() * 0.330000013113022) % 1.0), 1f, (float)(0.400000005960464 + (double)Main.rand.NextFloat() * 0.25)); prettySparkleParticle1.ColorTint.A = (byte)0; prettySparkleParticle1.LocalPosition = settings.PositionInWorld + vector2_4; prettySparkleParticle1.Rotation = num5; prettySparkleParticle1.Scale = vector2_2; Main.ParticleSystem_World_OverPlayers.Add((IParticle)prettySparkleParticle1); PrettySparkleParticle prettySparkleParticle2 = ParticleOrchestrator._poolPrettySparkle.RequestParticle(); prettySparkleParticle2.Velocity = f.ToRotationVector2() * vector2_3 + vector2_1; prettySparkleParticle2.AccelerationPerFrame = f.ToRotationVector2() * -(vector2_3 / num6) - vector2_1 * 1f / 60f; prettySparkleParticle2.ColorTint = new Color((int)byte.MaxValue, (int)byte.MaxValue, (int)byte.MaxValue, 0); prettySparkleParticle2.LocalPosition = settings.PositionInWorld + vector2_4; prettySparkleParticle2.Rotation = num5; prettySparkleParticle2.Scale = vector2_2 * 0.6f; Main.ParticleSystem_World_OverPlayers.Add((IParticle)prettySparkleParticle2); } for (int index = 0; index < 12; ++index) { Color rgb = Main.hslToRgb((float)(((double)num3 + (double)Main.rand.NextFloat() * 0.119999997317791) % 1.0), 1f, (float)(0.400000005960464 + (double)Main.rand.NextFloat() * 0.25)); int dustIndex = Dust.NewDust(settings.PositionInWorld, 0, 0, 267, 0.0f, 0.0f, 0, rgb, 1f); Main.dust[dustIndex].velocity = Main.rand.NextVector2Circular(1f, 1f); Main.dust[dustIndex].velocity += settings.MovementVector * Main.rand.NextFloatDirection() * 0.5f; Main.dust[dustIndex].noGravity = true; Main.dust[dustIndex].scale = (float)(0.600000023841858 + (double)Main.rand.NextFloat() * 0.899999976158142); Main.dust[dustIndex].fadeIn = (float)(0.699999988079071 + (double)Main.rand.NextFloat() * 0.800000011920929); if (dustIndex != 6000) { Dust dust = Dust.CloneDust(dustIndex); dust.scale /= 2f; dust.fadeIn *= 0.75f; dust.color = new Color((int)byte.MaxValue, (int)byte.MaxValue, (int)byte.MaxValue, (int)byte.MaxValue); } } }
private static void Spawn_StardustPunch(ParticleOrchestraSettings settings) { float num1 = Main.rand.NextFloat() * 6.283185f; float num2 = 1f; for (float num3 = 0.0f; (double)num3 < 1.0; num3 += 1f / num2) { Vector2 vector2_1 = settings.MovementVector * (float)(0.300000011920929 + (double)Main.rand.NextFloat() * 0.349999994039536); Vector2 vector2_2 = new Vector2((float)((double)Main.rand.NextFloat() * 0.400000005960464 + 0.400000005960464)); float f = num1 + Main.rand.NextFloat() * 6.283185f; float num4 = 1.570796f; Vector2 vector2_3 = 0.1f * vector2_2; float num5 = 60f; Vector2 vector2_4 = Main.rand.NextVector2Circular(8f, 8f) * vector2_2; PrettySparkleParticle prettySparkleParticle1 = ParticleOrchestrator._poolPrettySparkle.RequestParticle(); prettySparkleParticle1.Velocity = f.ToRotationVector2() * vector2_3 + vector2_1; prettySparkleParticle1.AccelerationPerFrame = f.ToRotationVector2() * -(vector2_3 / num5) - vector2_1 * 1f / 60f; prettySparkleParticle1.ColorTint = Main.hslToRgb((float)((0.600000023841858 + (double)Main.rand.NextFloat() * 0.0500000007450581) % 1.0), 1f, (float)(0.400000005960464 + (double)Main.rand.NextFloat() * 0.25)); prettySparkleParticle1.ColorTint.A = (byte)0; prettySparkleParticle1.LocalPosition = settings.PositionInWorld + vector2_4; prettySparkleParticle1.Rotation = num4; prettySparkleParticle1.Scale = vector2_2; Main.ParticleSystem_World_OverPlayers.Add((IParticle)prettySparkleParticle1); PrettySparkleParticle prettySparkleParticle2 = ParticleOrchestrator._poolPrettySparkle.RequestParticle(); prettySparkleParticle2.Velocity = f.ToRotationVector2() * vector2_3 + vector2_1; prettySparkleParticle2.AccelerationPerFrame = f.ToRotationVector2() * -(vector2_3 / num5) - vector2_1 * 1f / 30f; prettySparkleParticle2.ColorTint = new Color((int)byte.MaxValue, (int)byte.MaxValue, (int)byte.MaxValue, 0); prettySparkleParticle2.LocalPosition = settings.PositionInWorld + vector2_4; prettySparkleParticle2.Rotation = num4; prettySparkleParticle2.Scale = vector2_2 * 0.6f; Main.ParticleSystem_World_OverPlayers.Add((IParticle)prettySparkleParticle2); } for (int index = 0; index < 2; ++index) { Color rgb = Main.hslToRgb((float)((0.589999973773956 + (double)Main.rand.NextFloat() * 0.0500000007450581) % 1.0), 1f, (float)(0.400000005960464 + (double)Main.rand.NextFloat() * 0.25)); int dustIndex = Dust.NewDust(settings.PositionInWorld, 0, 0, 267, 0.0f, 0.0f, 0, rgb, 1f); Main.dust[dustIndex].velocity = Main.rand.NextVector2Circular(2f, 2f); Main.dust[dustIndex].velocity += settings.MovementVector * (float)(0.5 + 0.5 * (double)Main.rand.NextFloat()) * 1.4f; Main.dust[dustIndex].noGravity = true; Main.dust[dustIndex].scale = (float)(0.600000023841858 + (double)Main.rand.NextFloat() * 2.0); Main.dust[dustIndex].position += Main.rand.NextVector2Circular(16f, 16f); if (dustIndex != 6000) { Dust dust = Dust.CloneDust(dustIndex); dust.scale /= 2f; dust.fadeIn *= 0.75f; dust.color = new Color((int)byte.MaxValue, (int)byte.MaxValue, (int)byte.MaxValue, (int)byte.MaxValue); } } }
private static void Spawn_Keybrand(ParticleOrchestraSettings settings) { float num = Main.rand.NextFloat() * ((float)Math.PI * 2f); float num2 = 3f; Vector2 vector = new Vector2(0.7f); for (float num3 = 0f; num3 < 1f; num3 += 1f / num2) { float num4 = (float)Math.PI * 2f * num3 + num + Main.rand.NextFloatDirection() * 0.1f; Vector2 vector2 = 1.5f * vector; float divider = 60f; Vector2 value = Main.rand.NextVector2Circular(4f, 4f) * vector; PrettySparkleParticle prettySparkleParticle = _poolPrettySparkle.RequestParticle(); prettySparkleParticle.Velocity = num4.ToRotationVector2() * vector2; prettySparkleParticle.AccelerationPerFrame = num4.ToRotationVector2() * -(vector2 / divider); prettySparkleParticle.ColorTint = Color.Lerp(Color.Gold, Color.OrangeRed, Main.rand.NextFloat()); prettySparkleParticle.LocalPosition = settings.PositionInWorld + value; prettySparkleParticle.Rotation = num4; prettySparkleParticle.Scale = vector * 0.8f; Main.ParticleSystem_World_OverPlayers.Add(prettySparkleParticle); } num += 1f / num2 / 2f * ((float)Math.PI * 2f); num = Main.rand.NextFloat() * ((float)Math.PI * 2f); for (float num5 = 0f; num5 < 1f; num5 += 1f / num2) { float num6 = (float)Math.PI * 2f * num5 + num + Main.rand.NextFloatDirection() * 0.1f; Vector2 vector3 = 1f * vector; float num7 = 30f; Color value2 = Color.Lerp(Color.Gold, Color.OrangeRed, Main.rand.NextFloat()); value2 = Color.Lerp(Color.White, value2, 0.5f); value2.A = 0; Vector2 value3 = Main.rand.NextVector2Circular(4f, 4f) * vector; FadingParticle fadingParticle = _poolFading.RequestParticle(); fadingParticle.SetBasicInfo(TextureAssets.Extra[98], null, Vector2.Zero, Vector2.Zero); fadingParticle.SetTypeInfo(num7); fadingParticle.Velocity = num6.ToRotationVector2() * vector3; fadingParticle.AccelerationPerFrame = num6.ToRotationVector2() * -(vector3 / num7); fadingParticle.ColorTint = value2; fadingParticle.LocalPosition = settings.PositionInWorld + num6.ToRotationVector2() * vector3 * vector * num7 * 0.2f + value3; fadingParticle.Rotation = num6 + (float)Math.PI / 2f; fadingParticle.FadeInNormalizedTime = 0.3f; fadingParticle.FadeOutNormalizedTime = 0.4f; fadingParticle.Scale = new Vector2(0.5f, 1.2f) * 0.8f * vector; Main.ParticleSystem_World_OverPlayers.Add(fadingParticle); } num2 = 1f; num = Main.rand.NextFloat() * ((float)Math.PI * 2f); for (float num8 = 0f; num8 < 1f; num8 += 1f / num2) { float num9 = (float)Math.PI * 2f * num8 + num; float typeInfo = 30f; Color colorTint = Color.Lerp(Color.CornflowerBlue, Color.White, Main.rand.NextFloat()); colorTint.A = 127; Vector2 value4 = Main.rand.NextVector2Circular(4f, 4f) * vector; Vector2 value5 = Main.rand.NextVector2Square(0.7f, 1.3f); FadingParticle fadingParticle2 = _poolFading.RequestParticle(); fadingParticle2.SetBasicInfo(TextureAssets.Extra[174], null, Vector2.Zero, Vector2.Zero); fadingParticle2.SetTypeInfo(typeInfo); fadingParticle2.ColorTint = colorTint; fadingParticle2.LocalPosition = settings.PositionInWorld + value4; fadingParticle2.Rotation = num9 + (float)Math.PI / 2f; fadingParticle2.FadeInNormalizedTime = 0.1f; fadingParticle2.FadeOutNormalizedTime = 0.4f; fadingParticle2.Scale = new Vector2(0.1f, 0.1f) * vector; fadingParticle2.ScaleVelocity = value5 * 1f / 60f; fadingParticle2.ScaleAcceleration = value5 * -0.0166666675f / 60f; Main.ParticleSystem_World_OverPlayers.Add(fadingParticle2); } }
private static void Spawn_Keybrand(ParticleOrchestraSettings settings) { float num1 = Main.rand.NextFloat() * 6.283185f; float num2 = 3f; Vector2 vector2_1 = new Vector2(0.7f); for (float num3 = 0.0f; (double)num3 < 1.0; num3 += 1f / num2) { float f = (float)(6.28318548202515 * (double)num3 + (double)num1 + (double)Main.rand.NextFloatDirection() * 0.100000001490116); Vector2 vector2_2 = 1.5f * vector2_1; float num4 = 60f; Vector2 vector2_3 = Main.rand.NextVector2Circular(4f, 4f) * vector2_1; PrettySparkleParticle prettySparkleParticle = ParticleOrchestrator._poolPrettySparkle.RequestParticle(); prettySparkleParticle.Velocity = f.ToRotationVector2() * vector2_2; prettySparkleParticle.AccelerationPerFrame = f.ToRotationVector2() * -(vector2_2 / num4); prettySparkleParticle.ColorTint = Color.Lerp(Color.Gold, Color.OrangeRed, Main.rand.NextFloat()); prettySparkleParticle.LocalPosition = settings.PositionInWorld + vector2_3; prettySparkleParticle.Rotation = f; prettySparkleParticle.Scale = vector2_1 * 0.8f; Main.ParticleSystem_World_OverPlayers.Add((IParticle)prettySparkleParticle); } float num5 = num1 + (float)(1.0 / (double)num2 / 2.0 * 6.28318548202515); float num6 = Main.rand.NextFloat() * 6.283185f; for (float num3 = 0.0f; (double)num3 < 1.0; num3 += 1f / num2) { float f = (float)(6.28318548202515 * (double)num3 + (double)num6 + (double)Main.rand.NextFloatDirection() * 0.100000001490116); Vector2 vector2_2 = 1f * vector2_1; float timeToLive = 30f; Color color = Color.Lerp(Color.White, Color.Lerp(Color.Gold, Color.OrangeRed, Main.rand.NextFloat()), 0.5f); color.A = (byte)0; Vector2 vector2_3 = Main.rand.NextVector2Circular(4f, 4f) * vector2_1; FadingParticle fadingParticle = ParticleOrchestrator._poolFading.RequestParticle(); fadingParticle.SetBasicInfo(TextureAssets.Extra[98], new Rectangle?(), Vector2.Zero, Vector2.Zero); fadingParticle.SetTypeInfo(timeToLive); fadingParticle.Velocity = f.ToRotationVector2() * vector2_2; fadingParticle.AccelerationPerFrame = f.ToRotationVector2() * -(vector2_2 / timeToLive); fadingParticle.ColorTint = color; fadingParticle.LocalPosition = settings.PositionInWorld + f.ToRotationVector2() * vector2_2 * vector2_1 * timeToLive * 0.2f + vector2_3; fadingParticle.Rotation = f + 1.570796f; fadingParticle.FadeInNormalizedTime = 0.3f; fadingParticle.FadeOutNormalizedTime = 0.4f; fadingParticle.Scale = new Vector2(0.5f, 1.2f) * 0.8f * vector2_1; Main.ParticleSystem_World_OverPlayers.Add((IParticle)fadingParticle); } float num7 = 1f; float num8 = Main.rand.NextFloat() * 6.283185f; for (float num3 = 0.0f; (double)num3 < 1.0; num3 += 1f / num7) { float num4 = 6.283185f * num3 + num8; float timeToLive = 30f; Color color = Color.Lerp(Color.CornflowerBlue, Color.White, Main.rand.NextFloat()); color.A = (byte)127; Vector2 vector2_2 = Main.rand.NextVector2Circular(4f, 4f) * vector2_1; Vector2 vector2_3 = Main.rand.NextVector2Square(0.7f, 1.3f); FadingParticle fadingParticle = ParticleOrchestrator._poolFading.RequestParticle(); fadingParticle.SetBasicInfo(TextureAssets.Extra[174], new Rectangle?(), Vector2.Zero, Vector2.Zero); fadingParticle.SetTypeInfo(timeToLive); fadingParticle.ColorTint = color; fadingParticle.LocalPosition = settings.PositionInWorld + vector2_2; fadingParticle.Rotation = num4 + 1.570796f; fadingParticle.FadeInNormalizedTime = 0.1f; fadingParticle.FadeOutNormalizedTime = 0.4f; fadingParticle.Scale = new Vector2(0.1f, 0.1f) * vector2_1; fadingParticle.ScaleVelocity = vector2_3 * 1f / 60f; fadingParticle.ScaleAcceleration = vector2_3 * -0.01666667f / 60f; Main.ParticleSystem_World_OverPlayers.Add((IParticle)fadingParticle); } }