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

◆ HaveDryadDoStardewAnimation()

static void Terraria.NPC.HaveDryadDoStardewAnimation ( )
inlinestatic

Definition at line 12987 of file NPC.cs.

12988 {
12989 for (int i = 0; i < 200; i++)
12990 {
12991 NPC nPC = Main.npc[i];
12992 if (!nPC.active || nPC.type != 20)
12993 {
12994 continue;
12995 }
12996 nPC.localAI[2] = 480f;
12997 nPC.ai[0] = 24f;
12998 nPC.ai[1] = 480f;
12999 nPC.ai[2] = 0f;
13000 nPC.localAI[3] = 0f;
13001 nPC.netUpdate = true;
13002 nPC.direction = 1;
13003 nPC.spriteDirection = 1;
13004 Vector2 vector = nPC.Bottom + new Vector2(100f, 0f);
13005 Point p = vector.ToTileCoordinates();
13006 p.Y = Utils.Clamp(p.Y - 10, 10, Main.maxTilesY - 10);
13007 int y = p.Y;
13008 int num = 15;
13009 int num2 = p.Y + num;
13010 bool flag = false;
13011 for (int j = p.Y; j < num2; j++)
13012 {
13013 Tile tile = Main.tile[p.X, j];
13014 p.Y = j;
13015 if (tile.active() && Main.tileSolid[tile.type])
13016 {
13017 if (j == y)
13018 {
13019 flag = true;
13020 }
13021 break;
13022 }
13023 }
13024 Vector2 vector2 = new Vector2(0f, -52f);
13025 Vector2 vector3 = p.ToWorldCoordinates(8f, 0f);
13026 if (flag)
13027 {
13028 vector3 = vector;
13029 }
13030 Projectile.NewProjectile(new EntitySource_DebugCommand(), vector3 + vector2, Vector2.Zero, 995, 0, 0f, Main.myPlayer);
13031 break;
13032 }
13033 }

References Terraria.Tile.active(), Terraria.Main.maxTilesY, Terraria.Main.myPlayer, Terraria.Projectile.NewProjectile(), Terraria.Main.npc, Terraria.Main.tile, Terraria.Main.tileSolid, Terraria.Tile.type, Microsoft.Xna.Framework.Graphics.Vector2, Microsoft.Xna.Framework.Point.X, Microsoft.Xna.Framework.Point.Y, and Microsoft.Xna.Framework.Vector2.Zero.

Referenced by Terraria.MessageBuffer.GetData(), and Terraria.Main.GUIChatDrawInner().