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

◆ LoadNPCs()

static void Terraria.IO.WorldFile.LoadNPCs ( BinaryReader reader)
inlinestatic

Definition at line 2727 of file WorldFile.cs.

2728 {
2729 if (_versionNumber >= 268)
2730 {
2731 int num = reader.ReadInt32();
2732 while (num-- > 0)
2733 {
2734 NPC.ShimmeredTownNPCs[reader.ReadInt32()] = true;
2735 }
2736 }
2737 int num2 = 0;
2738 bool flag = reader.ReadBoolean();
2739 while (flag)
2740 {
2741 NPC nPC = Main.npc[num2];
2742 if (_versionNumber >= 190)
2743 {
2744 nPC.SetDefaults(reader.ReadInt32());
2745 }
2746 else
2747 {
2748 nPC.SetDefaults(NPCID.FromLegacyName(reader.ReadString()));
2749 }
2750 nPC.GivenName = reader.ReadString();
2751 nPC.position.X = reader.ReadSingle();
2752 nPC.position.Y = reader.ReadSingle();
2753 nPC.homeless = reader.ReadBoolean();
2754 nPC.homeTileX = reader.ReadInt32();
2755 nPC.homeTileY = reader.ReadInt32();
2756 if (_versionNumber >= 213 && ((BitsByte)reader.ReadByte())[0])
2757 {
2758 nPC.townNpcVariationIndex = reader.ReadInt32();
2759 }
2760 num2++;
2761 flag = reader.ReadBoolean();
2762 }
2763 if (_versionNumber < 140)
2764 {
2765 return;
2766 }
2767 flag = reader.ReadBoolean();
2768 while (flag)
2769 {
2770 NPC nPC = Main.npc[num2];
2771 if (_versionNumber >= 190)
2772 {
2773 nPC.SetDefaults(reader.ReadInt32());
2774 }
2775 else
2776 {
2777 nPC.SetDefaults(NPCID.FromLegacyName(reader.ReadString()));
2778 }
2779 nPC.position = reader.ReadVector2();
2780 num2++;
2781 flag = reader.ReadBoolean();
2782 }
2783 if (_versionNumber < 251)
2784 {
2785 NPC.unlockedMerchantSpawn = NPC.AnyNPCs(17);
2786 NPC.unlockedDemolitionistSpawn = NPC.AnyNPCs(38);
2787 NPC.unlockedPartyGirlSpawn = NPC.AnyNPCs(208);
2788 NPC.unlockedDyeTraderSpawn = NPC.AnyNPCs(207);
2789 NPC.unlockedTruffleSpawn = NPC.AnyNPCs(160);
2790 NPC.unlockedArmsDealerSpawn = NPC.AnyNPCs(19);
2791 NPC.unlockedNurseSpawn = NPC.AnyNPCs(18);
2792 NPC.unlockedPrincessSpawn = NPC.AnyNPCs(663);
2793 }
2794 }
virtual bool ReadBoolean()
virtual byte ReadByte()
virtual string ReadString()
virtual float ReadSingle()
virtual int ReadInt32()
static int FromLegacyName(string name)
Definition NPCID.cs:11748
static int _versionNumber
Definition WorldFile.cs:117

References Terraria.IO.WorldFile._versionNumber, Terraria.NPC.AnyNPCs(), Terraria.ID.NPCID.FromLegacyName(), Terraria.Main.npc, System.IO.BinaryReader.ReadBoolean(), System.IO.BinaryReader.ReadByte(), System.IO.BinaryReader.ReadInt32(), System.IO.BinaryReader.ReadSingle(), System.IO.BinaryReader.ReadString(), and Terraria.NPC.ShimmeredTownNPCs.

Referenced by Terraria.IO.WorldFile.LoadWorld_Version2().