spawn_group - cmangos/issues GitHub Wiki

Tables:

spawn_group
spawn_group_spawn
spawn_group_entry
spawn_group_formation
spawn_group_linked_group

waypoint_path waypoint_path_name

Logically a replacement of linking and pooling. Groups spawns into a logical group, which can behave differently. Benefits are much easier handling in core and during creation of new entries. Also introduces conditional spawning through worldstate alteration.


spawn_group

Id - Spawn Group ID

1-18999 for Classic (Eastern Kingdoms 0 & Kalimdor 1)
19000-19999 for tbc-db added classic content, 19999-19000 for wotlk-db added classic content
20000-29999 TBC (Outland 530)
30000-39999 WOTLK (Northrend 571)
      for WoTlk Pls Use:
      30000 - zul'drak
      30500 - borean
      31000 - dragonblight
      31500 - howling
      32000 - grizzly
      32500 - Sholazar
      33000 - Storm Peaks
      33500 - crystalong
      33700 - Dalaran
      34000 - IC
      34950 - Hrothgar's Landing
      35000 - DK starting Zone
3000000+ Instance Files

Name - Mandatory name restricted to 200 characters. Name structure example: EPL - Musty Tome - Annals of Darrowshire
Type - Type of group - 0 creature, 1 gameobject (enum SpawnGroupType)

    SPAWN_GROUP_CREATURE = 0,
    SPAWN_GROUP_GAMEOBJECT = 1,

MaxCount - Maximum count of spawns that can be spawned at a time for whole group. If set to 0, automatically calculated from either spawns or entries, whichever lower.

WorldState - Evaluates condition from conditions table. Intended to be used in connection with type CONDITION_ACTIVE_GAME_EVENT 12, CONDITION_ACTIVE_HOLIDAY 26 and CONDITION_WORLDSTATE 42 conditions only for performance and safety reasons. Consult worldstate for more information.

WorldStateExpression - worldstate_expression.Id
Exclusive with WorldState - Uses official data for expressions like in combat_condition

Flags - enum CreatureGroupFlags

    CREATURE_GROUP_AGGRO_TOGETHER    = 0x01,
    CREATURE_GROUP_RESPAWN_TOGETHER  = 0x02,
    CREATURE_GROUP_EVADE_TOGETHER    = 0x04,

Flags - enum SpawnGroupFlags // flags that are common between both creature and gos (GO groups currently have no unique flags)

    SPAWN_GROUP_DESPAWN_ON_COND_FAIL = 0x08,

StringId - string_id - will be set to all spawns of spawn_group


spawn_group_spawn

Id - Spawn Group ID
Guid - Guid in Creature or GameObject table, used as DbGuid in core, due to SpawnGroups automatically using Dynamic Guid system (when spawned, has unique guid) SlotId - Formation Slot, -1 for gameobjects or creatures that are not in formation but part of a spawn group.


spawn_group_entry

not mandatory, only for randomization of spawns

Id - Spawn Group ID

Entry - Entry for picking on spawn from creature_template or gameobject_template

MinCount - Minimum count of entries before random chances or other entries become eligible

MaxCount - Maximum count of given entry in the world for whole spawn group

Chance - Chance of entry to be picked over other chanced entries. First chanced entries are tried and then all chanced with 0. MinCount overrides this


spawn_group_formation

Id - Spawn Group ID

FormationType

enum SpawnGroupFormationType

Value Name Example
0 SPAWN_GROUP_FORMATION_TYPE_RANDOM(subject to change)
1 SPAWN_GROUP_FORMATION_TYPE_SINGLE_FILE
2 SPAWN_GROUP_FORMATION_TYPE_SIDE_BY_SIDE
3 SPAWN_GROUP_FORMATION_TYPE_LIKE_GEESE
4 SPAWN_GROUP_FORMATION_TYPE_FANNED_OUT_BEHIND
5 SPAWN_GROUP_FORMATION_TYPE_FANNED_OUT_IN_FRONT
6 SPAWN_GROUP_FORMATION_TYPE_CIRCLE_THE_LEADER

FormationSpread

Distance between formation members, Value between -15 and 15 - raw distance ingame Only positive make sense for all formation except random(0) For random position spread mean the distance from leader and the pack of members. By using negative spread in that case we can push the pack above leader.

Humanoid Npcs 2 minimum, then target circles tangate each other. 5 good default value for SPAWN_GROUP_FORMATION_TYPE_SINGLE_FILE to not make it look too stacked

FormationOptions

enum SpawGroupFormationOptions

BitMask Name
0x00 SPAWN_GROUP_FORMATION_OPTION_NONE
0x01 SPAWN_GROUP_FORMATION_OPTION_FOLLOWERS_WILL_NOT_PATHFIND_TO_LOCATION
0x02 SPAWN_GROUP_FORMATION_OPTION_KEEP_COMPACT

PathId

waypoint_path

Table waypoint_path holds the waypoint data for PathId used in spawn_group_formation.

waypoint_path_name

Table waypoint_path_name PathId holds names used for PathId

MovementType

MovementType of the Formation, Overwrites creature.MovementType. 0 (Idle) 2 (waypoint movement) 3 (path movement) or 4 (linear movement) are applicable

Comment

Same as spawn_group.Name


spawn_group_linked_group

Id - Spawn Group ID

LinkedId - Linked Spawn Group ID

One directional linkage to another spawn group for aggro. In some dungeons, you are forced to clear packs in iterative order or boss pull triggers aggro on several other groups. When Spawn Group with Id aggroes, LinkedId Spawn Group also aggroes.