mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-28 21:02:14 +01:00
merge
--HG-- branch : trunk
This commit is contained in:
@@ -20,7 +20,6 @@ SDName: Boss_Onyxia
|
||||
SD%Complete: 95
|
||||
SDComment: <Known bugs>
|
||||
Ground visual for Deep Breath effect;
|
||||
Wing Buffet not ignoring armor;
|
||||
Not summoning whelps on phase 3 (lacks info)
|
||||
</Known bugs>
|
||||
SDCategory: Onyxia's Lair
|
||||
@@ -90,6 +89,8 @@ static sOnyxMove aMoveData[]=
|
||||
|
||||
const Position MiddleRoomLocation = {-23.6155, -215.357, -55.7344};
|
||||
|
||||
const Position Phase2Location = {-80.924, -214.299, -82.942};
|
||||
|
||||
static Position aSpawnLocations[3]=
|
||||
{
|
||||
//Whelps
|
||||
@@ -139,7 +140,6 @@ public:
|
||||
uint32 m_uiBellowingRoarTimer;
|
||||
|
||||
uint8 m_uiSummonWhelpCount;
|
||||
uint8 m_uiSummonLairGuardCount;
|
||||
bool m_bIsMoving;
|
||||
|
||||
void Reset()
|
||||
@@ -155,19 +155,18 @@ public:
|
||||
m_uiWingBuffetTimer = urand(10000, 20000);
|
||||
|
||||
m_uiMovePoint = urand(0, 5);
|
||||
m_uiMovementTimer = 20000;
|
||||
m_uiMovementTimer = 14000;
|
||||
m_pPointData = GetMoveData();
|
||||
|
||||
m_uiFireballTimer = 15000;
|
||||
m_uiWhelpTimer = 1000;
|
||||
m_uiLairGuardTimer = 15000;
|
||||
m_uiWhelpTimer = 60000;
|
||||
m_uiLairGuardTimer = 60000;
|
||||
m_uiDeepBreathTimer = 85000;
|
||||
|
||||
m_uiBellowingRoarTimer = 30000;
|
||||
|
||||
Summons.DespawnAll();
|
||||
m_uiSummonWhelpCount = 0;
|
||||
m_uiSummonLairGuardCount = 0;
|
||||
m_bIsMoving = false;
|
||||
|
||||
if (m_pInstance)
|
||||
@@ -187,7 +186,6 @@ public:
|
||||
{
|
||||
m_pInstance->SetData(DATA_ONYXIA, IN_PROGRESS);
|
||||
m_pInstance->DoStartTimedAchievement(ACHIEVEMENT_TIMED_TYPE_EVENT, ACHIEV_TIMED_START_EVENT);
|
||||
sLog.outBasic("[Onyxia] DoStartTimedAchievement(%u,%u)",ACHIEVEMENT_TIMED_TYPE_EVENT, ACHIEV_TIMED_START_EVENT);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -212,7 +210,6 @@ public:
|
||||
break;
|
||||
case NPC_LAIRGUARD:
|
||||
pSummoned->setActive(true);
|
||||
++m_uiSummonLairGuardCount;
|
||||
break;
|
||||
}
|
||||
Summons.Summon(pSummoned);
|
||||
@@ -263,6 +260,24 @@ public:
|
||||
me->GetMotionMaster()->MoveChase(me->getVictim());
|
||||
m_uiBellowingRoarTimer = 1000;
|
||||
break;
|
||||
case 10:
|
||||
me->SetFlying(true);
|
||||
me->GetMotionMaster()->MovePoint(11, Phase2Location.GetPositionX(),Phase2Location.GetPositionY(),Phase2Location.GetPositionZ()+25);
|
||||
me->SetSpeed(MOVE_FLIGHT, 1.0f);
|
||||
DoScriptText(SAY_PHASE_2_TRANS, me);
|
||||
if (m_pInstance)
|
||||
m_pInstance->SetData(DATA_ONYXIA_PHASE, m_uiPhase);
|
||||
m_uiWhelpTimer = 5000;
|
||||
m_uiLairGuardTimer = 15000;
|
||||
break;
|
||||
case 11:
|
||||
if (m_pPointData)
|
||||
me->GetMotionMaster()->MovePoint(m_pPointData->uiLocId, m_pPointData->fX, m_pPointData->fY, m_pPointData->fZ);
|
||||
me->GetMotionMaster()->Clear(false);
|
||||
me->GetMotionMaster()->MoveIdle();
|
||||
|
||||
break;
|
||||
|
||||
default:
|
||||
m_bIsMoving = false;
|
||||
break;
|
||||
@@ -331,22 +346,9 @@ public:
|
||||
{
|
||||
if (me->GetHealth()*100 / me->GetMaxHealth() < 60)
|
||||
{
|
||||
m_uiPhase = PHASE_BREATH;
|
||||
|
||||
if (m_pInstance)
|
||||
m_pInstance->SetData(DATA_ONYXIA_PHASE, m_uiPhase);
|
||||
|
||||
SetCombatMovement(false);
|
||||
me->GetMotionMaster()->Clear(false);
|
||||
me->GetMotionMaster()->MoveIdle();
|
||||
me->SetFlying(true);
|
||||
|
||||
DoScriptText(SAY_PHASE_2_TRANS, me);
|
||||
|
||||
if (m_pPointData)
|
||||
me->GetMotionMaster()->MovePoint(m_pPointData->uiLocId, m_pPointData->fX, m_pPointData->fY, m_pPointData->fZ);
|
||||
|
||||
m_uiWhelpTimer = 1000;
|
||||
m_uiPhase = PHASE_BREATH;
|
||||
me->GetMotionMaster()->MovePoint(10, Phase2Location);
|
||||
return;
|
||||
}
|
||||
}
|
||||
@@ -467,13 +469,7 @@ public:
|
||||
if (m_uiLairGuardTimer <= uiDiff)
|
||||
{
|
||||
me->SummonCreature(NPC_LAIRGUARD, aSpawnLocations[2].GetPositionX(), aSpawnLocations[2].GetPositionY(), aSpawnLocations[2].GetPositionZ(), 0.0f, TEMPSUMMON_CORPSE_DESPAWN);
|
||||
if (m_uiSummonLairGuardCount >= RAID_MODE(1,2))
|
||||
{
|
||||
m_uiSummonLairGuardCount = 0;
|
||||
m_uiLairGuardTimer = 30000;
|
||||
}
|
||||
else
|
||||
m_uiLairGuardTimer = 2000;
|
||||
m_uiLairGuardTimer = 30000;
|
||||
}
|
||||
else
|
||||
m_uiLairGuardTimer -= uiDiff;
|
||||
|
||||
Reference in New Issue
Block a user