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