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

◆ QuickFindHome()

static void Terraria.WorldGen.QuickFindHome ( int npc)
inlinestatic

Definition at line 2522 of file WorldGen.cs.

2523 {
2524 bool flag = Main.tileSolid[379];
2525 Main.tileSolid[379] = true;
2526 if (Main.npc[npc].homeTileX > 10 && Main.npc[npc].homeTileY > 10 && Main.npc[npc].homeTileX < Main.maxTilesX - 10 && Main.npc[npc].homeTileY < Main.maxTilesY)
2527 {
2528 canSpawn = false;
2529 StartRoomCheck(Main.npc[npc].homeTileX, Main.npc[npc].homeTileY - 1);
2530 if (!canSpawn)
2531 {
2532 for (int i = Main.npc[npc].homeTileX - 1; i < Main.npc[npc].homeTileX + 2; i++)
2533 {
2534 for (int j = Main.npc[npc].homeTileY - 1; j < Main.npc[npc].homeTileY + 2 && !StartRoomCheck(i, j); j++)
2535 {
2536 }
2537 }
2538 }
2539 if (!canSpawn)
2540 {
2541 int num = 10;
2542 for (int k = Main.npc[npc].homeTileX - num; k <= Main.npc[npc].homeTileX + num; k += 2)
2543 {
2544 for (int l = Main.npc[npc].homeTileY - num; l <= Main.npc[npc].homeTileY + num && !StartRoomCheck(k, l); l += 2)
2545 {
2546 }
2547 }
2548 }
2549 if (canSpawn)
2550 {
2551 RoomNeeds(Main.npc[npc].type);
2552 if (canSpawn)
2553 {
2554 ScoreRoom(npc, Main.npc[npc].type);
2555 }
2556 if (canSpawn && hiScore > 0)
2557 {
2559 }
2560 if (canSpawn && hiScore > 0)
2561 {
2562 Main.npc[npc].homeTileX = bestX;
2563 Main.npc[npc].homeTileY = bestY;
2564 Main.npc[npc].homeless = false;
2566 canSpawn = false;
2567 }
2568 else
2569 {
2570 Main.npc[npc].homeless = true;
2571 }
2572 }
2573 else
2574 {
2575 Main.npc[npc].homeless = true;
2576 }
2577 }
2578 Main.tileSolid[379] = flag;
2579 }
static void ScoreRoom(int ignoreNPC=-1, int npcTypeAskingToScoreRoom=-1)
Definition WorldGen.cs:2675
static int hiScore
Definition WorldGen.cs:1312
static bool StartRoomCheck(int x, int y)
Definition WorldGen.cs:2872
static bool RoomNeeds(int npcType)
Definition WorldGen.cs:2473
static bool canSpawn
Definition WorldGen.cs:1304
static int bestX
Definition WorldGen.cs:1308
static int bestY
Definition WorldGen.cs:1310
static bool IsRoomConsideredOccupiedForNPCIndex(int npc)
Definition WorldGen.cs:2581

References Terraria.WorldGen.bestX, Terraria.WorldGen.bestY, Terraria.WorldGen.canSpawn, Terraria.WorldGen.hiScore, Terraria.WorldGen.IsRoomConsideredOccupiedForNPCIndex(), Terraria.Main.maxTilesX, Terraria.Main.maxTilesY, Terraria.GameContent.Achievements.AchievementsHelper.NotifyProgressionEvent(), Terraria.Main.npc, Terraria.WorldGen.RoomNeeds(), Terraria.WorldGen.ScoreRoom(), Terraria.WorldGen.StartRoomCheck(), and Terraria.Main.tileSolid.

Referenced by Terraria.NPC.AI_007_TownEntities_TeleportToHome(), and Terraria.Main.UpdateTime_SpawnTownNPCs().

+ Here is the call graph for this function:
+ Here is the caller graph for this function: