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

◆ IsThereASpawnablePrioritizedTownNPC()

static bool Terraria.WorldGen.IsThereASpawnablePrioritizedTownNPC ( int x,
int y,
ref bool canSpawnNewTownNPC )
inlinestatic

Definition at line 1612 of file WorldGen.cs.

1613 {
1615 {
1616 canSpawnNewTownNPC = false;
1617 return true;
1618 }
1619 List<int> list = new List<int>();
1620 TownManager.AddOccupantsToList(x, y, list);
1621 for (int i = 0; i < list.Count; i++)
1622 {
1623 int num = list[i];
1624 if (Main.townNPCCanSpawn[num] && !NPC.AnyNPCs(num) && CheckSpecialTownNPCSpawningConditions(num))
1625 {
1627 canSpawnNewTownNPC = true;
1628 return true;
1629 }
1630 }
1631 for (int j = 0; j < NPCID.Count; j++)
1632 {
1633 if (!Main.townNPCCanSpawn[j] || !CheckSpecialTownNPCSpawningConditions(j))
1634 {
1635 continue;
1636 }
1637 if (NPC.AnyNPCs(j))
1638 {
1639 Main.townNPCCanSpawn[j] = false;
1640 continue;
1641 }
1642 if (TownManager.HasRoomQuick(j))
1643 {
1645 canSpawnNewTownNPC = true;
1646 return true;
1647 }
1649 {
1651 canSpawnNewTownNPC = true;
1652 return true;
1653 }
1654 }
1655 return false;
1656 }
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.

Referenced by Terraria.WorldGen.SpawnTownNPC().