how about a dogo to add a hook
private object RespawnNPCHook(Vector3 position, Quaternion currentRot, string name = "NPC", ulong clone = 0, bool saved = true)
{
HumanNPCInfo npcInfo = null;
if (clone != 0)
{
HumanNPCInfo tempInfo;
if (humannpcs.TryGetValue(clone, out tempInfo))
{
npcInfo = tempInfo.Clone(clone);
npcInfo.spawnInfo = new SpawnInfo(position, currentRot);
}
}
if (npcInfo == null) npcInfo = new HumanNPCInfo(clone, position, currentRot);
npcInfo.displayName = name;
RemoveNPC(clone);
humannpcs[clone] = npcInfo;
storedData.HumanNPCs.Add(npcInfo);
save = saved;
SpawnNPC(clone, true);
return FindHumanPlayerByID(clone);
}