Core/Spells: Set UNIT_FIELD_TARGET to current spell cast target for proper facing the target
This commit is contained in:
@@ -204,7 +204,7 @@ public:
|
||||
uiOutroTimer = 8000;
|
||||
break;
|
||||
case 2:
|
||||
me->SetUInt64Value(UNIT_FIELD_TARGET, pInstance ? pInstance->GetData64(DATA_ARTHAS) : 0);
|
||||
me->SetTarget(pInstance ? pInstance->GetData64(DATA_ARTHAS) : 0);
|
||||
me->HandleEmoteCommand(29);
|
||||
DoScriptText(SAY_ESCAPE_SPEECH_2, me);
|
||||
++uiOutroStep;
|
||||
|
||||
+27
-27
@@ -488,9 +488,9 @@ public:
|
||||
if (Unit* pDisguised2 = me->SummonCreature(NPC_CITY_MAN, 2400.82f, 1201.69f, 134.01f, 1.534082f, TEMPSUMMON_DEAD_DESPAWN, 180000))
|
||||
{
|
||||
uiInfiniteDraconianGUID[2] = pDisguised2->GetGUID();
|
||||
pDisguised0->SetUInt64Value(UNIT_FIELD_TARGET, uiInfiniteDraconianGUID[1]);
|
||||
pDisguised1->SetUInt64Value(UNIT_FIELD_TARGET, uiInfiniteDraconianGUID[0]);
|
||||
pDisguised2->SetUInt64Value(UNIT_FIELD_TARGET, uiInfiniteDraconianGUID[1]);
|
||||
pDisguised0->SetTarget(uiInfiniteDraconianGUID[1]);
|
||||
pDisguised1->SetTarget(uiInfiniteDraconianGUID[0]);
|
||||
pDisguised2->SetTarget(uiInfiniteDraconianGUID[1]);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -594,8 +594,8 @@ public:
|
||||
uiUtherGUID = pUther->GetGUID();
|
||||
pUther->RemoveUnitMovementFlag(MOVEMENTFLAG_WALKING);
|
||||
pUther->GetMotionMaster()->MovePoint(0, 1897.018f, 1287.487f, 143.481f);
|
||||
pUther->SetUInt64Value(UNIT_FIELD_TARGET, me->GetGUID());
|
||||
me->SetUInt64Value(UNIT_FIELD_TARGET, uiUtherGUID);
|
||||
pUther->SetTarget(me->GetGUID());
|
||||
me->SetTarget(uiUtherGUID);
|
||||
}
|
||||
JumpToNextStep(17000);
|
||||
break;
|
||||
@@ -620,7 +620,7 @@ public:
|
||||
//After waypoint 1
|
||||
case 5:
|
||||
if (Creature* pJaina = Unit::GetCreature(*me, uiJainaGUID))
|
||||
pJaina->SetUInt64Value(UNIT_FIELD_TARGET, me->GetGUID());
|
||||
pJaina->SetTarget(me->GetGUID());
|
||||
DoScriptText(SAY_PHASE104, me);
|
||||
JumpToNextStep(10000);
|
||||
break;
|
||||
@@ -685,7 +685,7 @@ public:
|
||||
case 18:
|
||||
if (Creature* pJaina = Unit::GetCreature(*me, uiJainaGUID))
|
||||
{
|
||||
me->SetUInt64Value(UNIT_FIELD_TARGET, uiJainaGUID);
|
||||
me->SetTarget(uiJainaGUID);
|
||||
pJaina->AddUnitMovementFlag(MOVEMENTFLAG_WALKING);
|
||||
pJaina->GetMotionMaster()->MovePoint(0, 1794.357f, 1272.183f, 140.558f);
|
||||
}
|
||||
@@ -703,13 +703,13 @@ public:
|
||||
case 21:
|
||||
SetEscortPaused(false);
|
||||
bStepping = false;
|
||||
me->SetUInt64Value(UNIT_FIELD_TARGET, 0);
|
||||
me->SetTarget(0);
|
||||
JumpToNextStep(0);
|
||||
break;
|
||||
//After waypoint 3
|
||||
case 22:
|
||||
DoScriptText(SAY_PHASE118, me);
|
||||
me->SetUInt64Value(UNIT_FIELD_TARGET, uiJainaGUID);
|
||||
me->SetTarget(uiJainaGUID);
|
||||
JumpToNextStep(10000);
|
||||
break;
|
||||
case 23:
|
||||
@@ -723,7 +723,7 @@ public:
|
||||
if (Creature* pUther = Unit::GetCreature(*me, uiUtherGUID))
|
||||
pUther->DisappearAndDie();
|
||||
|
||||
me->SetUInt64Value(UNIT_FIELD_TARGET, 0);
|
||||
me->SetTarget(0);
|
||||
JumpToNextStep(0);
|
||||
break;
|
||||
//After Gossip 1 (waypoint 8)
|
||||
@@ -731,7 +731,7 @@ public:
|
||||
if (Unit* pStalker = me->SummonCreature(NPC_INVIS_TARGET, 2026.469f, 1287.088f, 143.596f, 1.37f, TEMPSUMMON_TIMED_DESPAWN, 14000))
|
||||
{
|
||||
uiStalkerGUID = pStalker->GetGUID();
|
||||
me->SetUInt64Value(UNIT_FIELD_TARGET, uiStalkerGUID);
|
||||
me->SetTarget(uiStalkerGUID);
|
||||
}
|
||||
JumpToNextStep(1000);
|
||||
break;
|
||||
@@ -743,15 +743,15 @@ public:
|
||||
SetEscortPaused(false);
|
||||
bStepping = false;
|
||||
SetRun(false);
|
||||
me->SetUInt64Value(UNIT_FIELD_TARGET, 0);
|
||||
me->SetTarget(0);
|
||||
JumpToNextStep(0);
|
||||
break;
|
||||
//After waypoint 9
|
||||
case 27:
|
||||
me->SetUInt64Value(UNIT_FIELD_TARGET, uiCitymenGUID[0]);
|
||||
me->SetTarget(uiCitymenGUID[0]);
|
||||
if (Creature* pCityman = Unit::GetCreature(*me, uiCitymenGUID[0]))
|
||||
{
|
||||
pCityman->SetUInt64Value(UNIT_FIELD_TARGET, me->GetGUID());
|
||||
pCityman->SetTarget(me->GetGUID());
|
||||
pCityman->AddUnitMovementFlag(MOVEMENTFLAG_WALKING);
|
||||
pCityman->GetMotionMaster()->MovePoint(0, 2088.625f, 1279.191f, 140.743f);
|
||||
}
|
||||
@@ -779,10 +779,10 @@ public:
|
||||
if (Creature* pCityman1 = Unit::GetCreature(*me, uiCitymenGUID[1]))
|
||||
{
|
||||
DoScriptText(SAY_PHASE204, pCityman1);
|
||||
pCityman1->SetUInt64Value(UNIT_FIELD_TARGET, me->GetGUID());
|
||||
pCityman1->SetTarget(me->GetGUID());
|
||||
if (Creature* pCityman0 = Unit::GetCreature(*me, uiCitymenGUID[0]))
|
||||
pCityman0->Kill(pCityman0);
|
||||
me->SetUInt64Value(UNIT_FIELD_TARGET, uiCitymenGUID[1]);
|
||||
me->SetTarget(uiCitymenGUID[1]);
|
||||
}
|
||||
JumpToNextStep(0);
|
||||
break;
|
||||
@@ -800,7 +800,7 @@ public:
|
||||
if (Unit* pStalker = me->SummonCreature(NPC_INVIS_TARGET, 2081.447f, 1287.770f, 141.3241f, 1.37f, TEMPSUMMON_TIMED_DESPAWN, 10000))
|
||||
{
|
||||
uiStalkerGUID = pStalker->GetGUID();
|
||||
me->SetUInt64Value(UNIT_FIELD_TARGET, uiStalkerGUID);
|
||||
me->SetTarget(uiStalkerGUID);
|
||||
}
|
||||
DoScriptText(SAY_PHASE205, me);
|
||||
JumpToNextStep(3000);
|
||||
@@ -809,7 +809,7 @@ public:
|
||||
if (Unit* pStalkerM = me->SummonCreature(NPC_INVIS_TARGET, 2117.349f, 1288.624f, 136.271f, 1.37f, TEMPSUMMON_TIMED_DESPAWN, 60000))
|
||||
{
|
||||
uiStalkerGUID = pStalkerM->GetGUID();
|
||||
me->SetUInt64Value(UNIT_FIELD_TARGET, uiStalkerGUID);
|
||||
me->SetTarget(uiStalkerGUID);
|
||||
}
|
||||
JumpToNextStep(1000);
|
||||
break;
|
||||
@@ -821,7 +821,7 @@ public:
|
||||
|
||||
uiMalganisGUID = pMalganis->GetGUID();
|
||||
DoScriptText(SAY_PHASE206, pMalganis);
|
||||
pMalganis->SetUInt64Value(UNIT_FIELD_TARGET, me->GetGUID());
|
||||
pMalganis->SetTarget(me->GetGUID());
|
||||
pMalganis->SetReactState(REACT_PASSIVE);
|
||||
}
|
||||
JumpToNextStep(11000);
|
||||
@@ -855,7 +855,7 @@ public:
|
||||
if (Unit* pStalker = me->SummonCreature(NPC_INVIS_TARGET, 2081.447f, 1287.770f, 141.3241f, 1.37f, TEMPSUMMON_TIMED_DESPAWN, 10000))
|
||||
{
|
||||
uiStalkerGUID = pStalker->GetGUID();
|
||||
me->SetUInt64Value(UNIT_FIELD_TARGET, uiStalkerGUID);
|
||||
me->SetTarget(uiStalkerGUID);
|
||||
}
|
||||
DoScriptText(SAY_PHASE209, me);
|
||||
|
||||
@@ -957,11 +957,11 @@ public:
|
||||
case 61:
|
||||
me->SetReactState(REACT_AGGRESSIVE);
|
||||
if (Creature* pDisguised0 = Unit::GetCreature(*me, uiInfiniteDraconianGUID[0]))
|
||||
pDisguised0->SetUInt64Value(UNIT_FIELD_TARGET, me->GetGUID());
|
||||
pDisguised0->SetTarget(me->GetGUID());
|
||||
if (Creature* pDisguised1 = Unit::GetCreature(*me, uiInfiniteDraconianGUID[1]))
|
||||
pDisguised1->SetUInt64Value(UNIT_FIELD_TARGET, me->GetGUID());
|
||||
pDisguised1->SetTarget(me->GetGUID());
|
||||
if (Creature* pDisguised2 = Unit::GetCreature(*me, uiInfiniteDraconianGUID[2]))
|
||||
pDisguised2->SetUInt64Value(UNIT_FIELD_TARGET, me->GetGUID());
|
||||
pDisguised2->SetTarget(me->GetGUID());
|
||||
JumpToNextStep(1000);
|
||||
break;
|
||||
case 62:
|
||||
@@ -1074,7 +1074,7 @@ public:
|
||||
SpawnTimeRift(17, &uiEpochGUID);
|
||||
if (Creature* pEpoch = Unit::GetCreature(*me, uiEpochGUID))
|
||||
DoScriptText(SAY_PHASE314, pEpoch);
|
||||
me->SetUInt64Value(UNIT_FIELD_TARGET, uiEpochGUID);
|
||||
me->SetTarget(uiEpochGUID);
|
||||
}
|
||||
JumpToNextStep(18000);
|
||||
break;
|
||||
@@ -1141,7 +1141,7 @@ public:
|
||||
case 86:
|
||||
DoScriptText(SAY_PHASE502, me);
|
||||
JumpToNextStep(6000);
|
||||
me->SetUInt64Value(UNIT_FIELD_TARGET, uiMalganisGUID);
|
||||
me->SetTarget(uiMalganisGUID);
|
||||
break;
|
||||
case 87:
|
||||
if (Creature* pMalganis = Unit::GetCreature(*me, uiMalganisGUID))
|
||||
@@ -1168,7 +1168,7 @@ public:
|
||||
//After waypoint 56
|
||||
case 89:
|
||||
SetRun(true);
|
||||
me->SetUInt64Value(UNIT_FIELD_TARGET, uiMalganisGUID);
|
||||
me->SetTarget(uiMalganisGUID);
|
||||
DoScriptText(SAY_PHASE503, me);
|
||||
JumpToNextStep(7000);
|
||||
break;
|
||||
@@ -1176,7 +1176,7 @@ public:
|
||||
if (pInstance)
|
||||
{
|
||||
pInstance->SetData(DATA_ARTHAS_EVENT, DONE); //Rewards: Achiev & Chest ;D
|
||||
me->SetUInt64Value(UNIT_FIELD_TARGET, pInstance->GetData64(DATA_MAL_GANIS_GATE_2)); //Look behind
|
||||
me->SetTarget(pInstance->GetData64(DATA_MAL_GANIS_GATE_2)); //Look behind
|
||||
}
|
||||
DoScriptText(SAY_PHASE504, me);
|
||||
bStepping = false;
|
||||
|
||||
@@ -290,7 +290,7 @@ public:
|
||||
DoCast(target, SPELL_GREEN_BEAM);
|
||||
|
||||
//Correctly update our target
|
||||
me->SetUInt64Value(UNIT_FIELD_TARGET, target->GetGUID());
|
||||
me->SetTarget(target->GetGUID());
|
||||
}
|
||||
|
||||
//Beam every 3 seconds
|
||||
@@ -325,7 +325,7 @@ public:
|
||||
me->SetReactState(REACT_PASSIVE);
|
||||
|
||||
//Remove any target
|
||||
me->SetUInt64Value(UNIT_FIELD_TARGET, 0);
|
||||
me->SetTarget(0);
|
||||
|
||||
//Select random target for dark beam to start on
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
|
||||
@@ -402,7 +402,7 @@ public:
|
||||
//Transition phase
|
||||
case PHASE_CTHUN_TRANSITION:
|
||||
//Remove any target
|
||||
me->SetUInt64Value(UNIT_FIELD_TARGET, 0);
|
||||
me->SetTarget(0);
|
||||
me->SetHealth(0);
|
||||
me->SetVisible(false);
|
||||
break;
|
||||
@@ -442,7 +442,7 @@ public:
|
||||
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE | UNIT_FLAG_NON_ATTACKABLE);
|
||||
|
||||
//Remove Target field
|
||||
me->SetUInt64Value(UNIT_FIELD_TARGET, 0);
|
||||
me->SetTarget(0);
|
||||
|
||||
//Death animation/respawning;
|
||||
pInst->SetData(DATA_CTHUN_PHASE, PHASE_CTHUN_TRANSITION);
|
||||
@@ -628,7 +628,7 @@ public:
|
||||
return;
|
||||
}
|
||||
|
||||
me->SetUInt64Value(UNIT_FIELD_TARGET, 0);
|
||||
me->SetTarget(0);
|
||||
|
||||
//No instance
|
||||
if (!pInst)
|
||||
@@ -706,7 +706,7 @@ public:
|
||||
//Body Phase
|
||||
case PHASE_CTHUN_STOMACH:
|
||||
//Remove Target field
|
||||
me->SetUInt64Value(UNIT_FIELD_TARGET, 0);
|
||||
me->SetTarget(0);
|
||||
|
||||
//Weaken
|
||||
if (FleshTentaclesKilled > 1)
|
||||
|
||||
@@ -544,11 +544,11 @@ public:
|
||||
DoScriptText(ANACHRONOS_SAY_1, me , Fandral);
|
||||
break;
|
||||
case 1:
|
||||
Fandral->SetUInt64Value(UNIT_FIELD_TARGET, me->GetGUID());
|
||||
Fandral->SetTarget(me->GetGUID());
|
||||
DoScriptText(FANDRAL_SAY_1, Fandral, me);
|
||||
break;
|
||||
case 2:
|
||||
Fandral->SetUInt64Value(UNIT_FIELD_TARGET, 0);
|
||||
Fandral->SetTarget(0);
|
||||
DoScriptText(MERITHRA_EMOTE_1, Merithra);
|
||||
break;
|
||||
case 3:
|
||||
@@ -558,14 +558,14 @@ public:
|
||||
DoScriptText(ARYGOS_EMOTE_1, Arygos);
|
||||
break;
|
||||
case 5:
|
||||
Caelestrasz->SetUInt64Value(UNIT_FIELD_TARGET, Fandral->GetGUID());
|
||||
Caelestrasz->SetTarget(Fandral->GetGUID());
|
||||
DoScriptText(CAELESTRASZ_SAY_1, Caelestrasz);
|
||||
break;
|
||||
case 6:
|
||||
DoScriptText(MERITHRA_SAY_2, Merithra);
|
||||
break;
|
||||
case 7:
|
||||
Caelestrasz->SetUInt64Value(UNIT_FIELD_TARGET, 0);
|
||||
Caelestrasz->SetTarget(0);
|
||||
Merithra->GetMotionMaster()->MoveCharge(-8065, 1530, 2.61f, 10);
|
||||
break;
|
||||
case 8:
|
||||
|
||||
Reference in New Issue
Block a user