Sartharion Boundary (#1967)
* Sartharion Boundary * Engage with players
This commit is contained in:
parent
ce3d3b42d4
commit
4a483aa3fd
1 changed files with 21 additions and 0 deletions
|
|
@ -146,6 +146,8 @@ enum Events
|
|||
EVENT_SARTHARION_CALL_TENEBRON = 30,
|
||||
EVENT_SARTHARION_CALL_SHADRON = 31,
|
||||
EVENT_SARTHARION_CALL_VESPERON = 32,
|
||||
|
||||
EVENT_SARTHARION_BOUNDARY = 33
|
||||
};
|
||||
|
||||
const Position portalPos[4] =
|
||||
|
|
@ -353,6 +355,7 @@ public:
|
|||
events.ScheduleEvent(EVENT_SARTHARION_LAVA_STRIKE, 5000);
|
||||
events.ScheduleEvent(EVENT_SARTHARION_HEALTH_CHECK, 10000);
|
||||
events.ScheduleEvent(EVENT_SARTHARION_BERSERK, 900000);
|
||||
events.ScheduleEvent(EVENT_SARTHARION_BOUNDARY, 1000);
|
||||
|
||||
StoreDragons();
|
||||
me->CallForHelp(500.0f);
|
||||
|
|
@ -422,6 +425,12 @@ public:
|
|||
// Special events which needs to be fired immidiately
|
||||
switch(events.GetEvent())
|
||||
{
|
||||
case EVENT_SARTHARION_BOUNDARY:
|
||||
if (me->GetPositionX() < 3218.86f || me->GetPositionX() > 3275.69f || me->GetPositionY() < 484.68f || me->GetPositionY() > 572.4f) // https://github.com/TrinityCore/TrinityCore/blob/3.3.5/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/instance_obsidian_sanctum.cpp#L31
|
||||
EnterEvadeMode();
|
||||
|
||||
events.RepeatEvent(1000);
|
||||
break;
|
||||
case EVENT_SARTHARION_SUMMON_LAVA:
|
||||
if (!urand(0,3))
|
||||
Talk(SAY_SARTHARION_SPECIAL);
|
||||
|
|
@ -659,6 +668,10 @@ public:
|
|||
|
||||
if (isSartharion || (pInstance && pInstance->GetData(BOSS_SARTHARION_EVENT) == DONE))
|
||||
me->SetLootMode(0);
|
||||
|
||||
if (isSartharion)
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_TOPAGGRO, 1, 500, true))
|
||||
me->AI()->AttackStart(target);
|
||||
}
|
||||
|
||||
void JustDied(Unit* )
|
||||
|
|
@ -910,6 +923,10 @@ public:
|
|||
|
||||
if (isSartharion || (pInstance && pInstance->GetData(BOSS_SARTHARION_EVENT) == DONE))
|
||||
me->SetLootMode(0);
|
||||
|
||||
if (isSartharion)
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_TOPAGGRO, 1, 500, true))
|
||||
me->AI()->AttackStart(target);
|
||||
}
|
||||
|
||||
void JustDied(Unit* )
|
||||
|
|
@ -1140,6 +1157,10 @@ public:
|
|||
|
||||
if (isSartharion || (pInstance && pInstance->GetData(BOSS_SARTHARION_EVENT) == DONE))
|
||||
me->SetLootMode(0);
|
||||
|
||||
if (isSartharion)
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_TOPAGGRO, 1, 500, true))
|
||||
me->AI()->AttackStart(target);
|
||||
}
|
||||
|
||||
void JustDied(Unit* )
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue