mirror of
https://github.com/araxiaonline/TrinityCore.git
synced 2026-06-15 12:42:43 -04:00
Core/SmartScripts: SMART_ACTION_TALK - added action param 3 to set target as talk target (used for $vars in texts and whisper target)
* by default (action param 3 is 0), it will try to trigger talk of the target
(cherry picked from commit 7b491046e9)
This commit is contained in:
@@ -123,13 +123,18 @@ void SmartScript::ProcessAction(SmartScriptHolder& e, Unit* unit, uint32 var0, u
|
||||
ObjectList* targets = GetTargets(e, unit);
|
||||
Creature* talker = me;
|
||||
Player* targetPlayer = NULL;
|
||||
Unit* talkTarget = NULL;
|
||||
|
||||
if (targets)
|
||||
{
|
||||
for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
|
||||
{
|
||||
if (IsCreature(*itr) && !(*itr)->ToCreature()->IsPet()) // Prevented sending text to pets.
|
||||
{
|
||||
talker = (*itr)->ToCreature();
|
||||
if (e.action.talk.useTalkTarget)
|
||||
talkTarget = (*itr)->ToCreature();
|
||||
else
|
||||
talker = (*itr)->ToCreature();
|
||||
break;
|
||||
}
|
||||
else if (IsPlayer(*itr))
|
||||
@@ -148,7 +153,7 @@ void SmartScript::ProcessAction(SmartScriptHolder& e, Unit* unit, uint32 var0, u
|
||||
mTalkerEntry = talker->GetEntry();
|
||||
mLastTextID = e.action.talk.textGroupID;
|
||||
mTextTimer = e.action.talk.duration;
|
||||
Unit* talkTarget = NULL;
|
||||
|
||||
if (IsPlayer(GetLastInvoker())) // used for $vars in texts and whisper target
|
||||
talkTarget = GetLastInvoker();
|
||||
else if (targetPlayer)
|
||||
|
||||
Reference in New Issue
Block a user