@@ -77,11 +77,6 @@ struct MANGOS_DLL_DECL npc_daphne_stilwellAI : public npc_escortAI
7777
7878 void WaypointReached (uint32 uiPoint)
7979 {
80- Unit* pUnit = Unit::GetUnit (*m_creature, PlayerGUID);
81-
82- if (!pUnit || pUnit->GetTypeId () != TYPEID_PLAYER )
83- return ;
84-
8580 m_uiWPHolder = uiPoint;
8681
8782 switch (uiPoint)
@@ -123,7 +118,8 @@ struct MANGOS_DLL_DECL npc_daphne_stilwellAI : public npc_escortAI
123118 m_creature->HandleEmoteCommand (EMOTE_STATE_USESTANDING_NOSHEATHE );
124119 break ;
125120 case 17 :
126- ((Player*)pUnit)->GroupEventHappens (QUEST_TOME_VALOR , m_creature);
121+ if (Player* pPlayer = GetPlayerForEscort ())
122+ pPlayer->GroupEventHappens (QUEST_TOME_VALOR , m_creature);
127123 break ;
128124 }
129125 }
@@ -148,10 +144,8 @@ struct MANGOS_DLL_DECL npc_daphne_stilwellAI : public npc_escortAI
148144 pSummoned->AI ()->AttackStart (m_creature);
149145 }
150146
151- void UpdateAI (const uint32 uiDiff)
147+ void UpdateEscortAI (const uint32 uiDiff)
152148 {
153- npc_escortAI::UpdateAI (uiDiff);
154-
155149 if (!m_creature->SelectHostilTarget () || !m_creature->getVictim ())
156150 return ;
157151
@@ -162,7 +156,11 @@ struct MANGOS_DLL_DECL npc_daphne_stilwellAI : public npc_escortAI
162156 if (!m_creature->IsWithinDist (m_creature->getVictim (), ATTACK_DISTANCE ))
163157 DoCast (m_creature->getVictim (), SPELL_SHOOT );
164158
165- }else m_uiShootTimer -= uiDiff;
159+ }
160+ else
161+ m_uiShootTimer -= uiDiff;
162+
163+ DoMeleeAttackIfReady ();
166164 }
167165};
168166
@@ -202,22 +200,21 @@ struct MANGOS_DLL_DECL npc_defias_traitorAI : public npc_escortAI
202200
203201 void WaypointReached (uint32 i)
204202 {
205- Unit* pPlayer = Unit::GetUnit ((*m_creature), PlayerGUID);
206-
207- if (!pPlayer || pPlayer->GetTypeId () != TYPEID_PLAYER )
208- return ;
209-
210203 switch (i)
211204 {
212205 case 35 :
213206 SetRun (false );
214207 break ;
215208 case 36 :
216- DoScriptText (SAY_PROGRESS , m_creature, pPlayer);
209+ if (Player* pPlayer = GetPlayerForEscort ())
210+ DoScriptText (SAY_PROGRESS , m_creature, pPlayer);
217211 break ;
218212 case 44 :
219- DoScriptText (SAY_END , m_creature, pPlayer);
220- ((Player*)pPlayer)->GroupEventHappens (QUEST_DEFIAS_BROTHERHOOD ,m_creature);
213+ if (Player* pPlayer = GetPlayerForEscort ())
214+ {
215+ DoScriptText (SAY_END , m_creature, pPlayer);
216+ pPlayer->GroupEventHappens (QUEST_DEFIAS_BROTHERHOOD , m_creature);
217+ }
221218 break ;
222219 }
223220 }
0 commit comments