55538 {
55539
55540
55541
55542
55543
55544
55545
55546
55547
55548
55549
55550
55551
55552
55553
55554
55555
55556
55557
55558
55560 Rectangle value = default(Rectangle);
55561 Rectangle
rectangle =
default(Rectangle);
55562 Rectangle
value2 =
default(Rectangle);
55563 for (int i = 0; i < 200; i++)
55564 {
55566 if (!
nPC.ShowNameOnHover || !(
nPC.active & (
nPC.shimmerTransparency == 0
f ||
nPC.CanApplyHunterPotionEffects())))
55567 {
55568 continue;
55569 }
55570 int type =
nPC.type;
55572 nPC.position +=
nPC.netOffset;
55573 ((Rectangle)(
ref value)).
_002Ector((
int)nPC.Bottom.X - nPC.frame.Width / 2, (int)
nPC.Bottom.Y -
nPC.frame.Height,
nPC.frame.Width,
nPC.frame.Height);
55574 if (
nPC.type >= 87 &&
nPC.type <= 92)
55575 {
55576 ((Rectangle)(
ref value)).
_002Ector((
int)((double)
nPC.position.X + (
double)nPC.width * 0.5 - 32.0), (int)((
double)nPC.position.Y + (double)
nPC.height * 0.5 - 32.0), 64, 64);
55577 }
55581 if (
flag2 && ((
nPC.type != 85 &&
nPC.type != 341 &&
nPC.type != 629 &&
nPC.aiStyle != 87) ||
nPC.ai[0] != 0
f) &&
nPC.type != 488)
55582 {
55583 if (
nPC.type == 685)
55584 {
55585 player.cursorItemIconEnabled = true;
55586 player.cursorItemIconID = 327;
55587 player.cursorItemIconText = "";
55588 player.noThrow = 2;
55590 {
55593 {
55596 {
55597 player.releaseInventory = false;
55598 }
55600 {
55601 NPC.TransformElderSlime(i);
55603 }
55604 }
55605 }
55606 }
55607 else
55608 {
55611 if (
nPC.townNPC ||
nPC.type == 105 ||
nPC.type == 106 ||
nPC.type == 123 ||
nPC.type == 354 ||
nPC.type == 376 ||
nPC.type == 579 ||
nPC.type == 453 ||
nPC.type == 589)
55612 {
55614 }
55616 {
55620 {
55622 }
55623 }
55624 if (
player.ownedProjectileCounts[651] > 0)
55625 {
55627 }
55629 {
55634 {
55637 {
55638 player.releaseInventory = false;
55639 }
55640 if (
player.talkNPC != i && !
player.tileInteractionHappened)
55641 {
55647 player.sign = -1;
55651 player.chest = -1;
55652 Recipe.FindRecipes();
55655 }
55656 }
55657 }
55659 {
55660 player.cursorItemIconEnabled = false;
55661 string text =
nPC.GivenOrTypeName;
55663 if (
nPC.realLife >= 0)
55664 {
55666 }
55668 {
55669 text = text +
": " +
npc[
num].life +
"/" +
npc[
num].lifeMax;
55670 }
55673 nPC.position -=
nPC.netOffset;
55674 break;
55675 }
55677 {
55678 nPC.position -=
nPC.netOffset;
55679 break;
55680 }
55681 }
55682 }
55683 nPC.position -=
nPC.netOffset;
55684 }
55685 }
static SlotId PlaySound(in SoundStyle? style, Vector2? position=null, SoundUpdateCallback? updateCallback=null)
Attempts to play a sound style with the provided sound style (if it's not null), and returns a valid ...
void MouseTextHackZoom(string text, string buffTooltip=null)
static string npcChatText
static int npcChatCornerItem
static bool npcChatRelease
static bool SmartInteractShowingGenuine
static bool TryFreeingElderSlime(int npcIndex)
static int myPlayer
The index in F:Terraria.Main.player of this client's Player. If this is 255, this client is the ser...
static void SetNPCShopIndex(int index)
static void CancelHairWindow()
static int SmartInteractNPC
int currentNPCShowingChatBubble
static bool InGuideCraftMenu
static bool playerInventory
static bool HoveringOverAnNPC
static ? bool CanChat(NPC npc)
static void ModifyHoverBoundingBox(NPC npc, ref Rectangle boundingBox)
This serves as the central class from which NPC-related functions are carried out....