mirror of
https://github.com/mod-playerbots/azerothcore-wotlk.git
synced 2026-01-17 19:05:42 +00:00
fix(Scripts/UtgardePinnacle): Fix Skadi start and reset checks (#23034)
This commit is contained in:
@@ -143,10 +143,7 @@ public:
|
||||
SecondPhase = false;
|
||||
EventStarted = false;
|
||||
|
||||
me->RemoveAllAuras();
|
||||
me->SetControlled(false, UNIT_STATE_ROOT);
|
||||
me->UpdatePosition(343.02f, -507.325f, 104.567f, M_PI, true);
|
||||
me->StopMovingOnCurrentPos();
|
||||
me->RemoveUnitFlag(UNIT_FLAG_NOT_SELECTABLE);
|
||||
|
||||
if (m_pInstance)
|
||||
{
|
||||
@@ -160,29 +157,28 @@ public:
|
||||
|
||||
Creature* GetGrauf() { return ObjectAccessor::GetCreature(*me, GraufGUID); }
|
||||
|
||||
void JustEngagedWith(Unit* /*pWho*/) override
|
||||
{
|
||||
if (!EventStarted)
|
||||
{
|
||||
EventStarted = true;
|
||||
Talk(SAY_AGGRO);
|
||||
if (m_pInstance)
|
||||
{
|
||||
if (IsHeroic())
|
||||
m_pInstance->DoStartTimedAchievement(ACHIEVEMENT_TIMED_TYPE_EVENT, ACHIEV_TIMED_LODI_DODI);
|
||||
|
||||
m_pInstance->SetData(DATA_SKADI_THE_RUTHLESS, IN_PROGRESS);
|
||||
}
|
||||
|
||||
me->SetControlled(true, UNIT_STATE_ROOT);
|
||||
me->SetInCombatWithZone();
|
||||
events.RescheduleEvent(EVENT_SKADI_START, 2s);
|
||||
}
|
||||
}
|
||||
|
||||
void DoAction(int32 param) override
|
||||
{
|
||||
if (param == ACTION_PHASE2)
|
||||
if (param == ACTION_START_EVENT)
|
||||
{
|
||||
if (!EventStarted)
|
||||
{
|
||||
EventStarted = true;
|
||||
Talk(SAY_AGGRO);
|
||||
if (m_pInstance)
|
||||
{
|
||||
if (IsHeroic())
|
||||
m_pInstance->DoStartTimedAchievement(ACHIEVEMENT_TIMED_TYPE_EVENT, ACHIEV_TIMED_LODI_DODI);
|
||||
|
||||
m_pInstance->SetData(DATA_SKADI_THE_RUTHLESS, IN_PROGRESS);
|
||||
}
|
||||
|
||||
me->SetControlled(true, UNIT_STATE_ROOT);
|
||||
me->SetUnitFlag(UNIT_FLAG_NOT_SELECTABLE);
|
||||
events.RescheduleEvent(EVENT_SKADI_START, 2s);
|
||||
}
|
||||
}
|
||||
else if (param == ACTION_PHASE2)
|
||||
{
|
||||
SecondPhase = true;
|
||||
events.ScheduleEvent(EVENT_SKADI_CRUSH, 8s);
|
||||
@@ -190,7 +186,7 @@ public:
|
||||
events.ScheduleEvent(EVENT_SKADI_WHIRLWIND, 15s);
|
||||
|
||||
if (me->GetVictim())
|
||||
me->GetMotionMaster()->MoveChase(me->GetVictim());
|
||||
me->ResumeChasingVictim();
|
||||
else
|
||||
me->SetInCombatWithZone();
|
||||
}
|
||||
@@ -415,7 +411,7 @@ public:
|
||||
Map::PlayerList const& pList = me->GetMap()->GetPlayers();
|
||||
for(Map::PlayerList::const_iterator itr = pList.begin(); itr != pList.end(); ++itr)
|
||||
{
|
||||
if (itr->GetSource()->GetPositionX() < 320.0f || itr->GetSource()->IsGameMaster() || !itr->GetSource()->IsAlive())
|
||||
if (itr->GetSource()->GetPositionY() > -490.0f || itr->GetSource()->IsGameMaster() || !itr->GetSource()->IsAlive())
|
||||
continue;
|
||||
|
||||
return;
|
||||
@@ -456,7 +452,7 @@ public:
|
||||
|
||||
SpawnHelpers(0);
|
||||
SpawnHelpers(0);
|
||||
events.ScheduleEvent(EVENT_GRAUF_MOVE, 15s);
|
||||
events.ScheduleEvent(EVENT_GRAUF_MOVE, 5s);
|
||||
events.ScheduleEvent(EVENT_GRAUF_SUMMON_HELPERS, 20s);
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -20,6 +20,12 @@
|
||||
#include "ScriptedCreature.h"
|
||||
#include "utgarde_pinnacle.h"
|
||||
|
||||
ObjectData const creatureData[] =
|
||||
{
|
||||
{ NPC_SKADI_THE_RUTHLESS, DATA_SKADI_THE_RUTHLESS },
|
||||
{ 0, 0 }
|
||||
};
|
||||
|
||||
class instance_utgarde_pinnacle : public InstanceMapScript
|
||||
{
|
||||
public:
|
||||
@@ -36,7 +42,6 @@ public:
|
||||
|
||||
ObjectGuid SvalaSorrowgrave;
|
||||
ObjectGuid GortokPalehoof;
|
||||
ObjectGuid SkadiRuthless;
|
||||
ObjectGuid KingYmiron;
|
||||
ObjectGuid FrenziedWorgen;
|
||||
ObjectGuid RavenousFurbolg;
|
||||
@@ -59,6 +64,7 @@ public:
|
||||
void Initialize() override
|
||||
{
|
||||
SetHeaders(DataHeader);
|
||||
LoadObjectData(creatureData, nullptr);
|
||||
SkadiHits = 0;
|
||||
SkadiInRange = 0;
|
||||
|
||||
@@ -88,9 +94,6 @@ public:
|
||||
case NPC_GORTOK_PALEHOOF:
|
||||
GortokPalehoof = pCreature->GetGUID();
|
||||
break;
|
||||
case NPC_SKADI_THE_RUTHLESS:
|
||||
SkadiRuthless = pCreature->GetGUID();
|
||||
break;
|
||||
case NPC_KING_YMIRON:
|
||||
KingYmiron = pCreature->GetGUID();
|
||||
break;
|
||||
@@ -110,6 +113,8 @@ public:
|
||||
Grauf = pCreature->GetGUID();
|
||||
break;
|
||||
}
|
||||
|
||||
InstanceScript::OnCreatureCreate(pCreature);
|
||||
}
|
||||
|
||||
void OnGameObjectCreate(GameObject* pGo) override
|
||||
@@ -238,8 +243,6 @@ public:
|
||||
return SvalaSorrowgrave;
|
||||
case DATA_GORTOK_PALEHOOF:
|
||||
return GortokPalehoof;
|
||||
case DATA_SKADI_THE_RUTHLESS:
|
||||
return SkadiRuthless;
|
||||
case DATA_KING_YMIRON:
|
||||
return KingYmiron;
|
||||
case DATA_NPC_FRENZIED_WORGEN:
|
||||
|
||||
Reference in New Issue
Block a user