NPC Tables and hierarchy - OpenPerpetuum/OPDB GitHub Wiki

Keys and relationships:

dbo.npcflock.presenceid -> dbo.npcpresence.id
dbo.npcflock.definition -> dbo.EntityDefaults.definition
dbo.npcpresence.spawnid -> dbo.zones.spawnid

NPCFlock

Fields of interest:

dbo.npcflock.flockmembercount -> number of Presences
dbo.npcflock.spawnoriginx/y-> spawn origin (zone coords)
dbo.npcflock.spawnrangemin/max-> radius from origin in which npcs can appear
dbo.npcflock.respawnseconds-> respawn time
dbo.npcflock.totalspawncount-> ??? used?
dbo.npcflock.homerange-> deaggro radius
dbo.npcflock.respawnmultiplierlow-> ???? how many killed before respawnable?
dbo.npcflock.iscallforhelp-> ??All 1 -- enforce gang aggro? cant pull single targets
dbo.npcflock.behaviorType-> orange=1, red=2 (0=orange but wont target back)

NPCPresence

Fields of interest:

dbo.npcpresence.topx/y .. bottomx/y -> free roam boundaries (should be strictly bound to [0+margin, 2048-margin])
dbo.npcpresence.spawnid -> zone's spawnid (unique int of zone, NOT zoneid!!)
dbo.npcpresence.roaming -> roaming flag (0/1=true) TODO redundant/dependent on presencetype=2?
dbo.npcpresence.roamingrespawnseconds -> how does this interact with flock spawnseconds?!
dbo.npcpresence.presencetype -> enum {Normal,Roaming,Dynamic,Random,DynamicPool,FreeRoaming, Direct} TODO what are these?!
dbo.npcpresence.maxrandomflock-> number of flocks in presence
dbo.npcpresence.randomcenterx/y/radius-> spawn/roam radius and location?
dbo.npcpresence.dynamiclifetime-> ??
dbo.npcpresence.isrespawnallowed-> flag if respawnable?
dbo.npcpresence.isbodypull -> flag for pull;?? seems to not work/override by flock properties?
dbo.npcpresence.safebodypull-> flag for pull;?? seems to not work/override by flock properties?