mirror of
https://github.com/mod-playerbots/azerothcore-wotlk.git
synced 2026-01-17 02:50:29 +00:00
Sartharion Boundary (#1967)
* Sartharion Boundary * Engage with players
This commit is contained in:
@@ -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* )
|
||||
|
||||
Reference in New Issue
Block a user