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

◆ Spawn_PaladinsHammer()

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

Definition at line 1139 of file ParticleOrchestrator.cs.

1140 {
1141 float num = Main.rand.NextFloat() * ((float)Math.PI * 2f);
1142 float num2 = 1f;
1143 for (float num3 = 0f; num3 < 1f; num3 += 1f / num2)
1144 {
1145 float num4 = 0.6f + Main.rand.NextFloat() * 0.35f;
1146 Vector2 vector = settings.MovementVector * num4;
1147 Vector2 vector2 = new Vector2(Main.rand.NextFloat() * 0.4f + 0.2f);
1148 float f = num + Main.rand.NextFloat() * ((float)Math.PI * 2f);
1149 float rotation = (float)Math.PI / 2f;
1150 _ = 0.1f * vector2;
1151 Vector2 vector3 = Main.rand.NextVector2Circular(12f, 12f) * vector2;
1152 PrettySparkleParticle prettySparkleParticle = _poolPrettySparkle.RequestParticle();
1153 prettySparkleParticle.AccelerationPerFrame = -vector * 1f / 30f;
1154 prettySparkleParticle.Velocity = vector + f.ToRotationVector2() * 2f * num4;
1155 prettySparkleParticle.ColorTint = new Color(1f, 0.8f, 0.4f, 0f);
1156 prettySparkleParticle.LocalPosition = settings.PositionInWorld + vector3;
1157 prettySparkleParticle.Rotation = rotation;
1158 prettySparkleParticle.Scale = vector2;
1159 prettySparkleParticle.FadeInNormalizedTime = 5E-06f;
1160 prettySparkleParticle.FadeOutNormalizedTime = 0.95f;
1161 prettySparkleParticle.TimeToLive = 40f;
1162 Main.ParticleSystem_World_OverPlayers.Add(prettySparkleParticle);
1163 prettySparkleParticle = _poolPrettySparkle.RequestParticle();
1164 prettySparkleParticle.AccelerationPerFrame = -vector * 1f / 30f;
1165 prettySparkleParticle.Velocity = vector * 0.8f + f.ToRotationVector2() * 2f;
1166 prettySparkleParticle.ColorTint = new Color(255, 255, 255, 0);
1167 prettySparkleParticle.LocalPosition = settings.PositionInWorld + vector3;
1168 prettySparkleParticle.Rotation = rotation;
1169 prettySparkleParticle.Scale = vector2 * 0.6f;
1170 prettySparkleParticle.FadeInNormalizedTime = 0.1f;
1171 prettySparkleParticle.FadeOutNormalizedTime = 0.9f;
1172 prettySparkleParticle.TimeToLive = 60f;
1173 Main.ParticleSystem_World_OverPlayers.Add(prettySparkleParticle);
1174 }
1175 for (int i = 0; i < 2; i++)
1176 {
1177 int num5 = Dust.NewDust(newColor: new Color(1f, 0.7f, 0.3f, 0f), Position: settings.PositionInWorld, Width: 0, Height: 0, Type: 267);
1178 Main.dust[num5].velocity = Main.rand.NextVector2Circular(2f, 2f);
1179 Main.dust[num5].velocity += settings.MovementVector * (0.5f + 0.5f * Main.rand.NextFloat()) * 1.4f;
1180 Main.dust[num5].noGravity = true;
1181 Main.dust[num5].scale = 0.1f;
1182 Main.dust[num5].position += Main.rand.NextVector2Circular(16f, 16f);
1183 Main.dust[num5].velocity = settings.MovementVector;
1184 if (num5 != 6000)
1185 {
1186 Dust dust = Dust.CloneDust(num5);
1187 dust.scale /= 2f;
1188 dust.fadeIn *= 0.75f;
1189 dust.color = new Color(255, 255, 255, 255);
1190 }
1191 }
1192 }
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, Terraria.Dust.CloneDust(), Terraria.Main.dust, System.E, Terraria.GameContent.Drawing.ParticleOrchestraSettings.MovementVector, Terraria.Dust.NewDust(), Terraria.Main.ParticleSystem_World_OverPlayers, System.Math.PI, Terraria.GameContent.Drawing.ParticleOrchestraSettings.PositionInWorld, and Terraria.Main.rand.

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