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

◆ DrawWOFRopeToTheHungry()

static void Terraria.Main.DrawWOFRopeToTheHungry ( int i)
inlinestaticprivate

Definition at line 35093 of file Main.cs.

35094 {
35095 float num = npc[wofNPCIndex].position.X + (float)(npc[wofNPCIndex].width / 2);
35096 float y = npc[wofNPCIndex].position.Y;
35098 bool flag = false;
35099 if (npc[i].frameCounter > 7.0)
35100 {
35101 flag = true;
35102 }
35103 y = (float)wofDrawAreaTop + num2 * npc[i].ai[0];
35104 float scale = npc[i].scale;
35105 float x = npc[i].Center.X;
35106 float y2 = npc[i].Bottom.Y - (float)npc[i].height * 0.5f * scale;
35107 Vector2 vector = new Vector2(x, y2);
35108 vector += npc[i].netOffset;
35109 float num3 = num - vector.X;
35110 float num4 = y - vector.Y;
35111 float rotation = (float)Math.Atan2(num4, num3) - 1.57f;
35112 bool flag2 = true;
35113 while (flag2)
35114 {
35115 SpriteEffects effects = SpriteEffects.None;
35116 if (flag)
35117 {
35118 effects = SpriteEffects.FlipHorizontally;
35119 flag = false;
35120 }
35121 else
35122 {
35123 flag = true;
35124 }
35125 int height = 28;
35126 int num5 = (int)(40f * scale);
35127 float num6 = (float)Math.Sqrt(num3 * num3 + num4 * num4);
35128 if (num6 < (float)num5)
35129 {
35130 height = (int)num6 - num5 + 28;
35131 flag2 = false;
35132 }
35133 num6 = 28f * scale / num6;
35134 num3 *= num6;
35135 num4 *= num6;
35136 vector.X += num3;
35137 vector.Y += num4;
35138 num3 = num - vector.X;
35139 num4 = y - vector.Y;
35140 Microsoft.Xna.Framework.Color color = Lighting.GetColor((int)vector.X / 16, (int)(vector.Y / 16f));
35141 spriteBatch.Draw(TextureAssets.Chain12.Value, new Vector2(vector.X - screenPosition.X, vector.Y - screenPosition.Y), new Microsoft.Xna.Framework.Rectangle(0, 0, TextureAssets.Chain4.Width(), height), color, rotation, new Vector2((float)TextureAssets.Chain4.Width() * 0.5f, (float)TextureAssets.Chain4.Height() * 0.5f), scale, effects, 0f);
35142 }
35143 }
static double Atan2(double y, double x)
static double Sqrt(double d)
static Asset< Texture2D > Chain4
static Asset< Texture2D > Chain12
static int wofDrawAreaBottom
Definition Main.cs:832
static SpriteBatch spriteBatch
Definition Main.cs:974
static int wofNPCIndex
Definition Main.cs:828
static Vector2 screenPosition
Definition Main.cs:1715
static NPC[] npc
Definition Main.cs:1685
static int wofDrawAreaTop
Definition Main.cs:830

References System.Math.Atan2(), Terraria.GameContent.TextureAssets.Chain12, Terraria.GameContent.TextureAssets.Chain4, Terraria.Lighting.GetColor(), System.Text.RegularExpressions.i, Terraria.Main.npc, Terraria.Main.screenPosition, Terraria.Main.spriteBatch, System.Math.Sqrt(), Microsoft.Xna.Framework.Graphics.Vector2, Terraria.Main.wofDrawAreaBottom, Terraria.Main.wofDrawAreaTop, and Terraria.Main.wofNPCIndex.

Referenced by Terraria.Main.DrawWoF().