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

◆ MowTheLawn()

void Terraria.Player.MowTheLawn ( )
inlineprivate

Definition at line 19732 of file Player.cs.

19733 {
19734 if (miscCounter % 2 != 0 || velocity.Y != 0f || grappling[0] != -1 || itemAnimation < 1)
19735 {
19736 return;
19737 }
19738 Vector2 vector = base.Center + new Vector2(direction * 38, (float)(height / 2 + 4) * gravDir);
19739 float num = 1f - (float)itemAnimation / (float)itemAnimationMax;
19740 num *= 2f;
19741 num = ((!(num < 1f)) ? (num - 1f) : (1f - num));
19742 Vector2 value = vector + new Vector2(direction * -16, gravDir * -4f);
19743 Vector2 value2 = vector + new Vector2(direction * -6, gravDir * -4f);
19744 Dust dust = Dust.NewDustDirect(Vector2.Lerp(value, value2, num), 0, 0, 31, 0f, (0f - gravDir) * 0.25f, 127);
19745 dust.scale = 0.9f;
19746 dust.position -= new Vector2(4f);
19747 if (dust.velocity.Y > 0f)
19748 {
19749 dust.velocity.Y *= -1f;
19750 }
19751 dust.velocity *= 0.25f;
19752 Rectangle rectangle = Utils.CenteredRectangle(vector, new Vector2(8f, 20f));
19753 if (velocity.X * (float)direction > 0f || velocity.Y * gravDir > 0f)
19754 {
19756 myRect.Height -= 4;
19757 myRect.Y += 2;
19758 float damage = 8f;
19759 float knockback = 2f;
19760 int nPCImmuneTime = 12;
19761 int playerImmuneTime = 6;
19763 }
19764 rectangle.X -= direction * 10;
19765 if (whoAmI == Main.myPlayer)
19766 {
19770 if (!WorldGen.SolidTile(Framing.GetTileSafely(vector.ToTileCoordinates())))
19771 {
19772 MowGrassTile(vector + new Vector2(0f, 16f * gravDir));
19773 }
19774 }
19775 }
Vector2 velocity
Definition Entity.cs:16
int itemAnimationMax
Definition Player.cs:2567
bool[] ItemCheck_GetTileCutIgnoreList(Item sItem)
Definition Player.cs:42427
void ItemCheck_CutTiles(Item sItem, Rectangle itemRectangle, bool[] shouldIgnore)
Definition Player.cs:42452
void MowGrassTile(Vector2 thePos)
Definition Player.cs:19777
int CollideWithNPCs(Rectangle myRect, float Damage, float Knockback, int NPCImmuneTime, int PlayerImmuneTime)
Definition Player.cs:19810
int[] grappling
Definition Player.cs:2305
static Vector2 Lerp(Vector2 value1, Vector2 value2, float amount)
Definition Vector2.cs:227

References Terraria.Utils.CenteredRectangle(), Terraria.Framing.GetTileSafely(), Microsoft.Xna.Framework.Vector2.Lerp(), Terraria.Main.myPlayer, Terraria.Dust.NewDustDirect(), Terraria.WorldGen.SolidTile(), System.value, Terraria.Dust.velocity, and Microsoft.Xna.Framework.Vector2.Y.