Ulduar
19.02.2015, 00:09
http://ru.wowhead.com/npc=20857
http://ru.wowhead.com/npc=20859
Завязаны на стартовом эвенте.
// intro event related
NPC_PROTEAN_NIGHTMARE = 20864,
NPC_PROTEAN_HORROR = 20865,
NPC_ARCATRAZ_WARDEN = 20859,
NPC_ARCATRAZ_DEFENDER = 20857,
Воюют с ночным кошмаром и ужасом.
MAX_WARDENS = 7,
void instance_arcatraz::OnCreatureDeath(Creature* pCreature)
{
if (pCreature->GetEntry() == NPC_ARCATRAZ_WARDEN || pCreature->GetEntry() == NPC_ARCATRAZ_DEFENDER)
{
++m_uiKilledWardens;
// Stop the intro spawns when the wardens are killed
if (m_uiKilledWardens == MAX_WARDENS)
{
SetData(TYPE_ENTRANCE, DONE);
m_uiEntranceEventTimer = 0;
}
}
}
Пока не убьёшь 7 тюремщиков (Почему скриптовики выставили 7 я не знаю)
Нужно добавлять или скриптовикам объяснять, иначе будет бесконечный спавн:
NPC_PROTEAN_NIGHTMARE = 20864,
NPC_PROTEAN_HORROR = 20865,
void instance_arcatraz::Update(uint32 uiDiff)
if (m_uiEntranceEventTimer)
{
if (m_uiEntranceEventTimer <= uiDiff)
{
Player* pPlayer = GetPlayerInMap();
if (!pPlayer)
return;
uint32 uiEntry = urand(0, 10) ? NPC_PROTEAN_HORROR : NPC_PROTEAN_NIGHTMARE;
// Summon and move the intro creatures into combat positions
if (Creature* pTemp = pPlayer->SummonCreature(uiEntry, aEntranceSpawnLoc[0], aEntranceSpawnLoc[1], aEntranceSpawnLoc[2], aEntranceSpawnLoc[3], TEMPSUMMON_TIMED_OOC_OR_DEAD_DESPAWN, 30000))
{
pTemp->SetWalk(false);
pTemp->GetMotionMaster()->MovePoint(0, aEntranceMoveLoc[0], aEntranceMoveLoc[1], aEntranceMoveLoc[2]);
}
m_uiEntranceEventTimer = urand(0, 10) ? urand(2000, 3500) : urand(5000, 7000);
}
else
m_uiEntranceEventTimer -= uiDiff;
}
}
http://ru.wowhead.com/npc=20859
Завязаны на стартовом эвенте.
// intro event related
NPC_PROTEAN_NIGHTMARE = 20864,
NPC_PROTEAN_HORROR = 20865,
NPC_ARCATRAZ_WARDEN = 20859,
NPC_ARCATRAZ_DEFENDER = 20857,
Воюют с ночным кошмаром и ужасом.
MAX_WARDENS = 7,
void instance_arcatraz::OnCreatureDeath(Creature* pCreature)
{
if (pCreature->GetEntry() == NPC_ARCATRAZ_WARDEN || pCreature->GetEntry() == NPC_ARCATRAZ_DEFENDER)
{
++m_uiKilledWardens;
// Stop the intro spawns when the wardens are killed
if (m_uiKilledWardens == MAX_WARDENS)
{
SetData(TYPE_ENTRANCE, DONE);
m_uiEntranceEventTimer = 0;
}
}
}
Пока не убьёшь 7 тюремщиков (Почему скриптовики выставили 7 я не знаю)
Нужно добавлять или скриптовикам объяснять, иначе будет бесконечный спавн:
NPC_PROTEAN_NIGHTMARE = 20864,
NPC_PROTEAN_HORROR = 20865,
void instance_arcatraz::Update(uint32 uiDiff)
if (m_uiEntranceEventTimer)
{
if (m_uiEntranceEventTimer <= uiDiff)
{
Player* pPlayer = GetPlayerInMap();
if (!pPlayer)
return;
uint32 uiEntry = urand(0, 10) ? NPC_PROTEAN_HORROR : NPC_PROTEAN_NIGHTMARE;
// Summon and move the intro creatures into combat positions
if (Creature* pTemp = pPlayer->SummonCreature(uiEntry, aEntranceSpawnLoc[0], aEntranceSpawnLoc[1], aEntranceSpawnLoc[2], aEntranceSpawnLoc[3], TEMPSUMMON_TIMED_OOC_OR_DEAD_DESPAWN, 30000))
{
pTemp->SetWalk(false);
pTemp->GetMotionMaster()->MovePoint(0, aEntranceMoveLoc[0], aEntranceMoveLoc[1], aEntranceMoveLoc[2]);
}
m_uiEntranceEventTimer = urand(0, 10) ? urand(2000, 3500) : urand(5000, 7000);
}
else
m_uiEntranceEventTimer -= uiDiff;
}
}