Skip to content

Incompatibility with mod-invidividual-progression and the Fix #12

Description

@Jellypowered

For anyone using this mod with individual progression, and you can't see your dungeon master, this is the fix.

Bug: Dungeon Master NPC invisible due to phase mask conflict with mod-individual-progression

Symptoms

The Dungeon Master NPC (entry 500000) spawns in all major cities but is invisible to players running mod-individual-progression. The creature row exists in the creature table (11 spawns) but cannot be seen or interacted with.

Root cause

Phase mask mismatch between the NPC spawn and the player's active phase.

  • The NPC spawns with phaseMask = 1 in data/sql/db-world/base/dm_setup.sql.
  • mod-individual-progression casts phase aura spells on the player (spell IDs 89509, 89511, 89513, etc.) which set the player's phase mask to values like 65536, 131072, 262144, 524288, 1048576, or 2097152 via SPELL_EFFECT_SET_PHASE_SHIFT.
  • The client only renders objects whose phaseMask matches the player's current phase. Since 1 does not overlap with any IPP phase value, the NPC is invisible.

Fix

In data/sql/db-world/base/dm_setup.sql, change phaseMask from 1 to 0 on all 11 creature INSERT rows. A phaseMask of 0 means the creature is visible across all phases.

-- Before (current):
INSERT INTO `creature` (
    `guid`, `id1`, `map`, `spawnMask`, `phaseMask`,
    `position_x`, `position_y`, `position_z`, `orientation`,
    `spawntimesecs`
) VALUES
(8000001, 500000, 0, 1, 1,  -8842.0, 626.0, 94.30, 0.44,  180),
-- ... (all 11 rows have phaseMask = 1)

-- After (fixed):
INSERT INTO `creature` (
    `guid`, `id1`, `map`, `spawnMask`, `phaseMask`,
    `position_x`, `position_y`, `position_z`, `orientation`,
    `spawntimesecs`
) VALUES
(8000001, 500000, 0, 1, 0,  -8842.0, 626.0, 94.30, 0.44,  180),
-- ... (all 11 rows changed to phaseMask = 0)

Alternatively, for a targeted SQL-only fix that does not require changing the module:

UPDATE `creature` SET `phaseMask` = 0 WHERE `id1` = 500000;

Verification steps
Apply the fix (either the SQL update or modifying dm_setup.sql).
Log in as a player who has progressed through the IPP system (has a phase aura active).
The NPC should now be visible in all 11 cities.
Confirm gossip interaction still works normally.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions