Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ Spawn_TrueNightsEdge()

static void Terraria.GameContent.Drawing.ParticleOrchestrator.Spawn_TrueNightsEdge ( ParticleOrchestraSettings settings)
inlinestaticprivate

Definition at line 992 of file ParticleOrchestrator.cs.

993 {
994 float num = 30f;
995 float num2 = 0f;
996 for (float num3 = 0f; num3 < 3f; num3 += 2f)
997 {
998 PrettySparkleParticle prettySparkleParticle = _poolPrettySparkle.RequestParticle();
999 Vector2 vector = ((float)Math.PI / 4f + (float)Math.PI / 4f * num3 + num2).ToRotationVector2() * 4f;
1000 prettySparkleParticle.ColorTint = new Color(0.3f, 0.6f, 0.3f, 0.5f);
1001 prettySparkleParticle.LocalPosition = settings.PositionInWorld;
1002 prettySparkleParticle.Rotation = vector.ToRotation();
1003 prettySparkleParticle.Scale = new Vector2(4f, 1f) * 1.1f;
1004 prettySparkleParticle.FadeInNormalizedTime = 5E-06f;
1005 prettySparkleParticle.FadeOutNormalizedTime = 0.95f;
1006 prettySparkleParticle.TimeToLive = num;
1007 prettySparkleParticle.FadeOutEnd = num;
1008 prettySparkleParticle.FadeInEnd = num / 2f;
1009 prettySparkleParticle.FadeOutStart = num / 2f;
1010 prettySparkleParticle.AdditiveAmount = 0.35f;
1011 prettySparkleParticle.LocalPosition -= vector * num * 0.25f;
1012 prettySparkleParticle.Velocity = vector;
1013 prettySparkleParticle.DrawVerticalAxis = false;
1014 if (num3 == 1f)
1015 {
1016 prettySparkleParticle.Scale *= 1.5f;
1017 prettySparkleParticle.Velocity *= 1.5f;
1018 prettySparkleParticle.LocalPosition -= prettySparkleParticle.Velocity * 4f;
1019 }
1020 Main.ParticleSystem_World_OverPlayers.Add(prettySparkleParticle);
1021 }
1022 for (float num4 = 0f; num4 < 3f; num4 += 2f)
1023 {
1024 PrettySparkleParticle prettySparkleParticle2 = _poolPrettySparkle.RequestParticle();
1025 Vector2 vector2 = ((float)Math.PI / 4f + (float)Math.PI / 4f * num4 + num2).ToRotationVector2() * 4f;
1026 prettySparkleParticle2.ColorTint = new Color(0.6f, 1f, 0.2f, 1f);
1027 prettySparkleParticle2.LocalPosition = settings.PositionInWorld;
1028 prettySparkleParticle2.Rotation = vector2.ToRotation();
1029 prettySparkleParticle2.Scale = new Vector2(4f, 1f) * 0.7f;
1030 prettySparkleParticle2.FadeInNormalizedTime = 5E-06f;
1031 prettySparkleParticle2.FadeOutNormalizedTime = 0.95f;
1032 prettySparkleParticle2.TimeToLive = num;
1033 prettySparkleParticle2.FadeOutEnd = num;
1034 prettySparkleParticle2.FadeInEnd = num / 2f;
1035 prettySparkleParticle2.FadeOutStart = num / 2f;
1036 prettySparkleParticle2.LocalPosition -= vector2 * num * 0.25f;
1037 prettySparkleParticle2.Velocity = vector2;
1038 prettySparkleParticle2.DrawVerticalAxis = false;
1039 if (num4 == 1f)
1040 {
1041 prettySparkleParticle2.Scale *= 1.5f;
1042 prettySparkleParticle2.Velocity *= 1.5f;
1043 prettySparkleParticle2.LocalPosition -= prettySparkleParticle2.Velocity * 4f;
1044 }
1045 Main.ParticleSystem_World_OverPlayers.Add(prettySparkleParticle2);
1046 for (int i = 0; i < 2; i++)
1047 {
1048 Dust dust = Dust.NewDustPerfect(settings.PositionInWorld, 75, vector2.RotatedBy(Main.rand.NextFloatDirection() * ((float)Math.PI * 2f) * 0.025f) * Main.rand.NextFloat());
1049 dust.noGravity = true;
1050 dust.scale = 1.4f;
1051 Dust dust2 = Dust.NewDustPerfect(settings.PositionInWorld, 75, -vector2.RotatedBy(Main.rand.NextFloatDirection() * ((float)Math.PI * 2f) * 0.025f) * Main.rand.NextFloat());
1052 dust2.noGravity = true;
1053 dust2.scale = 1.4f;
1054 }
1055 }
1056 }
const double PI
Definition Math.cs:16
static ParticlePool< PrettySparkleParticle > _poolPrettySparkle
static Vector2 Add(Vector2 value1, Vector2 value2)
Definition Vector2.cs:587

References Terraria.GameContent.Drawing.ParticleOrchestrator._poolPrettySparkle, System.E, Terraria.Dust.NewDustPerfect(), Terraria.Main.ParticleSystem_World_OverPlayers, System.Math.PI, Terraria.GameContent.Drawing.ParticleOrchestraSettings.PositionInWorld, and Terraria.Main.rand.

Referenced by Terraria.GameContent.Drawing.ParticleOrchestrator.SpawnParticlesDirect().