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

◆ InInteractionRange()

bool Terraria.Player.InInteractionRange ( int interactX,
int interactY,
TileReachCheckSettings settings )
inline

Definition at line 29774 of file Player.cs.

29775 {
29776 int num = (int)(((double)position.X + (double)width * 0.5) / 16.0);
29777 int num2 = (int)(((double)position.Y + (double)height * 0.5) / 16.0);
29778 Tile tile = Main.tile[interactX, interactY];
29779 settings.GetRanges(this, out var x, out var y);
29780 if (tile.type == 597)
29781 {
29782 if (interactX < num)
29783 {
29784 interactX += 2;
29785 }
29786 if (interactY < num2)
29787 {
29788 interactY += 3;
29789 }
29790 Point point = position.ToTileCoordinates();
29791 Point point2 = base.BottomRight.ToTileCoordinates();
29792 if (point2.X >= interactX - x + 1 && point.X <= interactX + x - 1 && point2.Y >= interactY - y + 2)
29793 {
29794 return point.Y <= interactY + y - 1;
29795 }
29796 return false;
29797 }
29798 if (tile.type == 475)
29799 {
29800 if (num >= interactX - x - 1 && num <= interactX + x + 2 && num2 >= interactY - y - 1)
29801 {
29802 return num2 <= interactY + y + 2;
29803 }
29804 return false;
29805 }
29806 if (tile.type == 470)
29807 {
29808 if (num >= interactX - x - 1 && num <= interactX + x + 1 && num2 >= interactY - y - 1)
29809 {
29810 return num2 <= interactY + y + 2;
29811 }
29812 return false;
29813 }
29815 {
29816 return num2 <= interactY + y + 1;
29817 }
29818 return false;
29819 }
Vector2 position
Definition Entity.cs:14
void GetRanges(Player player, out int x, out int y)

References Terraria.DataStructures.TileReachCheckSettings.GetRanges(), Terraria.Main.tile, Terraria.Tile.type, and Microsoft.Xna.Framework.Point.X.

Referenced by Terraria.GameContent.TeleportPylonsSystem.HandleTeleportRequest(), Terraria.GameContent.Tile_Entities.TEDisplayDoll.OnPlayerUpdate(), and Terraria.GameContent.Tile_Entities.TEHatRack.OnPlayerUpdate().