void SpawnDwarf(uint32 uEntry)
    {
        if (!m_pInstance)
            return;

        // each case has an individual spawn stalker
        switch (uEntry)
        {
            case NPC_DARK_RUNE_PROTECTOR:
            {
                Creature* pStalker = m_creature->GetMap()->GetCreature(m_pInstance->GetProtectorStalkerGuid());
                if (!pStalker)
                    return;

                uint32 uiSpawnNumber = (m_bIsRegularMode ? 2 : 3);
                for (uint8 i = 0; i < uiSpawnNumber; ++i)
                    pStalker->CastSpell(pStalker, SPELL_SUMMON_PROTECTOR, true, NULL, NULL, m_creature->GetObjectGuid());
                pStalker->CastSpell(pStalker, SPELL_SUMMON_STORMCALLER, true, NULL, NULL, m_creature->GetObjectGuid());
                break;
            }
            case NPC_DARK_RUNE_STORMCALLER:
            {
                Creature* pStalker = m_creature->GetMap()->GetCreature(m_pInstance->GeStormcallerStalkerGuid());
                if (!pStalker)
                    return;

                for (uint8 i = 0; i < 2; ++i)
                    pStalker->CastSpell(pStalker, SPELL_SUMMON_STORMCALLER, true, NULL, NULL, m_creature->GetObjectGuid());
                break;
            }
            case NPC_IRON_GOLEM_CUSTODIAN:
            {
                Creature* pStalker = m_creature->GetMap()->GetCreature(m_pInstance->GetCustodianStalkerGuid());
                if (!pStalker)
                    return;

                pStalker->CastSpell(pStalker, SPELL_SUMMON_CUSTODIAN, true, NULL, NULL, m_creature->GetObjectGuid());
                break;
            }
        }
    }