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

◆ AI_123_Deerclops_ShootRubbleUp()

void Terraria.NPC.AI_123_Deerclops_ShootRubbleUp ( ref NPCAimedTarget targetData,
ref Point sourceTileCoords,
int howMany,
int distancedByThisManyTiles,
float upBiasPerSpike,
int whichOne )
inlineprivate

Definition at line 37557 of file NPC.cs.

37558 {
37559 int num = 18;
37561 for (int i = 0; i < 35; i++)
37562 {
37563 int num3 = sourceTileCoords.X + num2 * direction;
37564 int num4 = sourceTileCoords.Y + i;
37565 if (WorldGen.SolidTile(num3, num4))
37566 {
37567 Vector2 vector = targetData.Center + new Vector2(num2 * direction * 20, (0f - upBiasPerSpike) * (float)howMany + (float)num2 * upBiasPerSpike / (float)distancedByThisManyTiles);
37568 Vector2 vector2 = new Vector2(num3 * 16 + 8, num4 * 16 + 8);
37569 Vector2 vector3 = (vector - vector2).SafeNormalize(-Vector2.UnitY);
37570 vector3 = new Vector2(0f, -1f).RotatedBy((float)(whichOne * direction) * 0.7f * ((float)Math.PI / 4f / (float)howMany));
37571 int num5 = Main.rand.Next(Main.projFrames[962] * 4);
37572 num5 = 6 + Main.rand.Next(6);
37573 Projectile.NewProjectile(GetSpawnSource_ForProjectile(), new Vector2(num3 * 16 + 8, num4 * 16 - 8), vector3 * (8f + Main.rand.NextFloat() * 8f), 962, num, 0f, Main.myPlayer, 0f, num5);
37574 break;
37575 }
37576 }
37577 }
const double PI
Definition Math.cs:16
IEntitySource GetSpawnSource_ForProjectile()
Definition NPC.cs:87526

References Terraria.Entity.direction, Terraria.NPC.GetSpawnSource_ForProjectile(), Terraria.Main.myPlayer, Terraria.Projectile.NewProjectile(), System.Math.PI, Terraria.Main.projFrames, Terraria.Main.rand, Terraria.WorldGen.SolidTile(), Microsoft.Xna.Framework.Vector2.UnitY, and Microsoft.Xna.Framework.Graphics.Vector2.

Referenced by Terraria.NPC.AI_123_Deerclops().