NpcClientStartup
On startup the NPC Client will cache various bits of data.
LoadNPCTypes(const char* xmlfile)
This loads all the data in data/npcbehave.xml and builds NPCType for each one. These are stored in the the psNPCClient.npctypes array.
ReadNPCsFromDatabase()
This reads all the data from the sc_npc_definitions table and will create a new NPC object for each of them. They are stored inside the psNPCClient.npcs array.
It also loads up the tribe and path information.
Should note that none of the entities are created though, just their NPC objects. When entities are sent from the server to the npcclient it will attach the NPC to those entities.