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

◆ DrawNPC_SlimeItem()

static void Terraria.Main.DrawNPC_SlimeItem ( NPC rCurrentNPC,
int typeCache,
Microsoft::Xna::Framework::Color npcColor,
float addedRotation )
inlinestaticprivate

Definition at line 25171 of file Main.cs.

25172 {
25173 int num = (int)rCurrentNPC.ai[1];
25174 float num2 = 1f;
25175 float num3 = 22f * rCurrentNPC.scale;
25176 float num4 = 18f * rCurrentNPC.scale;
25178 float num5 = rectangle.Width;
25179 float num6 = rectangle.Height;
25180 bool num7 = (int)rCurrentNPC.ai[0] == -999;
25181 if (num7)
25182 {
25183 num3 = 14f * rCurrentNPC.scale;
25184 num4 = 14f * rCurrentNPC.scale;
25185 }
25186 if (num5 > num3)
25187 {
25188 num2 *= num3 / num5;
25189 num5 *= num2;
25190 num6 *= num2;
25191 }
25192 if (num6 > num4)
25193 {
25194 num2 *= num4 / num6;
25195 num5 *= num2;
25196 num6 *= num2;
25197 }
25198 float num8 = -1f;
25199 float num9 = 1f;
25200 int num10 = rCurrentNPC.frame.Y / (TextureAssets.Npc[typeCache].Height() / npcFrameCount[typeCache]);
25201 num9 -= (float)num10;
25202 num8 += (float)(num10 * 2);
25203 float num11 = 0.2f;
25204 num11 -= 0.3f * (float)num10;
25205 if (num7)
25206 {
25207 num11 = 0f;
25208 num9 -= 6f;
25209 num8 -= num5 * addedRotation;
25210 }
25211 if (num == 75)
25212 {
25213 npcColor = new Microsoft.Xna.Framework.Color(255, 255, 255, 0);
25214 num11 *= 0.3f;
25215 num9 -= 2f;
25216 }
25217 npcColor = rCurrentNPC.GetShimmerColor(npcColor);
25218 spriteBatch.Draw(itemTexture, new Vector2(rCurrentNPC.Center.X - screenPosition.X + num8, rCurrentNPC.Center.Y - screenPosition.Y + rCurrentNPC.gfxOffY + num9), rectangle, npcColor, num11, rectangle.Size() / 2f, num2, SpriteEffects.None, 0f);
25219 }
static Asset< Texture2D >[] Npc
static int[] npcFrameCount
Definition Main.cs:2002
static SpriteBatch spriteBatch
Definition Main.cs:974
static Vector2 screenPosition
Definition Main.cs:1715
static void GetItemDrawFrame(int item, out Texture2D itemTexture, out Microsoft.Xna.Framework.Rectangle itemFrame)
Definition Main.cs:25221

References Terraria.Main.GetItemDrawFrame(), Terraria.GameContent.TextureAssets.Npc, Terraria.Main.npcFrameCount, Terraria.Main.screenPosition, Terraria.Main.spriteBatch, and Microsoft.Xna.Framework.Graphics.Vector2.

Referenced by Terraria.Main.DrawNPCDirect().