instance_spawn_groups

字段介绍

  • 此表通过 Boss 状态管理副本内的刷新组
  • 一旦满足任何 FLAG_ACTIVATE_SPAWN 条件,将激活预设的刷新组,任何 FLAG_BLOCK_SPAWN 条件将不激活刷新组

instance_spawn_groups

  • instanceMapId
    • 副本地图 ID
  • bossStateId
    • Boss 状态 ID,取值参考源码 .h DataTypes 定义
    • 下面的例子中,一共定义了 0,1,2,3共4个 DataTypes,分别对应副本的4个 Boss
enum AVDataTypes
{
    // Encounters
    DATA_LEYMOR             = 0,
    DATA_AZUREBLADE         = 1,
    DATA_TELASH_GREYWING    = 2,
    DATA_UMBRELSKUL         = 3,
    [...]
  • bossStates
    • Boss 状态的掩码,取值参考源码 InstanceScript.h 的 EncounterState 定义
    • 此值为位掩码,要应用多个,只需将他们相加
Name Mask Value Comment
NOT_STARTED 0x01 1 未开始
IN_PROGRESS 0x02 2 击杀进行中
FAIL 0x04 4 击杀失败
DONE 0x08 8 已击杀
SPECIAL 0x10 16 特殊
TO_BE_DECIDED 0x20 32 待定
  • spawnGroupId
    • 刷新组的 ID,取值链接 spawn_group_template.groupId
  • flags
    • 副本刷新组标识,取值参考源码 ObjectMgr.h 的 InstanceSpawnGroupInfo 定义
Name Mask Value
FLAG_ACTIVATE_SPAWN 0x01 1
FLAG_BLOCK_SPAWN 0x02 2
FLAG_ALLIANCE_ONLY 0x04 4
FLAG_HORDE_ONLY 0x08 8

举例

  • 黑龙巢穴副本中,在以下 Boss 状态下(23 = 16 + 4 + 2 + 1),ID = 10 的刷新组将保持刷新状态
  • 击杀奥妮克希亚后,奥妮克希亚巢穴守卫不再刷新

参考阅读:

spawn_group | spawn_group_template | linked_respawn

你可能感兴趣的:(TrinityCore,数据表,开源)