fix(Scripts/TheEye): boss boundaries and Kael door (#18517)
This commit is contained in:
@@ -227,11 +227,6 @@ struct boss_high_astromancer_solarian : public BossAI
|
|||||||
summon->SetInCombatWithZone();
|
summon->SetInCombatWithZone();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bool CheckEvadeIfOutOfCombatArea() const override
|
|
||||||
{
|
|
||||||
return me->GetDistance2d(432.59f, -371.93f) > 105.0f;
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
class spell_astromancer_wrath_of_the_astromancer : public AuraScript
|
class spell_astromancer_wrath_of_the_astromancer : public AuraScript
|
||||||
|
|||||||
@@ -1014,7 +1014,7 @@ struct npc_thaladred : public ScriptedAI
|
|||||||
scheduler.CancelAll();
|
scheduler.CancelAll();
|
||||||
me->SetReactState(REACT_PASSIVE);
|
me->SetReactState(REACT_PASSIVE);
|
||||||
_hasDied = false;
|
_hasDied = false;
|
||||||
me->SetWalk(true);
|
me->SetWalk(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
void JustEngagedWith(Unit* /*who*/) override
|
void JustEngagedWith(Unit* /*who*/) override
|
||||||
@@ -1023,6 +1023,7 @@ struct npc_thaladred : public ScriptedAI
|
|||||||
{
|
{
|
||||||
Talk(SAY_THALADRED_AGGRO);
|
Talk(SAY_THALADRED_AGGRO);
|
||||||
}
|
}
|
||||||
|
me->SetWalk(true);
|
||||||
ScheduleTimedEvent(100ms, [&]
|
ScheduleTimedEvent(100ms, [&]
|
||||||
{
|
{
|
||||||
DoResetThreatList();
|
DoResetThreatList();
|
||||||
@@ -1046,7 +1047,7 @@ struct npc_thaladred : public ScriptedAI
|
|||||||
{
|
{
|
||||||
if (victim->IsNonMeleeSpellCast(false, false, true))
|
if (victim->IsNonMeleeSpellCast(false, false, true))
|
||||||
{
|
{
|
||||||
DoCastVictim(SPELL_SILENCE);
|
DoCastSelf(SPELL_SILENCE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}, 3600ms, 15200ms);
|
}, 3600ms, 15200ms);
|
||||||
|
|||||||
@@ -107,11 +107,6 @@ struct boss_void_reaver : public BossAI
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
bool CheckEvadeIfOutOfCombatArea() const override
|
|
||||||
{
|
|
||||||
return me->GetDistance2d(432.59f, 371.93f) > 105.0f;
|
|
||||||
}
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
bool _recentlySpoken;
|
bool _recentlySpoken;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -33,7 +33,21 @@ ObjectData const creatureData[] =
|
|||||||
|
|
||||||
ObjectData const gameObjectData[] =
|
ObjectData const gameObjectData[] =
|
||||||
{
|
{
|
||||||
{ 0, 0 }
|
{ 0, 0, }
|
||||||
|
};
|
||||||
|
|
||||||
|
DoorData const doorData[] =
|
||||||
|
{
|
||||||
|
{ GO_KAEL_DOOR_1, DATA_KAELTHAS, DOOR_TYPE_ROOM },
|
||||||
|
{ GO_KAEL_DOOR_2, DATA_KAELTHAS, DOOR_TYPE_ROOM },
|
||||||
|
{ 0, 0, DOOR_TYPE_ROOM }
|
||||||
|
};
|
||||||
|
|
||||||
|
BossBoundaryData const boundaries =
|
||||||
|
{
|
||||||
|
{ DATA_REAVER, new CircleBoundary(Position(432.741809f, 371.859589f), 105.052554f) },
|
||||||
|
{ DATA_ALAR, new CircleBoundary(Position(331.000000f, -2.38000000f), 108.29246f) },
|
||||||
|
{ DATA_ASTROMANCER, new CircleBoundary(Position(432.869202f, -374.213806f), 103.74374f) }
|
||||||
};
|
};
|
||||||
|
|
||||||
class instance_the_eye : public InstanceMapScript
|
class instance_the_eye : public InstanceMapScript
|
||||||
@@ -46,8 +60,10 @@ public:
|
|||||||
instance_the_eye_InstanceMapScript(Map* map) : InstanceScript(map)
|
instance_the_eye_InstanceMapScript(Map* map) : InstanceScript(map)
|
||||||
{
|
{
|
||||||
SetHeaders(DataHeader);
|
SetHeaders(DataHeader);
|
||||||
LoadObjectData(creatureData, gameObjectData);
|
|
||||||
SetBossNumber(MAX_ENCOUNTER);
|
SetBossNumber(MAX_ENCOUNTER);
|
||||||
|
LoadObjectData(creatureData, gameObjectData);
|
||||||
|
LoadDoorData(doorData);
|
||||||
|
LoadBossBoundaries(boundaries);
|
||||||
}
|
}
|
||||||
|
|
||||||
ObjectGuid ThaladredTheDarkenerGUID;
|
ObjectGuid ThaladredTheDarkenerGUID;
|
||||||
@@ -100,6 +116,7 @@ public:
|
|||||||
KaelStateLeftGUID = gobject->GetGUID();
|
KaelStateLeftGUID = gobject->GetGUID();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
InstanceScript::OnGameObjectCreate(gobject);
|
||||||
}
|
}
|
||||||
|
|
||||||
ObjectGuid GetGuidData(uint32 identifier) const override
|
ObjectGuid GetGuidData(uint32 identifier) const override
|
||||||
|
|||||||
@@ -39,7 +39,10 @@ enum EyeData
|
|||||||
DATA_THALADRED = 10,
|
DATA_THALADRED = 10,
|
||||||
DATA_LORD_SANGUINAR = 11,
|
DATA_LORD_SANGUINAR = 11,
|
||||||
DATA_CAPERNIAN = 12,
|
DATA_CAPERNIAN = 12,
|
||||||
DATA_TELONICUS = 13
|
DATA_TELONICUS = 13,
|
||||||
|
|
||||||
|
DATA_KAEL_DOOR_1 = 14,
|
||||||
|
DATA_KAEL_DOOR_2 = 15
|
||||||
};
|
};
|
||||||
|
|
||||||
enum EyeNPCs
|
enum EyeNPCs
|
||||||
@@ -56,7 +59,9 @@ enum EyeGOs
|
|||||||
{
|
{
|
||||||
GO_BRIDGE_WINDOW = 184069,
|
GO_BRIDGE_WINDOW = 184069,
|
||||||
GO_KAEL_STATUE_RIGHT = 184596,
|
GO_KAEL_STATUE_RIGHT = 184596,
|
||||||
GO_KAEL_STATUE_LEFT = 184597
|
GO_KAEL_STATUE_LEFT = 184597,
|
||||||
|
GO_KAEL_DOOR_1 = 184324,
|
||||||
|
GO_KAEL_DOOR_2 = 184325
|
||||||
};
|
};
|
||||||
|
|
||||||
template <class AI, class T>
|
template <class AI, class T>
|
||||||
|
|||||||
Reference in New Issue
Block a user