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

◆ TryInteractingWithMoneyTrough()

static int Terraria.Main.TryInteractingWithMoneyTrough ( Projectile proj)
inlinestaticprivate

Definition at line 34468 of file Main.cs.

34469 {
34470 if (gamePaused || gameMenu)
34471 {
34472 return 0;
34473 }
34476 Microsoft.Xna.Framework.Point point = proj.Center.ToTileCoordinates();
34478 if (!localPlayer.IsProjectileInteractibleAndInInteractionRange(proj, ref compareSpot))
34479 {
34480 return 0;
34481 }
34482 Matrix matrix = Matrix.Invert(GameViewMatrix.ZoomMatrix);
34485 Vector2 v = Vector2.Transform(position, matrix) + screenPosition;
34486 bool flag2 = proj.Hitbox.Contains(v.ToPoint());
34487 if (!((flag2 || SmartInteractProj == proj.whoAmI) & !localPlayer.lastMouseInterface))
34488 {
34489 if (!flag)
34490 {
34491 return 1;
34492 }
34493 return 0;
34494 }
34496 if (flag2)
34497 {
34498 localPlayer.noThrow = 2;
34499 localPlayer.cursorItemIconEnabled = true;
34500 localPlayer.cursorItemIconID = 3213;
34501 if (proj.type == 960)
34502 {
34503 localPlayer.cursorItemIconID = 5098;
34504 }
34505 }
34507 {
34508 localPlayer.GamepadEnableGrappleCooldown();
34509 }
34510 if (mouseRight && mouseRightRelease && Player.BlockInteractionWithProjectiles == 0)
34511 {
34512 mouseRightRelease = false;
34513 localPlayer.tileInteractAttempted = true;
34514 localPlayer.tileInteractionHappened = true;
34515 localPlayer.releaseUseTile = false;
34516 if (localPlayer.chest == -2)
34517 {
34518 localPlayer.chest = -1;
34520 Recipe.FindRecipes();
34521 }
34522 else
34523 {
34524 localPlayer.chest = -2;
34525 for (int i = 0; i < 40; i++)
34526 {
34527 ItemSlot.SetGlow(i, -1f, chest: true);
34528 }
34529 localPlayer.piggyBankProjTracker.Set(proj);
34530 localPlayer.chestX = point.X;
34531 localPlayer.chestY = point.Y;
34532 localPlayer.SetTalkNPC(-1);
34533 SetNPCShopIndex(0);
34534 playerInventory = true;
34536 Recipe.FindRecipes();
34537 }
34538 }
34540 {
34541 return 0;
34542 }
34543 if (!flag)
34544 {
34545 return 2;
34546 }
34547 return 0;
34548 }
bool ICollection< KeyValuePair< TKey, TValue > >. Contains(KeyValuePair< TKey, TValue > keyValuePair)
static int SmartInteractProj
Definition Main.cs:2165
static Chest[] chest
Definition Main.cs:1699
static Vector2 ReverseGravitySupport(Vector2 pos, float height=0f)
Definition Main.cs:3005
static bool mouseRight
Definition Main.cs:616
static void SetNPCShopIndex(int index)
Definition Main.cs:37260
static Vector2 screenPosition
Definition Main.cs:1715
static Vector2 MouseScreen
Definition Main.cs:2773
static bool HasInteractibleObjectThatIsNotATile
Definition Main.cs:1998
static SpriteViewMatrix GameViewMatrix
Definition Main.cs:227
static bool mouseRightRelease
Definition Main.cs:1757
static bool playerInventory
Definition Main.cs:1759
static bool SmartCursorIsUsed
Definition Main.cs:2855
static bool gameMenu
Definition Main.cs:1926
static Player LocalPlayer
Definition Main.cs:2829
static void PlayInteractiveProjectileOpenCloseSound(int projType, bool open)
Definition Main.cs:34550
static bool gamePaused
Definition Main.cs:1072
static void SetGlow(int index, float hue, bool chest)
Definition ItemSlot.cs:249
static Matrix Invert(Matrix matrix)
Definition Matrix.cs:1694
static Vector2 Transform(Vector2 position, Matrix matrix)
Definition Vector2.cs:317

References Terraria.Player.BlockInteractionWithProjectiles, Terraria.Main.chest, System.Collections.Generic.Dictionary< TKey, TValue >.Contains(), Terraria.Recipe.FindRecipes(), Terraria.Main.gameMenu, Terraria.Main.gamePaused, Terraria.Main.GameViewMatrix, Terraria.Main.HasInteractibleObjectThatIsNotATile, System.Text.RegularExpressions.i, Microsoft.Xna.Framework.Matrix.Invert(), Terraria.Main.LocalPlayer, Terraria.Main.mouseRight, Terraria.Main.mouseRightRelease, Terraria.Main.MouseScreen, Terraria.Main.playerInventory, Terraria.Main.PlayInteractiveProjectileOpenCloseSound(), Terraria.Main.ReverseGravitySupport(), Terraria.Main.screenPosition, Terraria.UI.ItemSlot.SetGlow(), Terraria.Main.SetNPCShopIndex(), Terraria.Main.SmartCursorIsUsed, Terraria.Main.SmartInteractProj, Microsoft.Xna.Framework.Vector2.Transform(), Terraria.GameInput.PlayerInput.UsingGamepad, Microsoft.Xna.Framework.Point.X, and Microsoft.Xna.Framework.Point.Y.

Referenced by Terraria.Main.DrawProjDirect().