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
@@ -0,0 +1,3 @@
|
|||||||
|
INSERT INTO `version_db_world` (`sql_rev`) VALUES ('1547686034421572510');
|
||||||
|
|
||||||
|
UPDATE `gameobject` SET `state` = 1 WHERE `id` = 181228 AND `guid`=150159;
|
||||||
@@ -120,11 +120,13 @@ public:
|
|||||||
boss_kelthuzadAI(Creature* c) : BossAI(c, BOSS_KELTHUZAD), summons(me)
|
boss_kelthuzadAI(Creature* c) : BossAI(c, BOSS_KELTHUZAD), summons(me)
|
||||||
{
|
{
|
||||||
pInstance = me->GetInstanceScript();
|
pInstance = me->GetInstanceScript();
|
||||||
|
_justSpawned=true;
|
||||||
}
|
}
|
||||||
|
|
||||||
EventMap events;
|
EventMap events;
|
||||||
SummonList summons;
|
SummonList summons;
|
||||||
InstanceScript* pInstance;
|
InstanceScript* pInstance;
|
||||||
|
bool _justSpawned;
|
||||||
|
|
||||||
float NormalizeOrientation(float o)
|
float NormalizeOrientation(float o)
|
||||||
{
|
{
|
||||||
@@ -175,7 +177,11 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (GameObject* go = me->GetMap()->GetGameObject(pInstance->GetData64(DATA_KELTHUZAD_GATE)))
|
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;
|
break;
|
||||||
case GO_KELTHUZAD_GATE:
|
case GO_KELTHUZAD_GATE:
|
||||||
_kelthuzadgateGUID = pGo->GetGUID();
|
_kelthuzadgateGUID = pGo->GetGUID();
|
||||||
break;
|
if (GetBossState(BOSS_SAPPHIRON) == DONE && _speakTimer==0)
|
||||||
|
pGo->SetGoState(GO_STATE_ACTIVE);
|
||||||
|
break;
|
||||||
case GO_SAPPHIRON_GATE:
|
case GO_SAPPHIRON_GATE:
|
||||||
_sapphironGateGUID = pGo->GetGUID();
|
_sapphironGateGUID = pGo->GetGUID();
|
||||||
if (GetBossState(BOSS_SAPPHIRON) == DONE)
|
if (GetBossState(BOSS_SAPPHIRON) == DONE)
|
||||||
@@ -523,7 +525,11 @@ public:
|
|||||||
break;
|
break;
|
||||||
case BOSS_SAPPHIRON:
|
case BOSS_SAPPHIRON:
|
||||||
if (state == DONE)
|
if (state == DONE)
|
||||||
|
{
|
||||||
_speakTimer = 1;
|
_speakTimer = 1;
|
||||||
|
// Load KT's grid so he can talk
|
||||||
|
instance->LoadGrid(3763.43f, -5115.87f);
|
||||||
|
}
|
||||||
else if (state == NOT_STARTED)
|
else if (state == NOT_STARTED)
|
||||||
sapphironAchievement = true;
|
sapphironAchievement = true;
|
||||||
break;
|
break;
|
||||||
@@ -618,30 +624,37 @@ public:
|
|||||||
_speakTimer += diff;
|
_speakTimer += diff;
|
||||||
else
|
else
|
||||||
return;
|
return;
|
||||||
if (_speakTimer > 20000 && _speakTimer < 30000)
|
if (_speakTimer > 10000 && _speakTimer < 20000)
|
||||||
{
|
{
|
||||||
kel->AI()->Talk(SAY_SAPP_DIALOG1);
|
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);
|
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);
|
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);
|
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);
|
kel->AI()->Talk(SAY_SAPP_DIALOG5);
|
||||||
|
_speakTimer = 100000;
|
||||||
|
}
|
||||||
|
else if (_speakTimer > 105000)
|
||||||
|
{
|
||||||
|
kel->AI()->Talk(SAY_SAPP_DIALOG6);
|
||||||
_speakTimer = 0;
|
_speakTimer = 0;
|
||||||
|
if (GameObject* go = instance->GetGameObject(_kelthuzadgateGUID))
|
||||||
|
go->SetGoState(GO_STATE_ACTIVE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -123,10 +123,11 @@ enum NXMisc
|
|||||||
enum NXSays
|
enum NXSays
|
||||||
{
|
{
|
||||||
SAY_SAPP_DIALOG1 = 0,
|
SAY_SAPP_DIALOG1 = 0,
|
||||||
SAY_SAPP_DIALOG2_LICH = 0,
|
SAY_SAPP_DIALOG2_LICH = 1,
|
||||||
SAY_SAPP_DIALOG3 = 2,
|
SAY_SAPP_DIALOG3 = 2,
|
||||||
SAY_SAPP_DIALOG4_LICH = 1,
|
SAY_SAPP_DIALOG4_LICH = 2,
|
||||||
SAY_SAPP_DIALOG5 = 4,
|
SAY_SAPP_DIALOG5 = 4,
|
||||||
|
SAY_SAPP_DIALOG6 = 20,
|
||||||
SAY_CAT_DIED = 0
|
SAY_CAT_DIED = 0
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user