mirror of
https://github.com/mod-playerbots/azerothcore-wotlk.git
synced 2026-01-16 10:30:27 +00:00
Core/Instance: Naxxramas conversation fix (#1304)
* Resolve Issue 1138 * Move sql update to a single line Co-Authored-By: ColdIronWow <46758545+ColdIronWow@users.noreply.github.com>
This commit is contained in:
committed by
Viste(Кирилл)
parent
0e495e9698
commit
7bf1167b53
@@ -120,11 +120,13 @@ public:
|
||||
boss_kelthuzadAI(Creature* c) : BossAI(c, BOSS_KELTHUZAD), summons(me)
|
||||
{
|
||||
pInstance = me->GetInstanceScript();
|
||||
_justSpawned=true;
|
||||
}
|
||||
|
||||
EventMap events;
|
||||
SummonList summons;
|
||||
InstanceScript* pInstance;
|
||||
bool _justSpawned;
|
||||
|
||||
float NormalizeOrientation(float o)
|
||||
{
|
||||
@@ -175,7 +177,11 @@ public:
|
||||
}
|
||||
|
||||
if (GameObject* go = me->GetMap()->GetGameObject(pInstance->GetData64(DATA_KELTHUZAD_GATE)))
|
||||
go->SetGoState(GO_STATE_ACTIVE);
|
||||
{
|
||||
if(!_justSpawned) /* Don't open the door if we just spawned and are still doing the RP */
|
||||
go->SetGoState(GO_STATE_ACTIVE);
|
||||
}
|
||||
_justSpawned=false;
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -301,7 +301,9 @@ public:
|
||||
break;
|
||||
case GO_KELTHUZAD_GATE:
|
||||
_kelthuzadgateGUID = pGo->GetGUID();
|
||||
break;
|
||||
if (GetBossState(BOSS_SAPPHIRON) == DONE && _speakTimer==0)
|
||||
pGo->SetGoState(GO_STATE_ACTIVE);
|
||||
break;
|
||||
case GO_SAPPHIRON_GATE:
|
||||
_sapphironGateGUID = pGo->GetGUID();
|
||||
if (GetBossState(BOSS_SAPPHIRON) == DONE)
|
||||
@@ -523,7 +525,11 @@ public:
|
||||
break;
|
||||
case BOSS_SAPPHIRON:
|
||||
if (state == DONE)
|
||||
{
|
||||
_speakTimer = 1;
|
||||
// Load KT's grid so he can talk
|
||||
instance->LoadGrid(3763.43f, -5115.87f);
|
||||
}
|
||||
else if (state == NOT_STARTED)
|
||||
sapphironAchievement = true;
|
||||
break;
|
||||
@@ -618,30 +624,37 @@ public:
|
||||
_speakTimer += diff;
|
||||
else
|
||||
return;
|
||||
if (_speakTimer > 20000 && _speakTimer < 30000)
|
||||
if (_speakTimer > 10000 && _speakTimer < 20000)
|
||||
{
|
||||
kel->AI()->Talk(SAY_SAPP_DIALOG1);
|
||||
_speakTimer = 30000;
|
||||
_speakTimer = 20000;
|
||||
}
|
||||
else if (_speakTimer > 45000 && _speakTimer < 50000)
|
||||
else if (_speakTimer > 30000 && _speakTimer < 40000)
|
||||
{
|
||||
lich->AI()->Talk(SAY_SAPP_DIALOG2_LICH);
|
||||
_speakTimer = 50000;
|
||||
_speakTimer = 40000;
|
||||
}
|
||||
else if (_speakTimer > 58000 && _speakTimer < 70000)
|
||||
else if (_speakTimer > 54000 && _speakTimer < 60000)
|
||||
{
|
||||
kel->AI()->Talk(SAY_SAPP_DIALOG3);
|
||||
_speakTimer = 70000;
|
||||
_speakTimer = 60000;
|
||||
}
|
||||
else if (_speakTimer > 78000 && _speakTimer < 90000)
|
||||
else if (_speakTimer > 70000 && _speakTimer < 80000)
|
||||
{
|
||||
lich->AI()->Talk(SAY_SAPP_DIALOG4_LICH);
|
||||
_speakTimer = 90000;
|
||||
_speakTimer = 80000;
|
||||
}
|
||||
else if (_speakTimer > 98000)
|
||||
else if (_speakTimer > 92000 && _speakTimer < 100000)
|
||||
{
|
||||
kel->AI()->Talk(SAY_SAPP_DIALOG5);
|
||||
_speakTimer = 100000;
|
||||
}
|
||||
else if (_speakTimer > 105000)
|
||||
{
|
||||
kel->AI()->Talk(SAY_SAPP_DIALOG6);
|
||||
_speakTimer = 0;
|
||||
if (GameObject* go = instance->GetGameObject(_kelthuzadgateGUID))
|
||||
go->SetGoState(GO_STATE_ACTIVE);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -123,10 +123,11 @@ enum NXMisc
|
||||
enum NXSays
|
||||
{
|
||||
SAY_SAPP_DIALOG1 = 0,
|
||||
SAY_SAPP_DIALOG2_LICH = 0,
|
||||
SAY_SAPP_DIALOG2_LICH = 1,
|
||||
SAY_SAPP_DIALOG3 = 2,
|
||||
SAY_SAPP_DIALOG4_LICH = 1,
|
||||
SAY_SAPP_DIALOG4_LICH = 2,
|
||||
SAY_SAPP_DIALOG5 = 4,
|
||||
SAY_SAPP_DIALOG6 = 20,
|
||||
SAY_CAT_DIED = 0
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user