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

◆ DrawInfernoRings()

void Terraria.Main.DrawInfernoRings ( )
inline

Definition at line 61078 of file Main.cs.

61079 {
61080 for (int i = 0; i < 255; i++)
61081 {
61082 if (!player[i].active || player[i].outOfRange || !player[i].inferno || player[i].dead)
61083 {
61084 continue;
61085 }
61086 LoadFlameRing();
61087 float num = 1f;
61088 float num2 = 0.1f;
61089 float num3 = 0.9f;
61090 if (!gamePaused && base.IsActive)
61091 {
61092 player[i].flameRingScale += 0.004f;
61093 }
61094 if (player[i].flameRingScale < 1f)
61095 {
61096 num = player[i].flameRingScale;
61097 }
61098 else
61099 {
61100 player[i].flameRingScale = 0.8f;
61101 num = player[i].flameRingScale;
61102 }
61103 if (!gamePaused && base.IsActive)
61104 {
61105 player[i].flameRingRot += 0.05f;
61106 }
61107 if (player[i].flameRingRot > (float)Math.PI * 2f)
61108 {
61109 player[i].flameRingRot -= (float)Math.PI * 2f;
61110 }
61111 if (player[i].flameRingRot < (float)Math.PI * -2f)
61112 {
61113 player[i].flameRingRot += (float)Math.PI * 2f;
61114 }
61115 for (int j = 0; j < 3; j++)
61116 {
61117 float num4 = num + num2 * (float)j;
61118 if (num4 > 1f)
61119 {
61120 num4 -= num2 * 2f;
61121 }
61122 float num5 = MathHelper.Lerp(0.8f, 0f, Math.Abs(num4 - num3) * 10f);
61123 spriteBatch.Draw(TextureAssets.FlameRing.Value, player[i].Center - screenPosition, new Microsoft.Xna.Framework.Rectangle(0, 400 * j, 400, 400), new Microsoft.Xna.Framework.Color(num5, num5, num5, num5 / 2f), player[i].flameRingRot + (float)Math.PI / 3f * (float)j, new Vector2(200f, 200f), num4, SpriteEffects.None, 0f);
61124 }
61125 }
61126 }
static float Lerp(float value1, float value2, float amount)
Definition MathHelper.cs:53
static double Abs(double value)
const double PI
Definition Math.cs:16
static Asset< Texture2D > FlameRing
void LoadFlameRing()
Definition Main.cs:56262
static SpriteBatch spriteBatch
Definition Main.cs:974
static Vector2 screenPosition
Definition Main.cs:1715
static bool gamePaused
Definition Main.cs:1072
static Player[] player
Definition Main.cs:1803

References System.Math.Abs(), Terraria.GameContent.TextureAssets.FlameRing, Terraria.Main.gamePaused, System.Text.RegularExpressions.i, Microsoft.Xna.Framework.MathHelper.Lerp(), Terraria.Main.LoadFlameRing(), System.Math.PI, Terraria.Main.player, Terraria.Main.screenPosition, Terraria.Main.spriteBatch, and Microsoft.Xna.Framework.Graphics.Vector2.

Referenced by Terraria.Main.DoDraw().