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

◆ IsThereASpawnablePrioritizedTownNPC_Old()

static bool Terraria.WorldGen.IsThereASpawnablePrioritizedTownNPC_Old ( int x,
int y )
inlinestatic

Definition at line 1658 of file WorldGen.cs.

1659 {
1661 {
1662 return true;
1663 }
1664 List<int> list = new List<int>();
1665 TownManager.AddOccupantsToList(x, y, list);
1666 for (int i = 0; i < list.Count; i++)
1667 {
1668 int num = list[i];
1669 if (Main.townNPCCanSpawn[num] && !NPC.AnyNPCs(num) && CheckSpecialTownNPCSpawningConditions(num))
1670 {
1672 return true;
1673 }
1674 }
1675 int num2 = -1;
1676 for (int j = 0; j < NPCID.Count; j++)
1677 {
1678 if (!Main.townNPCCanSpawn[j] || !CheckSpecialTownNPCSpawningConditions(j))
1679 {
1680 continue;
1681 }
1682 if (NPC.AnyNPCs(j))
1683 {
1684 Main.townNPCCanSpawn[j] = false;
1685 }
1686 else if (TownManager.HasRoomQuick(j))
1687 {
1688 if (num2 == -1)
1689 {
1690 num2 = j;
1691 }
1692 }
1694 {
1696 return true;
1697 }
1698 }
1699 if (num2 != -1)
1700 {
1702 return true;
1703 }
1704 return false;
1705 }
static bool[] IsTownPet
Definition NPCID.cs:4099
static readonly short Count
Definition NPCID.cs:11744
static TownRoomManager TownManager
Definition WorldGen.cs:892
static bool CheckSpecialTownNPCSpawningConditions(int type)
Definition WorldGen.cs:1707
static int prioritizedTownNPCType
Definition WorldGen.cs:1024

References Terraria.NPC.AnyNPCs(), Terraria.WorldGen.CheckSpecialTownNPCSpawningConditions(), Terraria.ID.NPCID.Count, Terraria.ID.NPCID.Sets.IsTownPet, System.list, Terraria.WorldGen.prioritizedTownNPCType, Terraria.WorldGen.TownManager, and Terraria.Main.townNPCCanSpawn.