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

◆ UnspawnTravelNPC()

static void Terraria.WorldGen.UnspawnTravelNPC ( )
inlinestatic

Definition at line 1737 of file WorldGen.cs.

1738 {
1739 int num = -1;
1740 for (int i = 0; i < 200; i++)
1741 {
1742 if (Main.npc[i].active && Main.npc[i].type == 368)
1743 {
1744 num = i;
1745 break;
1746 }
1747 }
1748 if (num < 0)
1749 {
1750 return;
1751 }
1752 int num2 = (int)(Main.npc[num].Center.X / 16f);
1753 int num3 = (int)(Main.npc[num].Center.Y / 16f);
1754 bool flag = true;
1755 Rectangle value = new Rectangle(num2 * 16 + 8 - NPC.sWidth / 2 - NPC.safeRangeX, num3 * 16 + 8 - NPC.sHeight / 2 - NPC.safeRangeY, NPC.sWidth + NPC.safeRangeX * 2, NPC.sHeight + NPC.safeRangeY * 2);
1756 for (int j = 0; j < 255; j++)
1757 {
1758 if (Main.player[j].active && new Rectangle((int)Main.player[j].position.X, (int)Main.player[j].position.Y, Main.player[j].width, Main.player[j].height).Intersects(value))
1759 {
1760 flag = false;
1761 break;
1762 }
1763 }
1764 if (flag)
1765 {
1766 string fullName = Main.npc[num].FullName;
1767 if (Main.netMode == 0)
1768 {
1769 Main.NewText(Lang.misc[35].Format(fullName), 50, 125);
1770 }
1771 else if (Main.netMode == 2)
1772 {
1773 ChatHelper.BroadcastChatMessage(NetworkText.FromKey(Lang.misc[35].Key, Main.npc[num].GetFullNetName()), new Color(50, 125, 255));
1774 }
1775 Main.npc[num].active = false;
1776 Main.npc[num].netSkip = -1;
1777 Main.npc[num].life = 0;
1778 NetMessage.SendData(23, -1, -1, null, num);
1779 }
1780 }
static void BroadcastChatMessage(NetworkText text, Color color, int excludedPlayer=-1)
Definition ChatHelper.cs:46
static NetworkText FromKey(string key, params object[] substitutions)
bool Intersects(Rectangle value)
Definition Rectangle.cs:129

References Terraria.Chat.ChatHelper.BroadcastChatMessage(), Terraria.Localization.NetworkText.FromKey(), Microsoft.Xna.Framework.Rectangle.Intersects(), Terraria.Lang.misc, Terraria.Main.netMode, Terraria.Main.NewText(), Terraria.Main.npc, Terraria.Main.player, Terraria.NPC.safeRangeX, Terraria.NPC.safeRangeY, Terraria.NetMessage.SendData(), Terraria.NPC.sHeight, Terraria.NPC.sWidth, and System.value.

Referenced by Terraria.Main.UpdateTime().