It can be done, but
it is a long process. If you're not interested in learning how to create your own modlet, and spending a couple of days (or more) to create it, then the rest of this post probably won't interest you.
It's basically a two step process:
- Spawn human NPCs into all the entity groups used for zombies
- Remove the zombies from those same entity groups
But there are a number of catches.
The first issue is hordes (blood moon hordes, wandering hordes). The horde spawner can only spawn entities that descend from the C# EntityEnemy class. If you try to spawn other entities, the game will spam red errors in the console and nothing will spawn.
There are templates in NPC Core which use a custom SCore C# class that descends from EntityEnemy. But most NPC Pack authors don't use them, because that class lacks all but the most basic features. To my knowledge, my
Whisperers and
Rogues and Psychos packs are the only ones that do use those templates. So you would need to put only those entities into the entity groups used for hordes.
This doesn't apply to the entity groups used to spawn entities into biomes, nor to the entity groups used to spawn entities into POIs. All of those should be able to support all NPCs.
I don't know if this applies to "scout" spawn groups - the ones that spawn entities in response to a screamer. And that brings us to the next catch. If you want to get rid of screamers, I
think that you can replace the screamer entity in the "zombieScreamer", "zombieScreamerFeral", and "zombieScreamerRadiated" entity groups with this:
<entity name="none" />
But I haven't tried it myself. It's
possible that screamers are hard-coded to spawn when the heat map reaches a certain point. (Hopefully not but I don't know.)
The next issue is balance. If you just add in NPCs without any probabilities, things will be completely unbalanced. You want to spawn tougher NPCs with probabilities that increase with gamestage, and weaker NPCs with probabilities that decrease with gamestage.
There are a number of ways you could do this:
- Match NPCs to vanilla zombies in terms of "difficulty," then insert the NPCs after those zombies at the same probability level (so, target probabilities containing "0.1", probabilities containing "0.2", etc.) and remove the zombies afterwards.
- Look in my NPC packs, and copy what is there for entity groups used to spawn NPCs into NPC POIs ("npcBanditsAll", etc). For other packs I would recommend my "Progression" series of modlets (since the ones in the other NPC packs aren't gamestaged). But there are only six group stages used in NPC POIs, and vanilla uses a lot more than that (e.g. blood moons use over 300 gamestaged entity groups).
- In each of my NPC packs (and also the "Progression" modlets), there is a "Scripts" directory, containing JavaScript files that I used to populate the entity groups. If you know how to code, you could modify those to automatically generate other entity group lists. (If you need help feel free to PM me.)
...Like I said, it is not easy. But if you still want to do it, I hope this helps.