mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-18 08:28:32 +01:00
Scripts/ScarletEnclave: fix Massacre at Light's Point mine cart escort to work again (tag #20310)
This commit is contained in:
@@ -1056,11 +1056,6 @@ class npc_scarlet_miner_cart : public CreatureScript
|
||||
if (Creature* miner = ObjectAccessor::GetCreature(*me, _minerGUID))
|
||||
{
|
||||
me->SetWalk(false);
|
||||
|
||||
// Not 100% correct, but movement is smooth. Sometimes miner walks faster
|
||||
// than normal, this speed is fast enough to keep up at those times.
|
||||
me->SetSpeedRate(MOVE_RUN, 1.25f);
|
||||
|
||||
me->GetMotionMaster()->MoveFollow(miner, 1.0f, 0);
|
||||
}
|
||||
}
|
||||
@@ -1110,25 +1105,21 @@ class npc_scarlet_miner : public CreatureScript
|
||||
{
|
||||
npc_scarlet_minerAI(Creature* creature) : EscortAI(creature)
|
||||
{
|
||||
Initialize();
|
||||
me->SetReactState(REACT_PASSIVE);
|
||||
}
|
||||
|
||||
void Initialize()
|
||||
void InitializeAI() override
|
||||
{
|
||||
carGUID.Clear();
|
||||
IntroTimer = 0;
|
||||
IntroPhase = 0;
|
||||
carGUID.Clear();
|
||||
playerGUID.Clear();
|
||||
}
|
||||
|
||||
uint32 IntroTimer;
|
||||
uint32 IntroPhase;
|
||||
ObjectGuid carGUID;
|
||||
|
||||
void Reset() override
|
||||
{
|
||||
Initialize();
|
||||
}
|
||||
ObjectGuid playerGUID;
|
||||
|
||||
void IsSummonedBy(Unit* summoner) override
|
||||
{
|
||||
@@ -1170,9 +1161,12 @@ class npc_scarlet_miner : public CreatureScript
|
||||
|
||||
void SetGUID(ObjectGuid const& guid, int32 /*id*/) override
|
||||
{
|
||||
InitWaypoint();
|
||||
Start(false, false, guid);
|
||||
SetDespawnAtFar(false);
|
||||
playerGUID = guid;
|
||||
}
|
||||
|
||||
void Reset() override
|
||||
{
|
||||
EscortAI::Reset();
|
||||
}
|
||||
|
||||
void WaypointReached(uint32 waypointId, uint32 /*pathId*/) override
|
||||
@@ -1200,6 +1194,16 @@ class npc_scarlet_miner : public CreatureScript
|
||||
}
|
||||
}
|
||||
|
||||
void JustAppeared() override
|
||||
{
|
||||
EscortAI::JustAppeared();
|
||||
if (!playerGUID)
|
||||
return;
|
||||
InitWaypoint();
|
||||
Start(false, false, playerGUID);
|
||||
SetDespawnAtFar(false);
|
||||
}
|
||||
|
||||
void UpdateAI(uint32 diff) override
|
||||
{
|
||||
if (IntroPhase)
|
||||
|
||||
Reference in New Issue
Block a user