873 {
874 float num = 10f + 20f * Main.rand.NextFloat();
875 float num2 = -(float)
Math.
PI / 4f;
876 float num3 = 0.2f + 0.4f * Main.rand.NextFloat();
877 Color colorTint = Main.hslToRgb(Main.rand.NextFloat() * 0.1f + 0.06f, 1f, 0.5f);
878 colorTint.A /= 2;
879 colorTint *= Main.rand.NextFloat() * 0.3f + 0.7f;
880 for (float num4 = 0f; num4 < 2f; num4 += 1f)
881 {
883 Vector2 vector = ((float)
Math.
PI / 4f + (
float)Math.PI * num4 + num2).ToRotationVector2() * 4f;
884 prettySparkleParticle.ColorTint = colorTint;
885 prettySparkleParticle.LocalPosition = settings.PositionInWorld;
886 prettySparkleParticle.Rotation = vector.ToRotation();
887 prettySparkleParticle.Scale =
new Vector2(4f, 1f) * 1.1f * num3;
888 prettySparkleParticle.FadeInNormalizedTime = 5
E-06f;
889 prettySparkleParticle.FadeOutNormalizedTime = 0.95f;
890 prettySparkleParticle.TimeToLive = num;
891 prettySparkleParticle.FadeOutEnd = num;
892 prettySparkleParticle.FadeInEnd = num / 2f;
893 prettySparkleParticle.FadeOutStart = num / 2f;
894 prettySparkleParticle.AdditiveAmount = 0.35f;
895 prettySparkleParticle.LocalPosition -= vector * num * 0.25f;
896 prettySparkleParticle.Velocity = vector * 0.05f;
897 prettySparkleParticle.DrawVerticalAxis = false;
898 if (num4 == 1f)
899 {
900 prettySparkleParticle.Scale *= 1.5f;
901 prettySparkleParticle.Velocity *= 1.5f;
902 prettySparkleParticle.LocalPosition -= prettySparkleParticle.Velocity * 4f;
903 }
904 Main.ParticleSystem_World_OverPlayers.
Add(prettySparkleParticle);
905 }
906 for (float num5 = 0f; num5 < 2f; num5 += 1f)
907 {
909 Vector2 vector2 = ((float)
Math.
PI / 4f + (
float)Math.PI * num5 + num2).ToRotationVector2() * 4f;
910 prettySparkleParticle2.ColorTint =
new Color(1f, 0.4f, 0.2f, 1f);
911 prettySparkleParticle2.LocalPosition = settings.PositionInWorld;
912 prettySparkleParticle2.Rotation = vector2.ToRotation();
913 prettySparkleParticle2.Scale =
new Vector2(4f, 1f) * 0.7f * num3;
914 prettySparkleParticle2.FadeInNormalizedTime = 5
E-06f;
915 prettySparkleParticle2.FadeOutNormalizedTime = 0.95f;
916 prettySparkleParticle2.TimeToLive = num;
917 prettySparkleParticle2.FadeOutEnd = num;
918 prettySparkleParticle2.FadeInEnd = num / 2f;
919 prettySparkleParticle2.FadeOutStart = num / 2f;
920 prettySparkleParticle2.LocalPosition -= vector2 * num * 0.25f;
921 prettySparkleParticle2.Velocity = vector2 * 0.05f;
922 prettySparkleParticle2.DrawVerticalAxis = false;
923 if (num5 == 1f)
924 {
925 prettySparkleParticle2.Scale *= 1.5f;
926 prettySparkleParticle2.Velocity *= 1.5f;
927 prettySparkleParticle2.LocalPosition -= prettySparkleParticle2.Velocity * 4f;
928 }
929 Main.ParticleSystem_World_OverPlayers.
Add(prettySparkleParticle2);
930 for (
int i = 0;
i < 1;
i++)
931 {
932 Dust dust = Dust.NewDustPerfect(settings.PositionInWorld, 6, vector2.RotatedBy(Main.rand.NextFloatDirection() * ((
float)
Math.
PI * 2f) * 0.025f) * Main.rand.NextFloat());
933 dust.noGravity = true;
934 dust.scale = 1.4f;
935 Dust dust2 = Dust.NewDustPerfect(settings.PositionInWorld, 6, -vector2.RotatedBy(Main.rand.NextFloatDirection() * ((
float)
Math.
PI * 2f) * 0.025f) * Main.rand.NextFloat());
936 dust2.noGravity = true;
937 dust2.scale = 1.4f;
938 }
939 }
940 }
static ParticlePool< PrettySparkleParticle > _poolPrettySparkle
static Vector2 Add(Vector2 value1, Vector2 value2)