Terraria v1.4.4.9
Terraria source code documentation
All Classes Namespaces Files Functions Variables Enumerations Enumerator Properties Events Macros

◆ AI_148_StarSpawner()

void Terraria.Projectile.AI_148_StarSpawner ( )
inlineprivate

Definition at line 43260 of file Projectile.cs.

43261 {
43262 if (Main.dayTime && !Main.remixWorld)
43263 {
43264 Kill();
43265 return;
43266 }
43267 ai[0] += Main.dayRate;
43268 if (localAI[0] == 0f && Main.netMode != 2)
43269 {
43270 localAI[0] = 1f;
43271 if ((double)Main.LocalPlayer.position.Y < Main.worldSurface * 16.0)
43272 {
43273 Star.StarFall(position.X);
43274 }
43275 }
43276 if (owner != Main.myPlayer || !(ai[0] >= 180f))
43277 {
43278 return;
43279 }
43280 if (ai[1] > -1f)
43281 {
43282 velocity.X *= 0.35f;
43283 if (base.Center.X < Main.player[(int)ai[1]].Center.X)
43284 {
43285 velocity.X = Math.Abs(velocity.X);
43286 }
43287 else
43288 {
43289 velocity.X = 0f - Math.Abs(velocity.X);
43290 }
43291 }
43292 NewProjectile(GetProjectileSource_FromThis(), position.X, position.Y, velocity.X, velocity.Y, 12, 1000, 10f, Main.myPlayer);
43293 Kill();
43294 }
static double Abs(double value)
Vector2 velocity
Definition Entity.cs:16
Vector2 position
Definition Entity.cs:14
IEntitySource GetProjectileSource_FromThis()
static int NewProjectile(IEntitySource spawnSource, Vector2 position, Vector2 velocity, int Type, int Damage, float KnockBack, int Owner=-1, float ai0=0f, float ai1=0f, float ai2=0f)

References System.Math.Abs(), Terraria.Main.dayRate, Terraria.Main.dayTime, Terraria.Main.LocalPlayer, Terraria.Main.myPlayer, Terraria.Main.netMode, Terraria.Main.player, Terraria.Main.remixWorld, Terraria.Star.StarFall(), Terraria.Main.worldSurface, Microsoft.Xna.Framework.Vector2.X, and Microsoft.Xna.Framework.Vector2.Y.